Re: Installing the system from another distro
Alex Kost skribis: > Ludovic Courtès (2014-11-27 01:06 +0300) wrote: > >> Alex Kost skribis: > > [...] > >>> Thanks for the pointers! You helped to figure it out. And the system >>> is awesome!! The only big issue I've noticed so far is: the screen >>> resolution was 800x600 for me and xrandr didn't give any other option. >>> "/var/log/Xorg.0.log" told me that the module for my videocard ("sis") >>> wasn't loaded. I looked at (gnu services xorg) and found that not all >>> available "xf86-video-…" modules are placed at "xserver.conf". Is there >>> a reason for that? >> >> No reason! Please do add it. > > I checked that adding xf86-video-sis fixes the resolution problem. But > did you mean to add just xf86-video-sis (a trivial patch for this is > attached) or all modules? In theory we could add all of them by default, but ISTR that some of them didn’t build, or are only useful for VM guests. > I see that you added a commented line for xf86-video-modesetting, so I > assume that adding all available modules may introduce unexpected > issues. xf86-video-modesetting is not currently usable due to a libdrm version mismatch, as I just wrote to Federico. > From 35119792b81cc7f0fbb68f096df2bd6f6727eaeb Mon Sep 17 00:00:00 2001 > From: Alex Kost > Date: Fri, 28 Nov 2014 23:49:58 +0300 > Subject: [PATCH] services: xorg: Add 'xf86-video-sis'. > > * gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add > ModulePath for 'xf86-video-sis'. Please push. Thanks! Ludo’.
Re: Installing the system from another distro
Ludovic Courtès (2014-11-27 01:06 +0300) wrote: > Alex Kost skribis: [...] >> Thanks for the pointers! You helped to figure it out. And the system >> is awesome!! The only big issue I've noticed so far is: the screen >> resolution was 800x600 for me and xrandr didn't give any other option. >> "/var/log/Xorg.0.log" told me that the module for my videocard ("sis") >> wasn't loaded. I looked at (gnu services xorg) and found that not all >> available "xf86-video-…" modules are placed at "xserver.conf". Is there >> a reason for that? > > No reason! Please do add it. I checked that adding xf86-video-sis fixes the resolution problem. But did you mean to add just xf86-video-sis (a trivial patch for this is attached) or all modules? I see that you added a commented line for xf86-video-modesetting, so I assume that adding all available modules may introduce unexpected issues. >> Hm, perhaps I just need to install "xf86-video-sis" package (I should >> have tried it before asking). > > X would not find it; it really needed to be listed in the search path in > xorg.conf. > >> Also I have a question. I usually add some custom lines to "xorg.conf". >> I suppose currently there is no other way to do it but to make my own >> xorg (slim) service. Right? > > Actually it’s ‘xorg-start-command’ that creates xorg.conf. > > The best thing would be to add a parameter to that function to allow > arbitrary text to be appended. (Well, not just text, but a list of > strings and possibly packages; the ‘xserver.conf’ procedure would do > (apply text-file* "xserver.conf" ... user-text).) > > WDYT? Yes, it would be good. Currently I don't need it, but I'll look at it if I will have such need :-) >From 35119792b81cc7f0fbb68f096df2bd6f6727eaeb Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 28 Nov 2014 23:49:58 +0300 Subject: [PATCH] services: xorg: Add 'xf86-video-sis'. * gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add ModulePath for 'xf86-video-sis'. --- gnu/services/xorg.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 5236573..c813f0f 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -96,6 +96,7 @@ Section \"Files\" ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\" + ModulePath \"" xf86-video-sis "/lib/xorg/modules/drivers\" ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\" ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\" ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\" -- 2.1.3
Re: Installing the system from another distro
Alex Kost skribis: > Ludovic Courtès (2014-11-25 17:48 +0300) wrote: [...] >> Note that you’ll also need to pass --root= and --system= on the kernel >> command line (see the ‘operating-system-grub.cfg’ procedure.) > > And --load= too :-) Oops. I wanted to make sure you would find by yourself. ;-) >> As you see, passing --no-grub is not an optimized use case. :-) > > Thanks for the pointers! You helped to figure it out. And the system > is awesome!! The only big issue I've noticed so far is: the screen > resolution was 800x600 for me and xrandr didn't give any other option. > "/var/log/Xorg.0.log" told me that the module for my videocard ("sis") > wasn't loaded. I looked at (gnu services xorg) and found that not all > available "xf86-video-…" modules are placed at "xserver.conf". Is there > a reason for that? No reason! Please do add it. > Hm, perhaps I just need to install "xf86-video-sis" package (I should > have tried it before asking). X would not find it; it really needed to be listed in the search path in xorg.conf. > Also I have a question. I usually add some custom lines to "xorg.conf". > I suppose currently there is no other way to do it but to make my own > xorg (slim) service. Right? Actually it’s ‘xorg-start-command’ that creates xorg.conf. The best thing would be to add a parameter to that function to allow arbitrary text to be appended. (Well, not just text, but a list of strings and possibly packages; the ‘xserver.conf’ procedure would do (apply text-file* "xserver.conf" ... user-text).) WDYT? Thanks, Ludo’.
Re: Installing the system from another distro
Ludovic Courtès (2014-11-25 17:48 +0300) wrote: > Alex Kost skribis: [...] >> I have another question. I used "--no-grub" option, so I don't have a >> proper grub.cfg. I expected to see “/boot” directory with symlinks to >> the linux and initram images but there is no such dir. Do I understand >> it right that “/gnu/store/…-linux-libre-3.17.4/bzImage” and >> “/gnu/store/…-base-initrd/initrd” are hardcoded in the "grub.cfg"? > > Yes, that’s correct. > > Actually, when passing --no-grub, ‘guix system’ doesn’t even bother > generating grub.cfg (see ‘perform-action’ in (guix scripts system).) > > So if you really want to use --no-grub, you should retrieve the kernel > and initrd file names, and manually add them to your bootloader’s > config. > > One way to do that is to run: > > guix system build my-system-config.scm > > The returned directory name contains the initrd and kernel, among other > things. > > Note that you’ll also need to pass --root= and --system= on the kernel > command line (see the ‘operating-system-grub.cfg’ procedure.) And --load= too :-) > As you see, passing --no-grub is not an optimized use case. :-) Thanks for the pointers! You helped to figure it out. And the system is awesome!! The only big issue I've noticed so far is: the screen resolution was 800x600 for me and xrandr didn't give any other option. "/var/log/Xorg.0.log" told me that the module for my videocard ("sis") wasn't loaded. I looked at (gnu services xorg) and found that not all available "xf86-video-…" modules are placed at "xserver.conf". Is there a reason for that? Hm, perhaps I just need to install "xf86-video-sis" package (I should have tried it before asking). Also I have a question. I usually add some custom lines to "xorg.conf". I suppose currently there is no other way to do it but to make my own xorg (slim) service. Right? -- Alex
Re: Installing the system from another distro
Alex Kost skribis: > Ludovic Courtès (2014-11-24 20:21 +0300) wrote: >> Could it be an ABI issue that vanishes after “make clean-go && make”? > > That's it! It was very unexpected for me as I did "make clean-go" not so > long ago, but anyway it works now. Thank you very much for such a > verbose answer and even testing (!) Good news. :-) > I have another question. I used "--no-grub" option, so I don't have a > proper grub.cfg. I expected to see “/boot” directory with symlinks to > the linux and initram images but there is no such dir. Do I understand > it right that “/gnu/store/…-linux-libre-3.17.4/bzImage” and > “/gnu/store/…-base-initrd/initrd” are hardcoded in the "grub.cfg"? Yes, that’s correct. Actually, when passing --no-grub, ‘guix system’ doesn’t even bother generating grub.cfg (see ‘perform-action’ in (guix scripts system).) So if you really want to use --no-grub, you should retrieve the kernel and initrd file names, and manually add them to your bootloader’s config. One way to do that is to run: guix system build my-system-config.scm The returned directory name contains the initrd and kernel, among other things. Note that you’ll also need to pass --root= and --system= on the kernel command line (see the ‘operating-system-grub.cfg’ procedure.) As you see, passing --no-grub is not an optimized use case. :-) Ludo’.
Re: Installing the system from another distro
Ludovic Courtès (2014-11-24 20:21 +0300) wrote: > Alex Kost skribis: > >> Hello, I've tried to install the Guix system from my current system >> ("Arch Linux") where I use the Guix package manager: >> >> ./pre-inst-env guix system init /path/to/my-os-config.scm /mnt/guix > > That should definitely work: it’s the same command that one runs from > the installation image, nothing special. > >> Unfortunately it failed (os-config and the backtrace are attached). > > [...] > >> In gnu/system.scm: >> 702: 3 [# #] >> 449: 2 [# #] >> 455: 1 [# (# # # # >> ...)] >> In unknown file: >>?: 0 [concatenate (() () () () () () () () () ...)] >> >> ERROR: In procedure concatenate: >> ERROR: In procedure append: Wrong type argument in position 19 (expecting >> empty list): #f > > Believe it or not ;-), I cannot reproduce this bug. > > I tried with the very same configuration on current ‘master’: > > $ ./pre-inst-env guix system init alex.scm $PWD/t/ > La jena derivo estos esti konstruata: >/gnu/store/h141fwh5mcjn6zq5192ff12hrxb9x9nn-system.drv >/gnu/store/w18dn1ilngzip9yb9bk8dc34igidihsn-grub.cfg.drv >/gnu/store/8p0m7kj666r0hv56r4b3a38556h1b8wf-dmd.conf.drv >/gnu/store/0hdpjmmvgby0i194wf3hjs56nfn511sd-activate.drv >/gnu/store/x2m84jd8w2x17ikq6qslb5argkg71bas-boot.drv >/gnu/store/53320875lhrp11bvdjg47r2sqs3x32sz-linux-modules.drv >/gnu/store/8j8z5nm2xkzjrr4mh7hf17dcvsxrxrjn-init.drv > > [...] > > /gnu/store/2bjpb39finn5rw006rrh4xxcqbzdij94-system > /gnu/store/a3k9dx6i1w44qff2n9s99xlx2rlsmwq8-grub-2.00 > /gnu/store/sjcj2k78qalfzm799b06hf6hixh8mfwv-grub.cfg > > ni ekigas la operaci-sistemon sub '/home/ludo/src/guix/t/'... > copying '/gnu/store/64sqqj8pbhff0w80x0gbliqirkcimy1k-glibc-2.20-locales'... > copying '/gnu/store/4k20pkxgvfc22wpcvh6xr26ma4b619ad-glibc-2.20'... > > [...] > > Then I ran out of space on that partition, and the command wasn’t > running as root, so it would have failed to install GRUB anyway. > > The backtrace you should suggests things failed before even files were > copied to the store under /mnt/guix, right? Yes, it failed before “La jena derivo estos esti konstruata:” message :-) > Could it be an ABI issue that vanishes after “make clean-go && make”? That's it! It was very unexpected for me as I did "make clean-go" not so long ago, but anyway it works now. Thank you very much for such a verbose answer and even testing (!) I have another question. I used "--no-grub" option, so I don't have a proper grub.cfg. I expected to see “/boot” directory with symlinks to the linux and initram images but there is no such dir. Do I understand it right that “/gnu/store/…-linux-libre-3.17.4/bzImage” and “/gnu/store/…-base-initrd/initrd” are hardcoded in the "grub.cfg"? -- Alex
Re: Installing the system from another distro
Alex Kost skribis: > Hello, I've tried to install the Guix system from my current system > ("Arch Linux") where I use the Guix package manager: > > ./pre-inst-env guix system init /path/to/my-os-config.scm /mnt/guix That should definitely work: it’s the same command that one runs from the installation image, nothing special. > Unfortunately it failed (os-config and the backtrace are attached). [...] > In gnu/system.scm: > 702: 3 [# #] > 449: 2 [# #] > 455: 1 [# (# # # # > ...)] > In unknown file: >?: 0 [concatenate (() () () () () () () () () ...)] > > ERROR: In procedure concatenate: > ERROR: In procedure append: Wrong type argument in position 19 (expecting > empty list): #f Believe it or not ;-), I cannot reproduce this bug. I tried with the very same configuration on current ‘master’: --8<---cut here---start->8--- $ ./pre-inst-env guix system init alex.scm $PWD/t/ La jena derivo estos esti konstruata: /gnu/store/h141fwh5mcjn6zq5192ff12hrxb9x9nn-system.drv /gnu/store/w18dn1ilngzip9yb9bk8dc34igidihsn-grub.cfg.drv /gnu/store/8p0m7kj666r0hv56r4b3a38556h1b8wf-dmd.conf.drv /gnu/store/0hdpjmmvgby0i194wf3hjs56nfn511sd-activate.drv /gnu/store/x2m84jd8w2x17ikq6qslb5argkg71bas-boot.drv /gnu/store/53320875lhrp11bvdjg47r2sqs3x32sz-linux-modules.drv /gnu/store/8j8z5nm2xkzjrr4mh7hf17dcvsxrxrjn-init.drv [...] /gnu/store/2bjpb39finn5rw006rrh4xxcqbzdij94-system /gnu/store/a3k9dx6i1w44qff2n9s99xlx2rlsmwq8-grub-2.00 /gnu/store/sjcj2k78qalfzm799b06hf6hixh8mfwv-grub.cfg ni ekigas la operaci-sistemon sub '/home/ludo/src/guix/t/'... copying '/gnu/store/64sqqj8pbhff0w80x0gbliqirkcimy1k-glibc-2.20-locales'... copying '/gnu/store/4k20pkxgvfc22wpcvh6xr26ma4b619ad-glibc-2.20'... [...] --8<---cut here---end--->8--- Then I ran out of space on that partition, and the command wasn’t running as root, so it would have failed to install GRUB anyway. The backtrace you should suggests things failed before even files were copied to the store under /mnt/guix, right? Could it be an ABI issue that vanishes after “make clean-go && make”? HTH, Ludo’.
Installing the system from another distro
Hello, I've tried to install the Guix system from my current system ("Arch Linux") where I use the Guix package manager: ./pre-inst-env guix system init /path/to/my-os-config.scm /mnt/guix Unfortunately it failed (os-config and the backtrace are attached). So I wonder: is installing from another distro supported? or the only right way is to use an usb image? Thanks in advance. (use-modules (gnu)) (operating-system (host-name "hn") (timezone "Europe/Paris") (bootloader (grub-configuration (device "/dev/sda"))) (file-systems (cons (file-system (device "/dev/sda7") (mount-point "/") (type "ext4")) %base-file-systems)) (users (list (user-account (name "al") (home-directory "/home/al") (group "users") (supplementary-groups '("wheel" "audio" "video")) Backtrace: In ice-9/boot-9.scm: 157: 17 [catch #t # ...] In unknown file: ?: 16 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 15 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 14 [eval # #] In ice-9/boot-9.scm: 2401: 13 [save-module-excursion #] 4050: 12 [#] 1724: 11 [%start-stack load-stack ...] 1729: 10 [#] In unknown file: ?: 9 [primitive-load "/media/storage/src/guix/scripts/guix"] In guix/ui.scm: 776: 8 [run-guix-command system "init" ...] In ice-9/boot-9.scm: 157: 7 [catch srfi-34 # ...] 157: 6 [catch system-error ...] In guix/monads.scm: 469: 5 [run-with-store # ...] In guix/scripts/system.scm: 309: 4 [# #] In gnu/system.scm: 702: 3 [# #] 449: 2 [# #] 455: 1 [# (# # # # ...)] In unknown file: ?: 0 [concatenate (() () () () () () () () () ...)] ERROR: In procedure concatenate: ERROR: In procedure append: Wrong type argument in position 19 (expecting empty list): #f