With the target partitions ready and the target root mounted on /mnt, we’re ready to go. First, run:
herd start cow-store /mnt
This makes /gnu/store copy-on-write, such that packages added to it
during the installation phase are written to the target disk on /mnt
rather than kept in memory. This is necessary because the first phase of
guix system init command (see below) entails downloads or
builds to /gnu/store which, initially, is an in-memory file system.
Next, you have to edit a file and provide the declaration of the operating
system to be installed. To that end, the installation system comes with
three text editors. We recommend GNU nano (see GNU nano
Manual), which supports syntax highlighting and parentheses matching; other
editors include GNU Zile (an Emacs clone), and nvi (a clone of the original
vi editor). We strongly recommend storing that file on the
target root file system, say, as /mnt/etc/config.scm. Failing to do
that, you will have lost your configuration file once you have rebooted into
the newly-installed system.
See 使用配置系统, for an overview of the configuration file. The example configurations discussed in that section are available under /etc/configuration in the installation image. Thus, to get started with a system configuration providing a graphical display server (a “desktop” system), you can run something along these lines:
# mkdir /mnt/etc # cp /etc/configuration/desktop.scm /mnt/etc/config.scm # nano /mnt/etc/config.scm
You should pay attention to what your configuration file contains, and in particular:
bootloader-configurationform refers to the target you want to install GRUB on. It should mention
grub-bootloaderif you are installing GRUB in the legacy way, or
grub-efi-bootloaderfor newer UEFI systems. For legacy systems, the
targetfield names a device, like
/dev/sda; for UEFI systems it names a path to a mounted EFI partition, like
/boot/efi; do make sure the path is currently mounted and a
file-systementry is specified in your configuration.
devicefields in your
file-systemconfiguration, assuming your
file-systemconfiguration uses the
file-system-labelprocedure in its
mapped-devicesfield to describe them (see 映射的设备).
Once you are done preparing the configuration file, the new system must be initialized (remember that the target root file system is mounted under /mnt):
guix system init /mnt/etc/config.scm /mnt
This copies all the necessary files and installs GRUB on /dev/sdX, unless you pass the --no-bootloader option. For more information, see 调用guix system. This command may trigger downloads or builds of missing packages, which can take some time.
Once that command has completed—and hopefully succeeded!—you can run
reboot and boot into the new system. The
root password in
the new system is initially empty; other users’ passwords need to be
initialized by running the
passwd command as
your configuration specifies otherwise (see user
account passwords). See 系统安装之后, for what’s next!