help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Guix/GNU/Linux multi distro + GuixSD multi-site scenario


From: Christopher Allan Webber
Subject: Re: Guix/GNU/Linux multi distro + GuixSD multi-site scenario
Date: Mon, 28 Mar 2016 09:39:14 -0700
User-agent: mu4e 0.9.13; emacs 24.5.1

Alex Kost writes:

> myglc2 (2016-03-27 20:18 +0300) wrote:
>
>> Christopher Allan Webber <address@hidden> writes:
>>
>>> myglc2 writes:
>>>
>>>> Christopher Allan Webber <address@hidden> writes:
>>>> [...]
>>>>>
>>>>> Running all machines, I dunno.  I do dual-boot Debian and GuixSD with
>>>>> them sharing the same user profile and store.
>>>>
>>>> Dual boot. Now that is cool!
>>>
>>> Dual booting allowed me to switch to GuixSD a lot more feasibly than I
>>> could have otherwise.  I installed it on this laptop right before a 3
>>> month trip.  Dual booting meant that when something wasn't in GuixSD
>>> yet, no problem, I could switch to Debian for a bit.  Then I could work
>>> on packages at my leisure to switch over.
>>>
>>> The trick was realizing that the grub that Guix generates wasn't the one
>>> I should boot into... I needed to have Guix and Debian generate their
>>> own grub files on their own partitions, and then have a /boot/ grub
>>> which was reeeeaally small and simply had menu options to import those
>>> other grub files.
>>
>> Neat!. Normally grub would be installed like this...
>>
>>   (bootloader (grub-configuration (device "/dev/sda")))
>>   (file-systems (cons (file-system
>>                         (device "/dev/sda1")
>>                         (title 'device)
>>                         (mount-point "/")
>>                         (type "ext4"))
>>                       %base-file-systems))
>>
>> But it sounds like you are installing a custom /boot/grub in
>> /dev/sda. So where is the GuixSD Grub and /?
>
> Hi, I also use double boot (GuixSD and ArchLinux).  I do it like this:
> at first I never let GuixSD to reinstall grub by using --no-grub option
> ("guix system reconfigure --no-grub ...").  Instead I installed grub
> manually (into a separate "boot" partition) and I use my own "grub.cfg",
> which has an entry for the latest GuixSD system.  This entry may look
> like this:
>
> menuentry 'GuixSD' {
>     search --no-floppy --label --set guix
>     linux  /var/guix/profiles/system/kernel/bzImage --root=guix 
> --system=/var/guix/profiles/system --load=/var/guix/profiles/system/boot
>     initrd /var/guix/profiles/system/initrd
> }
>
> My grub config¹ also has entries for a previous system generation (I can
> boot any generation by editing a number in a grub boot menu) and for a
> particular system (sometimes I do "guix system build …" and put the
> result directory of this "testing" system to my grub.cfg).
>
> ¹ https://github.com/alezost/config/blob/master/etc/grub.cfg

Hm, I think this approach is not quite as nice, IMO.  One downside here
is that by not using the grub that guix generates for you, you can't
simply boot into a prior system revision if something goes long, which
is a huge advantage in GuixSD.

Here's what I do on my grub.cfg (or libreboot_grub.cfg technically):

  set timeout=5
  insmod ahci
  insmod chain
  
  menuentry "Guix" {
    set root=(ahci0,msdos7)
    configfile /boot/grub/grub.cfg
    unset superusers  # probably not needed
  }
  
  menuentry "Debian" {
    set root=(ahci0,msdos6)
    configfile /boot/grub/grub.cfg
    unset superusers  # probably not needed
  }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]