Author: viric
Date: Tue Dec 28 21:27:52 2010
New Revision: 25316
URL: https://svn.nixos.org/websvn/nix/?rev=25316&sc=1
Log:
Merging nixos stdenv-updates, as nixpkgs trunk got stdenv-updates merged some
minutes ago.
Added:
nixos/trunk/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
- copied unchanged from r25315,
nixos/branches/stdenv-updates/modules/installer/cd-dvd/system-tarball-fuloong2f.nix
nixos/trunk/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
- copied unchanged from r25315,
nixos/branches/stdenv-updates/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
Modified:
nixos/trunk/ (props changed)
nixos/trunk/lib/eval-config.nix
nixos/trunk/lib/make-system-tarball.nix
nixos/trunk/modules/installer/cd-dvd/system-tarball-pc.nix
nixos/trunk/modules/installer/cd-dvd/system-tarball.nix
nixos/trunk/modules/misc/nixpkgs.nix
nixos/trunk/release.nix
Modified: nixos/trunk/lib/eval-config.nix
==============================================================================
--- nixos/trunk/lib/eval-config.nix Tue Dec 28 21:19:57 2010 (r25315)
+++ nixos/trunk/lib/eval-config.nix Tue Dec 28 21:27:52 2010 (r25316)
@@ -62,7 +62,7 @@
in
{
inherit system;
- inherit (nixpkgsOptions) config platform;
+ inherit (nixpkgsOptions) config;
});
# Optionally check wether all config values have corresponding
Modified: nixos/trunk/lib/make-system-tarball.nix
==============================================================================
--- nixos/trunk/lib/make-system-tarball.nix Tue Dec 28 21:19:57 2010
(r25315)
+++ nixos/trunk/lib/make-system-tarball.nix Tue Dec 28 21:27:52 2010
(r25316)
@@ -1,7 +1,7 @@
{ stdenv, perl, xz, pathsFromGraph
, # The file name of the resulting tarball
- fileName ? "nixos-built.tar.bz2"
+ fileName ? "nixos-system-${stdenv.system}"
, # The files and directories to be placed in the tarball.
# This is a list of attribute sets {source, target} where `source'
Copied: nixos/trunk/modules/installer/cd-dvd/system-tarball-fuloong2f.nix (from
r25315,
nixos/branches/stdenv-updates/modules/installer/cd-dvd/system-tarball-fuloong2f.nix)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixos/trunk/modules/installer/cd-dvd/system-tarball-fuloong2f.nix Tue Dec
28 21:27:52 2010 (r25316, copy of r25315,
nixos/branches/stdenv-updates/modules/installer/cd-dvd/system-tarball-fuloong2f.nix)
@@ -0,0 +1,194 @@
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+let
+
+ # A dummy /etc/nixos/configuration.nix in the booted CD that
+ # rebuilds the CD's configuration (and allows the configuration to
+ # be modified, of course, providing a true live CD). Problem is
+ # that we don't really know how the CD was built - the Nix
+ # expression language doesn't allow us to query the expression being
+ # evaluated. So we'll just hope for the best.
+ dummyConfiguration = pkgs.writeText "configuration.nix"
+ ''
+ {config, pkgs, ...}:
+
+ {
+ require = [ ];
+
+ # Add your own options below
+ # E.g.,
+ # services.openssh.enable = true;
+
+ nixpkgs.config.platform = pkgs.platforms.fuloong2f_n32;
+ }
+ '';
+
+
+ pkgs2storeContents = l : map (x: { object = x; symlink = "none"; }) l;
+
+ options = {
+
+ system.nixosVersion = mkOption {
+ default = "${builtins.readFile ../../../VERSION}";
+ description = ''
+ NixOS version number.
+ '';
+ };
+ };
+
+ # A clue for the kernel loading
+ kernelParams = pkgs.writeText "kernel-params.txt" ''
+ Kernel Parameters:
+ init=/boot/init systemConfig=/boot/init ${toString
config.boot.kernelParams}
+ '';
+
+ # System wide nixpkgs config
+ nixpkgsUserConfig = pkgs.writeText "config.nix" ''
+ pkgs:
+ {
+ platform = pkgs.platforms.fuloong2f_n32;
+ }
+ '';
+
+in
+
+{
+ require =
+ [ options
+ ./system-tarball.nix
+ ../../hardware/network/rt73.nix
+ ];
+
+
+ # Disable some other stuff we don't need.
+ security.sudo.enable = false;
+
+ # Include only the en_US locale. This saves 75 MiB or so compared to
+ # the full glibcLocales package.
+ i18n.supportedLocales = ["en_US.UTF-8/UTF-8" "en_US/ISO-8859-1"];
+
+ # Include some utilities that are useful for installing or repairing
+ # the system.
+ environment.systemPackages =
+ [ pkgs.subversion # for nixos-checkout
+ pkgs.w3m # needed for the manual anyway
+ pkgs.testdisk # useful for repairing boot problems
+ pkgs.mssys # for writing Microsoft boot sectors / MBRs
+ pkgs.parted
+ pkgs.ddrescue
+ pkgs.ccrypt
+ pkgs.cryptsetup # needed for dm-crypt volumes
+
+ # Some networking tools.
+ pkgs.sshfsFuse
+ pkgs.socat
+ pkgs.screen
+ pkgs.wpa_supplicant # !!! should use the wpa module
+
+ # Hardware-related tools.
+ pkgs.sdparm
+ pkgs.hdparm
+ pkgs.dmraid
+
+ # Tools to create / manipulate filesystems.
+ pkgs.ntfsprogs # for resizing NTFS partitions
+ pkgs.btrfsProgs
+ pkgs.jfsutils
+ pkgs.jfsrec
+
+ # Some compression/archiver tools.
+ pkgs.unrar
+ pkgs.unzip
+ pkgs.zip
+ pkgs.xz
+ pkgs.dar # disk archiver
+
+ # Some editors.
+ pkgs.nvi
+ pkgs.bvi # binary editor
+ pkgs.joe
+ ];
+
+ # The initrd has to contain any module that might be necessary for
+ # mounting the CD/DVD.
+ boot.initrd.availableKernelModules =
+ [ "vfat" "reiserfs" ];
+
+ boot.kernelPackages = pkgs.linuxPackages_2_6_35;
+ boot.kernelParams = [ "console=tty" ];
+
+ boot.initrd.kernelModules =
+ [ # Wait for SCSI devices to appear.
+ "scsi_wait_scan"
+ ];
+
+ boot.postBootCommands =
+ ''
+ mkdir -p /mnt
+
+ cp ${dummyConfiguration} /etc/nixos/configuration.nix
+ '';
+
+ # Some more help text.
+ services.mingetty.helpLine =
+ ''
+
+ Log in as "root" with an empty password. ${
+ if config.services.xserver.enable then
+ "Type `start xserver' to start\nthe graphical user interface."
+ else ""
+ }
+ '';
+
+ # Include the firmware for various wireless cards.
+ networking.enableRT73Firmware = true;
+ networking.enableIntel2200BGFirmware = true;
+
+ # To speed up further installation of packages, include the complete stdenv
+ # in the Nix store of the tarball.
+ tarball.storeContents = pkgs2storeContents [ pkgs.stdenv ]
+ ++ [
+ {
+ object = config.system.build.bootStage2;
+ symlink = "/boot/init";
+ }
+ {
+ object = config.system.build.toplevel;
+ symlink = "/boot/system";
+ }
+ ];
+
+ tarball.contents = [
+ { source = kernelParams;
+ target = "/kernelparams.txt";
+ }
+ { source = config.boot.kernelPackages.kernel + "/" +
config.system.boot.loader.kernelFile;
+ target = "/boot/" + config.system.boot.loader.kernelFile;
+ }
+ { source = nixpkgsUserConfig;
+ target = "/root/.nixpkgs/config.nix";
+ }
+ ];
+
+ # Allow sshd to be started manually through "start sshd". It should
+ # not be started by default on the installation CD because the
+ # default root password is empty.
+ services.openssh.enable = true;
+
+ jobs.openssh.startOn = pkgs.lib.mkOverrideTemplate 50 {} "";
+
+ services.ttyBackgrounds.enable = false;
+
+ boot.loader.grub.enable = false;
+ boot.loader.generationsDir.enable = false;
+ system.boot.loader.kernelFile = "vmlinux";
+
+ # Needed for nixos to evaluate
+ system.build.menuBuilder = "true";
+
+ nixpkgs.config = {
+ platform = pkgs.platforms.fuloong2f_n32;
+ };
+}
Modified: nixos/trunk/modules/installer/cd-dvd/system-tarball-pc.nix
==============================================================================
--- nixos/trunk/modules/installer/cd-dvd/system-tarball-pc.nix Tue Dec 28
21:19:57 2010 (r25315)
+++ nixos/trunk/modules/installer/cd-dvd/system-tarball-pc.nix Tue Dec 28
21:27:52 2010 (r25316)
@@ -23,4 +23,16 @@
# To speed up further installation of packages, include the complete stdenv
# in the Nix store of the tarball.
tarball.storeContents = pkgs2storeContents [ pkgs.stdenv pkgs.klibc
pkgs.klibcShrunk ];
+
+ tarball.contents =
+ [ { source = config.boot.kernelPackages.kernel + "/" +
config.system.boot.loader.kernelFile;
+ target = "/boot/" + config.system.boot.loader.kernelFile;
+ }
+ ];
+
+ # Allow sshd to be started manually through "start sshd". It should
+ # not be started by default on the installation CD because the
+ # default root password is empty.
+ services.openssh.enable = true;
+ jobs.openssh.startOn = pkgs.lib.mkOverrideTemplate 50 {} "";
}
Copied: nixos/trunk/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
(from r25315,
nixos/branches/stdenv-updates/modules/installer/cd-dvd/system-tarball-sheevaplug.nix)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ nixos/trunk/modules/installer/cd-dvd/system-tarball-sheevaplug.nix Tue Dec
28 21:27:52 2010 (r25316, copy of r25315,
nixos/branches/stdenv-updates/modules/installer/cd-dvd/system-tarball-sheevaplug.nix)
@@ -0,0 +1,186 @@
+# This module contains the basic configuration for building a NixOS
+# installation CD.
+
+{ config, pkgs, ... }:
+
+with pkgs.lib;
+
+let
+
+ # A dummy /etc/nixos/configuration.nix in the booted CD that
+ # rebuilds the CD's configuration (and allows the configuration to
+ # be modified, of course, providing a true live CD). Problem is
+ # that we don't really know how the CD was built - the Nix
+ # expression language doesn't allow us to query the expression being
+ # evaluated. So we'll just hope for the best.
+ dummyConfiguration = pkgs.writeText "configuration.nix"
+ ''
+ {config, pkgs, ...}:
+
+ {
+ require = [ ];
+
+ # Add your own options below and run "nixos-rebuild switch".
+ # E.g.,
+ # services.openssh.enable = true;
+ }
+ '';
+
+
+ pkgs2storeContents = l : map (x: { object = x; symlink = "none"; }) l;
+
+ options = {
+
+ system.nixosVersion = mkOption {
+ default = "${builtins.readFile ../../../VERSION}";
+ description = ''
+ NixOS version number.
+ '';
+ };
+ };
+
+ # A clue for the kernel loading
+ kernelParams = pkgs.writeText "kernel-params.txt" ''
+ Kernel Parameters:
+ init=${config.system.build.bootStage2}
systemConfig=${config.system.build.toplevel} ${toString
config.boot.kernelParams}
+ '';
+
+
+in
+
+{
+ require =
+ [ options
+ ./system-tarball.nix
+ ../../hardware/network/rt73.nix
+ ];
+
+ # Disable some other stuff we don't need.
+ security.sudo.enable = false;
+
+ # Include only the en_US locale. This saves 75 MiB or so compared to
+ # the full glibcLocales package.
+ i18n.supportedLocales = ["en_US.UTF-8/UTF-8" "en_US/ISO-8859-1"];
+
+ # Include some utilities that are useful for installing or repairing
+ # the system.
+ environment.systemPackages =
+ [ pkgs.subversion # for nixos-checkout
+ pkgs.w3m # needed for the manual anyway
+ pkgs.ddrescue
+ pkgs.ccrypt
+ pkgs.cryptsetup # needed for dm-crypt volumes
+
+ # Some networking tools.
+ pkgs.sshfsFuse
+ pkgs.socat
+ pkgs.screen
+ pkgs.wpa_supplicant # !!! should use the wpa module
+
+ # Hardware-related tools.
+ pkgs.sdparm
+ pkgs.hdparm
+ pkgs.dmraid
+
+ # Tools to create / manipulate filesystems.
+ pkgs.btrfsProgs
+
+ # Some compression/archiver tools.
+ pkgs.unrar
+ pkgs.unzip
+ pkgs.zip
+ pkgs.xz
+ pkgs.dar # disk archiver
+
+ # Some editors.
+ pkgs.nvi
+ pkgs.bvi # binary editor
+ pkgs.joe
+ ];
+
+ boot.loader.grub.enable = false;
+ boot.loader.generationsDir.enable = false;
+ system.boot.loader.kernelFile = "uImage";
+
+ boot.initrd.availableKernelModules =
+ [ "mvsdio" "mmc_block" "reiserfs" "ext3" "ums-cypress" "rtc_mv"
+ "ext4" ];
+
+ boot.initrd.kernelModules =
+ [
+ "scsi_wait_scan"
+ ];
+
+ boot.postBootCommands =
+ ''
+ mkdir -p /mnt
+
+ cp ${dummyConfiguration} /etc/nixos/configuration.nix
+ '';
+
+ boot.initrd.extraUtilsCommands =
+ ''
+ cp ${pkgs.utillinux}/sbin/hwclock $out/bin
+ '';
+
+ boot.initrd.postDeviceCommands =
+ ''
+ hwclock -s
+ '';
+
+ boot.kernelParams =
+ [
+ "selinux=0"
+ "console=tty1"
+ ];
+
+ boot.kernelPackages = pkgs.linuxPackages_2_6_35;
+
+ services.mingetty = {
+ ttys = [ "ttyS0" ];
+
+ # Some more help text.
+ helpLine = ''
+ Log in as "root" with an empty password. ${
+ if config.services.xserver.enable then
+ "Type `start xserver' to start\nthe graphical user interface."
+ else ""
+ }
+ '';
+ };
+
+ # Setting vesa, we don't get the nvidia driver, which can't work in arm.
+ services.xserver.videoDriver = "vesa";
+ services.xserver.videoDrivers = [];
+ services.nixosManual.enable = false;
+
+ # Include the firmware for various wireless cards.
+ networking.enableRT73Firmware = true;
+ networking.enableIntel2200BGFirmware = true;
+
+ # To speed up further installation of packages, include the complete stdenv
+ # in the Nix store of the tarball.
+ tarball.storeContents = pkgs2storeContents [ pkgs.stdenv ];
+ tarball.contents = [
+ { source = kernelParams;
+ target = "/kernelparams.txt";
+ }
+ { source = config.boot.kernelPackages.kernel + "/" +
config.system.boot.loader.kernelFile;
+ target = "/boot/" + config.system.boot.loader.kernelFile;
+ }
+ { source = pkgs.ubootSheevaplug;
+ target = "/boot/uboot";
+ }
+ ];
+
+ # Allow sshd to be started manually through "start sshd". It should
+ # not be started by default on the installation CD because the
+ # default root password is empty.
+ services.openssh.enable = true;
+ services.ttyBackgrounds.enable = false;
+ jobs.openssh.startOn = pkgs.lib.mkOverrideTemplate 50 {} "";
+
+ nixpkgs.config = {
+ platform = pkgs.platforms.sheevaplug;
+ };
+}
Modified: nixos/trunk/modules/installer/cd-dvd/system-tarball.nix
==============================================================================
--- nixos/trunk/modules/installer/cd-dvd/system-tarball.nix Tue Dec 28
21:19:57 2010 (r25315)
+++ nixos/trunk/modules/installer/cd-dvd/system-tarball.nix Tue Dec 28
21:27:52 2010 (r25316)
@@ -31,13 +31,6 @@
};
- # A clue for the uboot loading
- ubootKernelParams = pkgs.writeText "uboot-kernel-params.txt" ''
- Kernel Parameters:
- init=${config.system.build.toplevel}/init
- ${toString config.boot.kernelParams}
- '';
-
versionFile = pkgs.writeText "nixos-version" config.system.nixosVersion;
in
@@ -45,20 +38,11 @@
{
require = options;
- # Don't build the GRUB menu builder script, since we don't need it
- # here and it causes a cyclic dependency.
- boot.loader.grub.enable = false;
-
- # !!! Hack - attributes expected by other modules.
- system.build.menuBuilder = "true";
- system.boot.loader.kernelFile = "bzImage";
- environment.systemPackages = [ pkgs.grub2 ];
-
# In stage 1 of the boot, mount the CD/DVD as the root FS by label
# so that we don't need to know its device.
fileSystems =
[ { mountPoint = "/";
- label = "rootfs";
+ device = "/dev/sda";
}
];
@@ -77,23 +61,9 @@
# Individual files to be included on the CD, outside of the Nix
# store on the CD.
tarball.contents =
- [ { source = config.boot.kernelPackages.kernel + "/bzImage";
- target = "/boot/bzImage";
- }
- { source = config.system.build.initialRamdisk + "/initrd";
+ [ { source = config.system.build.initialRamdisk + "/initrd";
target = "/boot/initrd";
}
- { source = "${pkgs.grub2}/share/grub/unicode.pf2";
- target = "/boot/grub/unicode.pf2";
- }
- { source = config.boot.loader.grub.splashImage;
- target = "/boot/grub/splash.png";
- }
-/*
- { source = pkgs.ubootKernelParams;
- target = "/uboot-kernelparams.txt";
- }
-*/
{ source = versionFile;
target = "/nixos-version.txt";
}
@@ -110,7 +80,7 @@
''
# After booting, register the contents of the Nix store on the
# CD in the Nix database in the tmpfs.
- ${config.environment.nix}/bin/nix-store --load-db <
/nix/store/nix-path-registration
+ ${config.environment.nix}/bin/nix-store --load-db <
/nix-path-registration
# nixos-rebuild also requires a "system" profile and an
# /etc/NIXOS tag.
Modified: nixos/trunk/modules/misc/nixpkgs.nix
==============================================================================
--- nixos/trunk/modules/misc/nixpkgs.nix Tue Dec 28 21:19:57 2010
(r25315)
+++ nixos/trunk/modules/misc/nixpkgs.nix Tue Dec 28 21:27:52 2010
(r25316)
@@ -24,12 +24,5 @@
'';
};
- nixpkgs.platform = pkgs.lib.mkOption {
- default = pkgs.platforms.pc;
- description = ''
- The platform for the Nix Packages collection.
- '';
- };
-
};
}
Modified: nixos/trunk/release.nix
==============================================================================
--- nixos/trunk/release.nix Tue Dec 28 21:19:57 2010 (r25315)
+++ nixos/trunk/release.nix Tue Dec 28 21:27:52 2010 (r25316)
@@ -49,9 +49,7 @@
}:
with import nixpkgs {inherit system;};
-
let
-
version = builtins.readFile ./VERSION + (if officialRelease then "" else
"pre${toString nixosSrc.rev}");
versionModule = { system.nixosVersion = version; };
@@ -60,7 +58,7 @@
inherit system nixpkgs;
modules = [ module versionModule ];
}).config;
-
+
tarball = config.system.build.tarball;
in
tarball //
@@ -68,6 +66,7 @@
description = "NixOS system tarball for ${system} -
${stdenv.platform.name}";
maintainers = map (x: lib.getAttr x lib.maintainers) maintainers;
};
+ inherit config;
};
@@ -136,6 +135,18 @@
module = ./modules/installer/cd-dvd/system-tarball-pc.nix;
};
+ system_tarball_fuloong2f =
+ assert builtins.currentSystem == "mips64-linux";
+ makeSystemTarball {
+ module = ./modules/installer/cd-dvd/system-tarball-fuloong2f.nix;
+ } { system = "mips64-linux"; };
+
+ system_tarball_sheevaplug =
+ assert builtins.currentSystem == "armv5tel-linux";
+ makeSystemTarball {
+ module = ./modules/installer/cd-dvd/system-tarball-sheevaplug.nix;
+ } { system = "armv5tel-linux"; };
+
# Hacky: doesn't depend on configuration. Yet configuration is evaluated
(TODO)
minimal_install_archive = {system ? "i686-linux"}: (iso_minimal {inherit
system;})
.config.system.build.minimalInstallArchive;
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits