forked from mirrors/nixpkgs
ab29b6527f
When formatting a nixos usb using my windows machine I noticed that the disk labeling using periods was not compatible with my linux kernel / udev recognition. When labeling a volume NIXOS_14.10 under Windows, it would show up as NIXOS_14_10 on NixOS. This meant that /dev/root would never come up at boot time, preventing the livecd from starting. This patch works around this issue by eliminating any special characters other than underscores. The previous versioning didn't seem all that useful, especially when consdering there are many different version of the year.month named iso.
48 lines
1.4 KiB
Nix
48 lines
1.4 KiB
Nix
# This module contains the basic configuration for building a NixOS
|
|
# installation CD.
|
|
|
|
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
imports =
|
|
[ ./channel.nix
|
|
./iso-image.nix
|
|
|
|
# Profiles of this basic installation CD.
|
|
../../profiles/all-hardware.nix
|
|
../../profiles/base.nix
|
|
../../profiles/installation-device.nix
|
|
];
|
|
|
|
# ISO naming.
|
|
isoImage.isoName = "${config.isoImage.isoBaseName}-${config.system.nixosVersion}-${pkgs.stdenv.system}.iso";
|
|
|
|
isoImage.volumeID = substring 0 11 "NIXOS_ISO";
|
|
|
|
# Make the installer more likely to succeed in low memory
|
|
# environments. The kernel's overcommit heustistics bite us
|
|
# fairly often, preventing processes such as nix-worker or
|
|
# download-using-manifests.pl from forking even if there is
|
|
# plenty of free memory.
|
|
boot.kernel.sysctl."vm.overcommit_memory" = "1";
|
|
|
|
# To speed up installation a little bit, include the complete stdenv
|
|
# in the Nix store on the CD. Archive::Cpio is needed for the
|
|
# initrd builder.
|
|
isoImage.storeContents = [ pkgs.stdenv pkgs.busybox pkgs.perlPackages.ArchiveCpio ];
|
|
|
|
# EFI booting
|
|
isoImage.makeEfiBootable = true;
|
|
|
|
# Add Memtest86+ to the CD.
|
|
boot.loader.grub.memtest86.enable = true;
|
|
|
|
# Get a console as soon as the initrd loads fbcon on EFI boot.
|
|
boot.initrd.kernelModules = [ "fbcon" ];
|
|
|
|
# Allow the user to log in as root without a password.
|
|
security.initialRootPassword = "";
|
|
}
|