[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Devuan replaced grub and runs before Guix
From: |
Youni Git |
Subject: |
Re: Devuan replaced grub and runs before Guix |
Date: |
Sun, 09 Jan 2022 16:05:22 +0000 |
User-agent: |
Zoho Mail |
Some clever developer from debian said me the easiest way.
1. I just enter grub command line while grub generated by Devuan appeared (with
button 'c')
2. found grub.cfg on guix disk here:
ls (hd0,gpt2)/boot/grub/grub.cfg
3. And used it to run grub with this menu config file like this:
configfile (hd0,gpt2)/boot/grub/grub.cfg
4. Guix grub menu showed with its backgrund. And I booted to Guix OS
5. Then I just copied Guix menuentry from that grub.cfg file to my Devuan grub:
# vim /etc/grub.d/40_custom:
menuentry "GNU with Linux-Libre 5.13.13 (#33, 2021-09-04 17:57)" {
search --file --set
/gnu/store/y0dz7jdw78q3kgcjc8xy8zncxyl31k5p-linux-libre-5.13.13/bzImage
linux /gnu/store/y0dz7jdw78q3kgcjc8xy8zncxyl31k5p-linux-libre-5.13.13/bzImage
--root=/dev/sda2 --system=/var/guix/profiles/system-33-link
--load=/var/guix/profiles/system-33-link/boot
modprobe.blacklist=pcspkr,snd_pcsp,bluetooth,btusb,ath3k
initrd /gnu/store/ccvhwm8h7h5xijab6gi65bjirz3nyxbv-raw-initrd/initrd.cpio.gz
}
# update-grub2
And now I sure boot to Guix from Devuan's grub menu entry. This is the easiest
and may be reliable way. Just need to update grub menu entry when generate new
system with 'guix system reconfigure config.scm'.
Nice!
---- On Sun, 09 Jan 2022 12:54:15 +0000 Youni Git <git@youni.world> wrote ----
I had this Guix grub entry in Guix OS:
https://ibb.co/Btq1pV7
I created this grub menu entry in devuan:
https://ibb.co/WH7hggw
vim /etc/grub.d/40_custom
menuentry "Guix" {
search --set=root --fs-uuid 24c6dcca-d831-4f0a-ad59-efa1035be093
search --file --set
/gnu/store/y0dz7jdw78q3kgcjc8xy8zncxyl31k5p-linux-libre-5.13.13/bzImage
linux /gnu/store/y0dz7jdw78q3kgcjc8xy8zncxyl31k5p-linux-libre-5.13.13/bzImage
--root=/dev/sda2 --system=var/guixprofiles/system-33-link
--load=/var/guix/profiles/system-33-link/boot
modprobe.blacklist=pcspkr,snd_pcsp,bluetooth,btusb,ath3k
initrd /gnu/store/ccvhwm8h7h5xijab6gi65bjirz3nyxbv-raw-initrd/initrd.cpio.gz
}
update-grub
But I got Guix OS stops on here:
https://ibb.co/JRZmCFK
I found kernel, initrd and parameters like you advised. But actually hash
differs from that guix is using in parameters.
And I don't know why it does not boot stopping on usb-bluetooth mouse
detection. I also tried to remove modprobe.blacklist and boot but also Guix
stops on mouse detection. I just added 'search --set=root' line is that a
reason? May be I need to use --root UUID instead of /dev/sda2 ?
find /gnu/store -maxdepth 1 -name '*-system'
...many entries ...-guix-system
/gnu/store/vxzzh5rz9isqfx5krn3iq5ygzxbafbdi-system
ls /gnu/store/vxzzh5rz9isqfx5krn3iq5ygzxbafbdi-system
activate boot channels.scm configuration.scm etc initrd kernel locale
parameters profile provenance
root@antelope ~# ls -l /gnu/store/vxzzh5rz9isqfx5krn3iq5ygzxbafbdi-system/kernel
lrwxrwxrwx 2 root root 51 Jan 1 1970
/gnu/store/vxzzh5rz9isqfx5krn3iq5ygzxbafbdi-system/kernel ->
/gnu/store/b64c0c8hw526b5742w75xii0ny0i4009-profile
root@antelope ~# ls -l
/gnu/store/b64c0c8hw526b5742w75xii0ny0i4009-profile/bzImage
lrwxrwxrwx 2 root root 73 Jan 1 1970
/gnu/store/b64c0c8hw526b5742w75xii0ny0i4009-profile/bzImage ->
/gnu/store/8xfrsfgdbfs1hyr49apzgmg66ggc5khf-linux-module-database/bzImage
root@antelope ~# ls -l
/gnu/store/vxzzh5rz9isqfx5krn3iq5ygzxbafbdi-system/initrd
lrwxrwxrwx 2 root root 69 Jan 1 1970
/gnu/store/vxzzh5rz9isqfx5krn3iq5ygzxbafbdi-system/initrd ->
/gnu/store/ccvhwm8h7h5xijab6gi65bjirz3nyxbv-raw-initrd/initrd.cpio.gz
root@antelope ~# cat /gnu/store/87vv0rknchgwghm3j2bqqpk2rqv2lxqx-parameters
(boot-parameters (version 0) (label "GNU with Linux-Libre 5.13.13")
(root-device "/dev/sda2") (kernel
"/gnu/store/y0dz7jdw78q3kgcjc8xy8zncxyl31k5p-linux-libre-5.13.13/bzImage")
(kernel-arguments ("modprobe.blacklist=pcspkr,snd_pcsp,bluetooth,btusb,ath3k"))
(initrd
"/gnu/store/ccvhwm8h7h5xijab6gi65bjirz3nyxbv-raw-initrd/initrd.cpio.gz")
(bootloader-name grub-efi) (bootloader-menu-entries ((menu-entry (version 0)
(label "Devuan") (device #f) (device-mount-point #f) (linux
"(hd1,gpt2)/vmlinuz") (linux-arguments ("root=/dev/sdb2")) (initrd
"(hd1,gpt2)/initrd.img")))) (locale "en_US.utf8") (store (device #f)
(mount-point "/") (directory-prefix #f) (crypto-devices ())))root@antelope ~#
---- On Wed, 29 Dec 2021 01:11:37 +0100 raingloom <mailto:raingloom@riseup.net>
wrote ----
On Mon, 27 Dec 2021 00:32:18 +0100
Youni Git <mailto:git@youni.world> wrote:
> Hello, dear developers! Merry Christmas and Happy New year!I would
> like to ask questions I did not dug in the web, I hope there are
> short answers.I had Guix OS installed on /dev/sda and i had grub
> bootloader there configured to run guix and devuan from another sdd,
> my
> config:https://gitgud.io/youni/guix-configs/-/blob/master/config-wpa2-wlp5-wf-blacklist--my-desktop-services--isp.conf#L91Everything
>
> worked fine, i could boot to Guix or choose Devuan from the grub menu
> controlled by Guix.But i made Devuan 3 to Devuan 4 upgrades. And
> Devuan replaced grub and now i have no guix in the menu.I think i can
> add Guix to devuan grub menu, but I'm not sure I can find /vmlinuz
> and /initrd files in the Guix partitions.I have 3 questions:1. How to
> boot Guix manually from grub command line?2. How can I add Guix OS to
> devuan grub menu, which files i need to use for linux image and
> initrd, where to find them on Guix?3. Can I easy replace back grub by
> Guix making guix controls grub again?Thank you.
Oh heck, I used to manually kexec Guix, but it was on a different drive
with its own GRUB install.
/run/current-system seems to point to store entries ending in -system.
So to find the store item:
find /gnu/store -maxdepth 1 -name '*-system'
Within the store item:
kernel/bzImage: this is the kernel image to boot.
initrd: this is the initramfs
That should be enough info to build a GRUB menu entry. There are
some other options like modprobe.blacklist but I'm not sure where
they are in the store.
Oh there is also the init binary. Uh. Not sure where that is.
But I think this is a good enough starting point, hopefully you can
figure out the rest.
Alternatively, maybe try chrooting into the Guix partition and running
reconfigure again?
In any case, good luck!