* Use Grub instead of isolinux on the boot CD.

svn path=/nixos/trunk/; revision=10058
This commit is contained in:
Eelco Dolstra 2008-01-03 15:06:55 +00:00
parent 93efa40b58
commit dc9b332fcd

View File

@ -138,38 +138,35 @@ rec {
}; };
# The configuration file for isolinux. # The configuration file for Grub.
isolinuxCfg = pkgs.writeText "isolinux.cfg" " grubCfg = pkgs.writeText "menu.lst" ''
default linux default=0
prompt 1 timeout=5
timeout 60 title NixOS Installer / Rescue
label linux kernel /boot/vmlinuz ${toString system.config.boot.kernelParams}
kernel vmlinuz initrd /boot/initrd
append initrd=initrd ${toString (system.config.boot.kernelParams)} '';
";
# Create an ISO image containing the Grub boot loader, the kernel,
# Create an ISO image containing the isolinux boot loader, the # the initrd produced above, and the closure of the stage 2 init.
# kernel, the initrd produced above, and the closure of the stage 2
# init.
rescueCD = import ../helpers/make-iso9660-image.nix { rescueCD = import ../helpers/make-iso9660-image.nix {
inherit (pkgs) stdenv perl cdrtools; inherit (pkgs) stdenv perl cdrtools;
isoName = "nixos-${platform}.iso"; isoName = "nixos-${platform}.iso";
# Single files to be copied to fixed locations on the CD. # Single files to be copied to fixed locations on the CD.
contents = [ contents = [
{ source = pkgs.syslinux + "/lib/syslinux/isolinux.bin"; { source = "${pkgs.grub}/lib/grub/i386-pc/stage2_eltorito";
target = "isolinux/isolinux.bin"; target = "boot/grub/stage2_eltorito";
} }
{ source = isolinuxCfg; { source = grubCfg;
target = "isolinux/isolinux.cfg"; target = "boot/grub/menu.lst";
} }
{ source = pkgs.kernel + "/vmlinuz"; { source = pkgs.kernel + "/vmlinuz";
target = "isolinux/vmlinuz"; target = "boot/vmlinuz";
} }
{ source = system.initialRamdisk + "/initrd"; { source = system.initialRamdisk + "/initrd";
target = "isolinux/initrd"; target = "boot/initrd";
} }
{ source = cdMountPoints; { source = cdMountPoints;
target = "/"; target = "/";
@ -197,7 +194,7 @@ rec {
]; ];
bootable = true; bootable = true;
bootImage = "isolinux/isolinux.bin"; bootImage = "boot/grub/stage2_eltorito";
}; };