mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-16 06:45:16 +01:00
* Set the CD volume ID and the ISO filename.
svn path=/nixos/branches/modular-nixos/; revision=15912
This commit is contained in:
parent
803d8b646f
commit
ba43b5d000
2 changed files with 46 additions and 12 deletions
|
@ -4,6 +4,18 @@
|
|||
|
||||
let
|
||||
|
||||
options = {
|
||||
|
||||
system.nixosVersion = pkgs.lib.mkOption {
|
||||
default = "${builtins.readFile ../../../VERSION}";
|
||||
description = ''
|
||||
NixOS version number.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
# We need a copy of the Nix expressions for Nixpkgs and NixOS on the
|
||||
# CD. We put them in a tarball because accessing that many small
|
||||
# files from a slow device like a CD-ROM takes too long. !!! Once
|
||||
|
@ -25,11 +37,17 @@ in
|
|||
|
||||
{
|
||||
require =
|
||||
[ ./iso-image.nix
|
||||
[ options
|
||||
./iso-image.nix
|
||||
./memtest.nix
|
||||
../../../hardware/network/intel-3945abg.nix
|
||||
];
|
||||
|
||||
# ISO naming.
|
||||
isoImage.isoName = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.iso";
|
||||
|
||||
isoImage.volumeID = "NIXOS_INSTALLATION_CD_${config.system.nixosVersion}";
|
||||
|
||||
# Use Linux 2.6.29.
|
||||
boot.kernelPackages = pkgs.kernelPackages_2_6_29;
|
||||
|
||||
|
|
|
@ -8,6 +8,30 @@ let
|
|||
|
||||
options = {
|
||||
|
||||
isoImage.isoName = pkgs.lib.mkOption {
|
||||
default = "cd.iso";
|
||||
description = ''
|
||||
Name of the generated ISO image file.
|
||||
'';
|
||||
};
|
||||
|
||||
isoImage.compressImage = pkgs.lib.mkOption {
|
||||
default = false;
|
||||
description = ''
|
||||
Whether the ISO image should be compressed using
|
||||
<command>bzip2</command>.
|
||||
'';
|
||||
};
|
||||
|
||||
isoImage.volumeID = pkgs.lib.mkOption {
|
||||
default = "NIXOS_BOOT_CD";
|
||||
description = ''
|
||||
Specifies the label or volume ID of the generated ISO image.
|
||||
Note that the label is used by stage 1 of the boot process to
|
||||
mount the CD, so it should be reasonably distinctive.
|
||||
'';
|
||||
};
|
||||
|
||||
isoImage.contents = pkgs.lib.mkOption {
|
||||
example =
|
||||
[ { source = pkgs.memtest86 + "/memtest.bin";
|
||||
|
@ -34,8 +58,6 @@ let
|
|||
|
||||
};
|
||||
|
||||
|
||||
cdLabel = "NIXOS_INSTALLATION_CD";
|
||||
|
||||
# The configuration file for Grub.
|
||||
grubCfg =
|
||||
|
@ -56,7 +78,7 @@ in
|
|||
# so that we don't need to know its device.
|
||||
fileSystems =
|
||||
[ { mountPoint = "/";
|
||||
label = cdLabel;
|
||||
label = config.isoImage.volumeID;
|
||||
}
|
||||
];
|
||||
|
||||
|
@ -115,17 +137,11 @@ in
|
|||
# Create the ISO image.
|
||||
system.build.isoImage = import ../../../lib/make-iso9660-image.nix {
|
||||
inherit (pkgs) stdenv perl cdrkit pathsFromGraph;
|
||||
#isoName = "${relName}-${platform}.iso";
|
||||
|
||||
inherit (config.isoImage) isoName compressImage volumeID contents storeContents;
|
||||
|
||||
bootable = true;
|
||||
bootImage = "/boot/grub/stage2_eltorito";
|
||||
|
||||
#compressImage = ...;
|
||||
|
||||
volumeID = cdLabel;
|
||||
|
||||
contents = config.isoImage.contents;
|
||||
storeContents = config.isoImage.storeContents;
|
||||
};
|
||||
|
||||
# After booting, register the contents of the Nix store on the CD in
|
||||
|
|
Loading…
Reference in a new issue