[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GSoC] Draft proposal for an Install Wizard for Guix
From: |
Ricardo Wurmus |
Subject: |
Re: [GSoC] Draft proposal for an Install Wizard for Guix |
Date: |
Wed, 23 Mar 2016 12:29:22 +0100 |
Chris Marusich <address@hidden> writes:
>> Partitioning will allow for custom setups and also offer several
>> default "most common" options such as:
>>
>> Simple all in one big partition on one disk
>> Separate root and home
>> LVM/LVM encrypted (this would probably be more difficult to add)
>
> Is this different from LUKS?
No. LUKS is used at the bottom across the whole device (e.g. /dev/sda)
and LVM is used on top of it. You’d first unlock the LUKS partition
with
cryptsetup luksOpen /dev/sda1 root
and then create a PV on /dev/mapper/root, add the PV to a volume group
(VG), and then create one or more logical volumes (LV) inside of the VG,
such as /dev/mapper/vg-{home,root,swap}.
Our problem is that the initrd in GuixSD currently does not have any
support for LVM. I’m using LUKS+LVM for my home directory and I
manually unlock and mount the home directory after booting.
> One more thing to consider. While you write this installer, you might
> want to think about how we can make the installation process itself as
> reproducible as possible. One of Guix's features is reproducible
> software builds. Shouldn't GuixSD also make it possible to reproduce
> the process of partitioning the system's disks, making its filesystems,
> and configuring the system for the first time?
>
> Some existing software attempts to solve this specific problem. For
> example, RedHat's Kickstart installation process provides a way to
> automate the installation of RedHat's brand of GNU/Linux. Something
> that solves this same problem for GuixSD would be great! Even if this
> is out of scope for your project this year, it would be great if in the
> future we could stand on the shoulders of what you create to add such a
> feature with minimal additional effort.
I like that idea. It would be great if we could pass a kernel parameter
at boot time to initialise the system from a given “operating-system”
configuration file. Kickstart is very convenient in this manner, but it
relies on terrible macros that nobody seems to really understand. With
Kickstart I can boot from a thumb drive or a network image, edit the
kernel boot line to add a line like this:
ks=http://server/config.ks
to install the system according to the configuration outlined in the
Kickstart file “config.ks”.
With GuixSD we would append something like this to the kernel line:
guix=http://server/config.scm
to fetch “config.scm” over HTTP and instantiate the operating system
configuration it contains.
~~ Ricardo