From c21ba2d99e5a97e55d69ec52cdfb123e3508c3a0 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Fri, 8 Feb 2008 19:31:41 +0000 Subject: [PATCH] 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 --- configuration/rescue-cd-configurable.nix | 15 +---- configuration/rescue-cd-replacement.nix | 70 ++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 configuration/rescue-cd-replacement.nix diff --git a/configuration/rescue-cd-configurable.nix b/configuration/rescue-cd-configurable.nix index 7df6747d7faf..047e14525dac 100644 --- a/configuration/rescue-cd-configurable.nix +++ b/configuration/rescue-cd-configurable.nix @@ -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; diff --git a/configuration/rescue-cd-replacement.nix b/configuration/rescue-cd-replacement.nix new file mode 100644 index 000000000000..ad14447cbd9c --- /dev/null +++ b/configuration/rescue-cd-replacement.nix @@ -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