giuliano108 / guix-packages Goto Github PK
View Code? Open in Web Editor NEWGuix on WSL2, packages and notes
License: GNU General Public License v3.0
Guix on WSL2, packages and notes
License: GNU General Public License v3.0
I believe there's TLS issues with pulling for the current 1.2.0 release. I got "SSL certificate is invalid" error.
Workaround:
guix pull --url=http://git.savannah.gnu.org/git/guix.git
I still get the following error:
[ 1116.513850] EXT4-fs (sdc): mounted filesystem with ordered data mode. Opts: discard,errors=remount-ro,data=ordered [ 1116.540224] init: (1) ERROR: ConfigApplyWindowsLibPath:2129: open /etc/ld.so.conf.d/ld.wsl.conf [ 1116.540230] failed 2 [ 1116.541592] init: (1) ERROR: ConfigUpdateInformation:2727: creat /etc/hostname failed: 2 [ 1116.541602] init: (1) ERROR: ConfigUpdateInformation:2761: creat /etc/hosts failed 2 [ 1116.541985] init: (2) ERROR: UtilCreateProcessAndWait:486: /bin/mount failed with 2 [ 1116.542261] init: (1) ERROR: UtilCreateProcessAndWait:501: /bin/mount failed with status 0x [ 1116.542267] ff00 [ 1116.542282] init: (1) ERROR: ConfigMountFsTab:2184: Processing fstab with mount -a failed. [ 1116.544699] init: (3) ERROR: UtilCreateProcessAndWait:486: /bin/mount failed with 2
Hello, I'm using your directions to run GuixSD on WSL2, and pretty much everything is working very well; thanks for publishing your guide!
However, I tried integrating some pieces from your wsl-config-docker.scm as an example for getting docker to work, and got the following error:
error: (shepherd-service-type (quote dummy-networking) (const (shepherd-service (documentation "Provide loopback and networking without actually doing anything.") (provision (quote (loopback networking))) (start (gexp (const #t))))) #f): source expression failed to match any pattern
I presume the error has to do with this section here (copied from mine):
(define dummy-networking-service-type
(shepherd-service-type
'dummy-networking
(const (shepherd-service
(documentation "Provide loopback and networking without actually doing anything.")
(provision '(loopback networking))
(start #~(const #t))))
#f))
It's pretty much at the beginning of the file and looks the same as yours, so I'm not sure what the problem is.
My preamble is:
(use-modules
(gnu)
(gnu services)
(gnu system linux-container)
(gnu services shepherd)
(guix profiles)
(guix packages)
(srfi srfi-1))
(use-service-modules base networking ssh desktop xorg dbus docker)
(use-package-modules emacs shells xorg fonts certs ssh bash base linux)
And I only have one other define before that one (for listing a bunch of fonts), which has worked before.
Any ideas?
I have docker desktop for windows installed, and when I pass the wsl-config.scm at the step "guix system reconfigure", in the "following derivatives will be built", only files with -docker- were built and it ended with an error message:
building /gnu/store/c5q0l6h3pdl66fiyk72g2iss4hzly5qk-docker-20.10.17-checkout.drv...
building /gnu/store/qsvik5k6y267gb1p05qx86zxq47rk9lh-docker-20.10.17.drv...
- 'check' phasebuilder for `/gnu/store/qsvik5k6y267gb1p05qx86zxq47rk9lh-docker-20.10.17.drv' failed with exit code 1
build of /gnu/store/qsvik5k6y267gb1p05qx86zxq47rk9lh-docker-20.10.17.drv failed
View build log at '/var/log/guix/drvs/qs/vik5k6y267gb1p05qx86zxq47rk9lh-docker-20.10.17.drv.bz2'.
guix system: error: build of `/gnu/store/qsvik5k6y267gb1p05qx86zxq47rk9lh-docker-20.10.17.drv' failed
Also, it starts with some warnings:
$> guix system reconfigure --no-bootloader wsl-config.scm
accepted connection from pid 319, user root
guix system: warning: cannot determine provenance for current system
spurious SIGPOLL
spurious SIGPOLL
spurious SIGPOLL
spurious SIGPOLL
spurious SIGPOLL
spurious SIGPOLL
spurious SIGPOLL
spurious SIGPOLL
spurious SIGPOLL
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
/gnu/store/qsvik5k6y267gb1p05qx86zxq47rk9lh-docker-20.10.17.drv
/gnu/store/c5q0l6h3pdl66fiyk72g2iss4hzly5qk-docker-20.10.17-checkout.drv
...
Hi,
I found your notes/Guix-on-WSL2.md very interesting. Have you considered doing without busybox and using a Guix-generated disk image directly as the root file system?
If that works I'd be happy to see this added to the Guix Cookbook.
Thanks for your Guix-on-WSL2.md!
I found a much easier way to start a environment ready for bootstrap Guix. Use the Alpine Image provided in Microsoft Store.
It's very small (about 2 MiB) and provide anything needed for bootstrap. I think this is much simpler than using Busybox rootfs and do the rest job manually.
Quoting from Guix-on-WSL2.md:
Can only run one "wsl -d guix" terminal at a time
I don't know why but, after
shepherd
is started with the recipe above, you can't open another "terminal" (I mean: opencmd.exe
, runwsl -d guix --exec /busybox sh
. Thewsl
command returns immediately back to prompt.dmesg
contains:[ 3541.851862] init: (48) ERROR: CreateProcessEntryCommon:600: initgroups failed 29 [ 3541.851865] init: (48) ERROR: CreateProcessEntryCommon:645: Create process not expected to return
$ sudo guix system delete-generations --no-bootloader
accepted connection from pid 947, user root
deleting /var/guix/profiles/system-1-link
guix system: error: dummybootloader: no such bootloader
Great guide! Got a working system for the most part, but have a speed bump related to WSL2 and corporate firewall settings that require me to downgrade to WSL1. Unable to convert because I hit a hard-link bug in WSL, and I'm unable to remove those packages because of this issue.
I've got pretty far in the steps, but got stuck on this error:
/etc # guix system reconfigure --no-bootloader ./wsl-config.scm
ice-9/eval.scm:223:20: In procedure proc:
error: <profile>: unbound variable
hint: Did you forget a `use-modules' form?
Any pointers would be appreciated.
I am trying this with guix 1.3.0 and get this error when executing the guix system reconfigure step:
~ # guix system reconfigure --no-bootloader wsl-config.scm
guix system: error: failed to load 'wsl-config.scm':
/root/wsl-config.scm:90:70: In procedure profile-content: Wrong type argument: #<<scheme-file> name: "parameters" gexp: #<gexp gnu/system.scm:1434:18 7f324b8c40c0> splice?: #f load-path?: #f>
~ #
Any help would be appreciated... everything before that worked out like a charm.
Thx, Stefan
Hi, could you please fix it?
The error message is:
building /gnu/store/y2ggg8678fw69wrz3jvq5hy185i3n5kn-giuliano108-guix-packages.drv...
\builder for `/gnu/store/y2ggg8678fw69wrz3jvq5hy185i3n5kn-giuliano108-guix-packages.drv' failed to produce output path `/gnu/store/bz4lqnsi4vsyb0pc6v0v16l826bx5vn0-giuliano108-guix-packages'
build of /gnu/store/y2ggg8678fw69wrz3jvq5hy185i3n5kn-giuliano108-guix-packages.drv failed
View build log at '/var/log/guix/drvs/y2/ggg8678fw69wrz3jvq5hy185i3n5kn-giuliano108-guix-packages.drv.bz2'.
cannot build derivation `/gnu/store/0jy3im4i9lkcjj2rqp48z9skb7w6wm66-profile.drv': 1 dependencies couldn't be built
guix pull: error: build of `/gnu/store/0jy3im4i9lkcjj2rqp48z9skb7w6wm66-profile.drv' failed
And the guix-packages.drv.bz2
file contains:
(repl-version 0 1 1)
(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (rust-1.39)) (value #f))
# guix system reconfigure --no-bootloader wsl-config.scm
/root/wsl-config.scm:39:0: error: glibc-2.31: unbound variable
hint: Did you forget a `use-modules' form?
I removed glibc-2.31
and it started
thanks for making babasha available on guix.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.