3
0
Fork 0
forked from mirrors/nixpkgs

Created expression to keep in sync with rescue-cd.nix; I do not want to make creating smaller CD images more difficult.

svn path=/nixos/trunk/; revision=10559
This commit is contained in:
Michael Raskin 2008-02-08 19:31:41 +00:00
parent 067db8fa72
commit c21ba2d99e
2 changed files with 72 additions and 13 deletions

View file

@ -139,6 +139,8 @@ rec {
start on startup
script
export PATH=${pkgs.gnutar}/bin:${pkgs.bzip2}/bin:$PATH
mkdir -p /mnt
${system.nix}/bin/nix-store --load-db < /nix-path-registration
@ -287,15 +289,6 @@ rec {
else pkgs.writeText "dummy-manual" "Manual not included in this build!";
# Since the CD is read-only, the mount points must be on disk.
cdMountPoints = pkgs.runCommand "mount-points" {} ''
ensureDir $out
cd $out
mkdir proc sys tmp etc dev var mnt nix nix/var root bin ${if addUsers != "" then "home" else ""}
touch $out/${configuration.boot.rootLabel}
'';
# 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.
@ -373,10 +366,6 @@ rec {
source = system.config.boot.grubSplashImage;
target = "boot/background.xpm.gz";
}
{
source = cdMountPoints;
target = "/";
}
{
source = nixosTarball + "/" + nixosTarball.tarName;
target = "/install/" + nixosTarball.tarName;

View file

@ -0,0 +1,70 @@
{platform ? __currentSystem} :
let
isoFun = import ./rescue-cd-configurable.nix;
in (isoFun {
inherit platform;
lib = (import ../pkgs/lib);
networkNixpkgs = "";
manualEnabled = false;
rogueEnabled = false;
sshdEnabled = false;
fontConfigEnabled = false;
sudoEnable = false;
includeMemtest = false;
includeStdenv = false;
includeBuildDeps = false;
extraInitrdKernelModules = [
# The initrd should contain any modules necessary for
# mounting the CD.
# SATA/PATA support.
"ahci"
"ata_piix"
"sata_inic162x" "sata_nv" "sata_promise" "sata_qstor"
"sata_sil" "sata_sil24" "sata_sis" "sata_svw" "sata_sx4"
"sata_uli" "sata_via" "sata_vsc"
"pata_ali" "pata_amd" "pata_artop" "pata_atiixp"
"pata_cs5520" "pata_cs5530" "pata_cs5535" "pata_efar"
"pata_hpt366" "pata_hpt37x" "pata_hpt3x2n" "pata_hpt3x3"
"pata_it8213" "pata_it821x" "pata_jmicron" "pata_marvell"
"pata_mpiix" "pata_netcell" "pata_ns87410" "pata_oldpiix"
"pata_pcmcia" "pata_pdc2027x" "pata_qdi" "pata_rz1000"
"pata_sc1200" "pata_serverworks" "pata_sil680" "pata_sis"
"pata_sl82c105" "pata_triflex" "pata_via"
# "pata_winbond" <-- causes timeouts in sd_mod
# SCSI support (incomplete).
"3w-9xxx" "3w-xxxx" "aic79xx" "aic7xxx" "arcmsr"
# USB support, especially for booting from USB CD-ROM
# drives. Also include USB keyboard support for when
# something goes wrong in stage 1.
"ehci_hcd"
"ohci_hcd"
"usbhid"
"usb_storage"
# Firewire support. Not tested.
"ohci1394" "sbp2"
# Wait for SCSI devices to appear.
"scsi_wait_scan"
# Needed for live-CD operation.
"aufs"
];
packages = pkgs: [
pkgs.vim
pkgs.subversion # for nixos-checkout
pkgs.w3m # needed for the manual anyway
pkgs.gdb # for debugging Nix
pkgs.testdisk # useful for repairing boot problems
pkgs.mssys # for writing Microsoft boot sectors / MBRs
];
}).rescueCD