From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [GSoC] Draft proposal for an Install Wizard for Guix Date: Wed, 23 Mar 2016 12:29:36 +0100 Message-ID: References: <56F1AEF0.60304@mtu.edu> <87lh59r30e.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34167) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aih27-0008I8-0S for guix-devel@gnu.org; Wed, 23 Mar 2016 07:34:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aih12-0001Am-UA for guix-devel@gnu.org; Wed, 23 Mar 2016 07:33:02 -0400 In-Reply-To: <87lh59r30e.fsf@gmail.com> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Chris Marusich Cc: guix-devel@gnu.org, GNU Summer Of Code workers Chris Marusich 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=E2=80=99d first unlock the LUKS partit= ion 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=E2=80=99m 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 =E2=80=9Coperating-sys= tem=E2=80=9D 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=3Dhttp://server/config.ks to install the system according to the configuration outlined in the Kickstart file =E2=80=9Cconfig.ks=E2=80=9D. With GuixSD we would append something like this to the kernel line: guix=3Dhttp://server/config.scm to fetch =E2=80=9Cconfig.scm=E2=80=9D over HTTP and instantiate the opera= ting system configuration it contains. ~~ Ricardo