Commit Graph

384 Commits

Author SHA1 Message Date
Sander van der Burg
c318bd097e Fixed the --no-out-link option
svn path=/nixos/trunk/; revision=25034
2010-12-08 14:30:55 +00:00
Sander van der Burg
11d2cd78e0 - deployment.targetHost is now used for connecting to remote hosts instead of deployment.hostname. This makes more sense.
- fixed error in the manual (nixos-deploy-network => nixos-build-vms)


svn path=/nixos/trunk/; revision=25031
2010-12-07 20:13:50 +00:00
Sander van der Burg
755c30c7a2 - nixos-deploy-network no longer uses an infrastructure model => use nixpkgs.system and deployment.hostname instead
- implemented --no-out-link option so that invoking these tools from scripts leave no garbage behind
- some misc. cleanups


svn path=/nixos/trunk/; revision=25019
2010-12-06 22:02:37 +00:00
Eelco Dolstra
651a38019d * nixos-deploy-network: build the deploy script locally as an
optimisation and workaround for Nix/210.

svn path=/nixos/trunk/; revision=24956
2010-12-02 18:09:53 +00:00
Eelco Dolstra
e97a3d9cb6 * Fix incorrect path to switch-to-configuration.
svn path=/nixos/trunk/; revision=24955
2010-12-02 17:22:24 +00:00
Lluís Batlle i Rossell
25b9c03571 Updating from trunk (specially for the enableFontDir option, as it was not up
to date for nixpkgs)


svn path=/nixos/branches/stdenv-updates/; revision=24871
2010-11-26 14:16:12 +00:00
Nicolas Pierron
30943d2dc0 Fix nixos-option, accept long arguments.
svn path=/nixos/trunk/; revision=24631
2010-11-09 18:42:59 +00:00
Lluís Batlle i Rossell
ccc99b3fc0 Updating from trunk
svn path=/nixos/branches/stdenv-updates/; revision=24555
2010-10-31 19:36:37 +00:00
Lluís Batlle i Rossell
8c27201ce0 Fixing mkOverride and openssh things on system-tarballs
svn path=/nixos/branches/stdenv-updates/; revision=24554
2010-10-31 19:34:39 +00:00
Sander van der Burg
9c722e474d - Added nixos-build-vms command, which builds a virtual network from a network.nix expression (also used by nixos-deploy-network)
- Added a backdoor option to the interactive run-vms script. This allows me to intergrate the virtual network approach with Disnix
- Small documentation fixes

Some explanation:

The nixos-build-vms command line tool can be used to build a virtual network of a network.nix specification.
For example, a network configuration (network.nix) could look like this:

{
  test1 = 
    {pkgs, config, ...}:
 
    {
      services.openssh.enable = true;
      ...
    };

  test2 =
    {pkgs, config, ...}:
    
    {
      services.openssh.enable = true;
      services.xserver.enable = true;
    }

    ;
}

By typing the following instruction:

$ nixos-build-vms -n network.nix

a virtual network is built, which can be started by typing:

$ ./result/bin/run-vms

It is also possible to enable a backdoor. In this case *.socket files are stored in the current directory
which can be used by the end-user to invoke remote instruction on a VM in the network through a Unix
domain socket.

For example by building the network with the following instructions:

$ nixos-build-vms -n network.nix --use-backdoor

and launching the virtual network:

$ ./result/bin/run-vms

You can find two socket files in your current directory, namely: test1.socket and test2.socket.
These Unix domain sockets can be used to remotely administer the test1 and test2 machine
in the virtual network.

For example by running:

$ socat ./test1.socket stdio
ls /root

You can retrieve the contents of the /root directory of the virtual machine with identifier test1


svn path=/nixos/trunk/; revision=24410
2010-10-21 22:50:12 +00:00
Lluís Batlle i Rossell
1acbc4a82f Updating from trunk. Blind commit - no coflicts.
svn path=/nixos/branches/stdenv-updates/; revision=24370
2010-10-19 20:45:35 +00:00
Sander van der Burg
936e4e73d7 Modified the nixos-deploy-network script to use a 2PC-like approach illustrated in the Disnix HotSWUp paper for system configurations
svn path=/nixos/trunk/; revision=24352
2010-10-18 19:47:46 +00:00
Lluís Batlle i Rossell
51d0ccdf3c Updating from trunk (to catch cron changes)
I had some merge problems with the system-tarball; I hope I've resolved them.


svn path=/nixos/branches/stdenv-updates/; revision=24201
2010-10-10 11:46:57 +00:00
Sander van der Burg
122e125d6b Added the nixos-deploy-network tool. With this tool you can write a network of NixOS configurations, e.g.:
{
  test1 = {pkgs, config, ...}:
    {
       # NixOS config of machine test1
       ...
    };

  test2 = {pkgs, config, ...}:
    {
       # NixOS config of machine test2
       ...
    };
}

And an infrastructure expression, e.g:

{
  test1 = {
    hostName = "test1.example.org";
    system = "i686-linux";
  };
  test2 = {
    hostName = "test2.example.org";
    system = "x86_64-linux";
  };
}

And by executing:

nixos-deploy-network -n network.nix -i infrastructure.nix

The system configurations in the network expression are built, transferred to the machines in the network and finally activated. 


svn path=/nixos/trunk/; revision=24146
2010-10-07 14:30:52 +00:00
Eelco Dolstra
17213c4f2a * When generating a GRUB 1 menu, don't use the "module" command to
load the initrd, because pv-grub doesn't like it.

svn path=/nixos/trunk/; revision=24068
2010-10-05 13:11:30 +00:00
Rob Vermaas
7468ad50e0 nixos-option.sh: fix typo
svn path=/nixos/trunk/; revision=24015
2010-10-01 06:31:27 +00:00
Nicolas Pierron
567f37f3e4 Export tools which may be useful for users that want to switch to NixOS
without using a live CD.

svn path=/nixos/trunk/; revision=23939
2010-09-26 13:39:16 +00:00
Nicolas Pierron
62c9591d0b Fix usage message (-description) and honor $NIXOS instead of $NIXOS_PATH.
svn path=/nixos/trunk/; revision=23937
2010-09-26 08:43:55 +00:00
Nicolas Pierron
7ea957fd3d Add --install option for nixos-option which is used to handle options of
the target system (when installing) and also to generate a template
configuration file for users.

svn path=/nixos/trunk/; revision=23923
2010-09-25 22:29:50 +00:00
Nicolas Pierron
fe7c1eb16b Remove duplicated definitions.
svn path=/nixos/trunk/; revision=23921
2010-09-25 09:44:48 +00:00
Nicolas Pierron
e20ef7564e Update live-dvd configuration.
svn path=/nixos/trunk/; revision=23919
2010-09-25 09:33:17 +00:00
Nicolas Pierron
c18fe31160 Make nixos-hardware-scan adding a profile to the generated configuration
file.

svn path=/nixos/trunk/; revision=23918
2010-09-25 09:33:13 +00:00
Nicolas Pierron
5fb80fcc4b Extract rescue profile from the the corresponding CD.
svn path=/nixos/trunk/; revision=23917
2010-09-25 09:33:09 +00:00
Nicolas Pierron
9936a6f525 Simplify system-tarball-pc.nix. Factor detected / undetected devices into
the instalaltion-device profile.

svn path=/nixos/trunk/; revision=23916
2010-09-25 09:33:03 +00:00
Nicolas Pierron
f3cc01bd3b Extract graphical and minimal profiles from the installation CDs.
svn path=/nixos/trunk/; revision=23915
2010-09-25 09:32:57 +00:00
Nicolas Pierron
59429aa449 Change the policy used to select files added in the import list of the
generated configuration.  Use all files listed as modules of eval-config.

svn path=/nixos/trunk/; revision=23914
2010-09-25 09:32:52 +00:00
Nicolas Pierron
d2d139e920 Move the generation of the dummy configuration file into the installation
device profile.

TODO: The current configuration does not reproduce exactly the CD
configuration, fix it.

svn path=/nixos/trunk/; revision=23913
2010-09-25 09:32:48 +00:00
Nicolas Pierron
112cd0c4d4 Add an installation device profile, and use it it the basic installation CD.
svn path=/nixos/trunk/; revision=23912
2010-09-25 09:32:43 +00:00
Nicolas Pierron
cf103b8d4d Add 2 index file to define the default case for detected and not-detected
devices.  These are used to replace hand made listings in the basic
installation CD.

The configuration file, which is generated by nixos-hardware-scan, enables
not-detected devices by default.

svn path=/nixos/trunk/; revision=23911
2010-09-25 09:32:37 +00:00
Nicolas Pierron
c90a7b9be4 Remove duplicated (modules-list) includes from the basic installation cd.
svn path=/nixos/trunk/; revision=23910
2010-09-25 09:32:32 +00:00
Nicolas Pierron
d304d12f37 Extract a base profile from the basic installation cd.
svn path=/nixos/trunk/; revision=23909
2010-09-25 09:32:27 +00:00
Lluís Batlle i Rossell
c1e4586ed1 Again trying to get the kernelFile paths right
svn path=/nixos/branches/stdenv-updates/; revision=23836
2010-09-17 17:25:46 +00:00
Lluís Batlle i Rossell
743b75fbaf Making the fuloong2f system-tarball more specific for the fuloong, so, helping in how
to use the system more easily.


svn path=/nixos/branches/stdenv-updates/; revision=23826
2010-09-16 19:26:34 +00:00
Lluís Batlle i Rossell
3b216865d2 Writing better some sheevaplug system-tarball lines (kernel parameters in a single line, for example)
svn path=/nixos/branches/stdenv-updates/; revision=23825
2010-09-16 19:25:29 +00:00
Lluís Batlle i Rossell
83d012ba13 Trying to fix again system-tarball-pc (again, the kernel file name)
svn path=/nixos/branches/stdenv-updates/; revision=23824
2010-09-16 19:24:52 +00:00
Lluís Batlle i Rossell
7672c36a70 Trying to get system-tarball-pc build properly.
svn path=/nixos/branches/stdenv-updates/; revision=23814
2010-09-15 21:36:56 +00:00
Eelco Dolstra
c4f910f550 * Substitute the path of the system derivation directly in the stage 2
init script.  This removes the need for the `systemConfig' boot
  parameter; `init=<stage-2-init>' is enough.  However, the GRUB menu
  builder still needs to add `systemConfig' to the kernel command line
  for compatibility with old configurations.

svn path=/nixos/trunk/; revision=23775
2010-09-13 22:10:25 +00:00
Lluís Batlle i Rossell
245df33c6c Making the system tarballs of fuloong and sheevaplug reference the proper nixpkgs, and not that of /etc/...
svn path=/nixos/branches/stdenv-updates/; revision=23772
2010-09-13 20:52:49 +00:00
Eelco Dolstra
c1295661c4 * Added a command `nixos-rebuild build-vm-with-bootloader'. This is
like `build-vm', but boots using the regular boot loader (i.e. GRUB
  1 or 2) rather than booting directly from the kernel/initrd.  Thus
  it allows testing of GRUB.

svn path=/nixos/trunk/; revision=23747
2010-09-13 12:34:58 +00:00
Eelco Dolstra
987dd76811 * Added a module to enable the Xen hypervisor.
svn path=/nixos/trunk/; revision=23739
2010-09-12 22:43:45 +00:00
Eelco Dolstra
8edefa2960 * Grrr. Fix the sort order.
svn path=/nixos/trunk/; revision=23732
2010-09-10 17:35:13 +00:00
Eelco Dolstra
4ae4b7d47f * Support booting Xen in the Grub menu builder.
svn path=/nixos/trunk/; revision=23730
2010-09-10 17:15:35 +00:00
Eelco Dolstra
8f4139987e * Regex listing the system generations was selecting the number from
only the first generation in the list.  (From Karn Kallio.)

svn path=/nixos/trunk/; revision=23728
2010-09-10 15:47:06 +00:00
Eelco Dolstra
7b635ee4ed * "ls -d" -> "echo", since "ls" prints the current directory if
nothing matches.

svn path=/nixos/trunk/; revision=23716
2010-09-10 12:25:59 +00:00
Lluís Batlle i Rossell
9ba735714a Adding a system-tarball expression for the sheevaplug (which a previous commit already put a reference to)
svn path=/nixos/branches/stdenv-updates/; revision=23690
2010-09-08 17:15:31 +00:00
Lluís Batlle i Rossell
ccf7852e11 Updating the system-tarball work, having just tested that of the fuloong2f.
svn path=/nixos/branches/stdenv-updates/; revision=23689
2010-09-08 16:53:36 +00:00
Nicolas Pierron
c9dc3651da Replace mkOverride by its alias mkOverrideTemplate to remove the unused
template argument of mkOverride later.

svn path=/nixos/trunk/; revision=23631
2010-09-03 19:10:59 +00:00
Nicolas Pierron
1f69bc4b9d Remove deprecated notation in tools.nix.
svn path=/nixos/trunk/; revision=23630
2010-09-03 19:10:54 +00:00
Nicolas Pierron
9e04f67b3d Add nixos-option tool to investigate option details on the cmd-line.
svn path=/nixos/trunk/; revision=23629
2010-09-03 19:10:50 +00:00
Michael Raskin
597e083d82 Adding an option to include build dependencies into ISO image
svn path=/nixos/trunk/; revision=23502
2010-08-29 12:11:31 +00:00
Eelco Dolstra
8c960af984 * Handle the case where /boot is on the same filesystem as /
but on a different filesystem than /nix/store.  In that case
  we need to copy the kernels and initrds to /boot.

svn path=/nixos/trunk/; revision=23085
2010-08-10 08:36:59 +00:00
Eelco Dolstra
cbc05c1480 * Enable wpa_supplicant on the installation CD.
svn path=/nixos/trunk/; revision=23034
2010-08-08 13:55:35 +00:00
Eelco Dolstra
e8e7ee356c * In the installation CD, pass the label of the CD through the
root=... kernel command line parameter, instead of hard-coding it in
  `fileSystems'.  This is to allow CD-to-USB converters such as
  UNetbootin to rewrite the kernel command line to the label or UUID
  of the USB stick.

svn path=/nixos/trunk/; revision=23024
2010-08-07 14:16:18 +00:00
Eelco Dolstra
d7d2d5e3d5 * Add some NLS modules required to mount FAT filesystems. We need
this to boot the NixOS installer from a USB stick.

svn path=/nixos/trunk/; revision=23019
2010-08-06 23:09:37 +00:00
Eelco Dolstra
05fc10f3a8 * Add dosfstools to the installation CD (for
{mkfs,fsck}.{vfat,msdos}).

svn path=/nixos/trunk/; revision=23006
2010-08-06 18:52:00 +00:00
Eelco Dolstra
d659488209 * Use the regular GRUB menu builder for Amazon. There are two issues:
we want to generate the GRUB menu without actually installing GRUB
  (because Amazon supplies its own pv-grub), and each menu entry
  requires "root (hd0)".  For the first, allow boot.loader.grub.device
  to be set to "nodev" to indicate that the GRUB menu should be
  generated without installing GRUB.  For the second, add an option
  boot.loader.grub.extraPerEntryConfig to allow commands to be added
  to each GRUB menu entry (in this case, "root (hd0)").

svn path=/nixos/trunk/; revision=22712
2010-07-22 14:40:29 +00:00
Eelco Dolstra
f1dde44ac1 * Added an action `nixos-rebuild pull' to just pull the Nixpkgs
channel manifest and exit.  Useful if you don't want to use
  nix-channel.

svn path=/nixos/trunk/; revision=22601
2010-07-14 14:18:27 +00:00
Eelco Dolstra
baf54c517d * Fix the terminal_output command. (This used to work but not with
the latest GRUB I guess.)

svn path=/nixos/trunk/; revision=22575
2010-07-13 11:48:40 +00:00
Eelco Dolstra
54d201294b * Sync with the trunk.
svn path=/nixos/branches/boot-order/; revision=22487
2010-07-06 08:21:05 +00:00
Lluís Batlle i Rossell
41cc6ecdbb Trying to make the nixos-bootstrap-archive (nixos-minimal-archive in other places named) to have an
hydra build product for easy tarball download.


svn path=/nixos/trunk/; revision=22440
2010-07-01 17:54:03 +00:00
Eelco Dolstra
d43d321e86 * Sync with the trunk.
svn path=/nixos/branches/boot-order/; revision=22349
2010-06-20 20:54:31 +00:00
Eelco Dolstra
a65b5ec81c * Added an option boot.loader.grub.extraConfig to add commands to
grub.cfg before the menu entries.  (This could also be done using
  `extraEntriesBeforeNixOS', but then you can't have entries *after*
  the main entry anymore.)
* In the installer test, redirect GRUB output to the serial port.

svn path=/nixos/branches/boot-order/; revision=22300
2010-06-16 22:18:26 +00:00
Lluís Batlle i Rossell
f69d7b1768 Fixing my previous bad commit on stat. Thank you David!
svn path=/nixos/trunk/; revision=22297
2010-06-16 15:17:02 +00:00
Lluís Batlle i Rossell
fbb3046a87 Making the grub menu builder take a better path at distinguishing if / and /boot are different fs.
I chose %D over %d because I like hex more.


svn path=/nixos/trunk/; revision=22294
2010-06-16 13:58:15 +00:00
Eelco Dolstra
ca1910e4b0 * Seems that we don't need the aufs2 mount helper.
svn path=/nixos/trunk/; revision=22038
2010-05-28 09:35:24 +00:00
Eelco Dolstra
f9f224972a * Use AUFS2.
svn path=/nixos/trunk/; revision=22033
2010-05-28 07:09:34 +00:00
Yury G. Kudryashov
2dfd9b51ae gnupg2 is now called gnupg
svn path=/nixos/trunk/; revision=21889
2010-05-19 21:11:46 +00:00
Marc Weber
ce642f0cc2 nixos-rebuild: accept both: -jn and -j n
svn path=/nixos/trunk/; revision=21410
2010-04-28 19:52:03 +00:00
Yury G. Kudryashov
a30637aba5 Really use nix-worker in nixos-rebuild
svn path=/nixos/trunk/; revision=21307
2010-04-25 18:26:51 +00:00
Eelco Dolstra
c1e313b5e1 * Remove obsolete references to kernelPackages in Nixpkgs.
svn path=/nixos/trunk/; revision=20647
2010-03-16 12:10:06 +00:00
Ludovic Courtès
8e16742b79 Update users of `services.sshd'.
svn path=/nixos/trunk/; revision=20575
2010-03-11 17:02:53 +00:00
Ludovic Courtès
bcd3cd85f3 installation-cd: Add an `installer.basePackages' option.
svn path=/nixos/trunk/; revision=20573
2010-03-11 17:02:36 +00:00
Eelco Dolstra
1065e86642 * In nixos-rebuild, build config.environment.nix before trying nixFallback or nixUnstable.
svn path=/nixos/trunk/; revision=20376
2010-03-04 14:38:53 +00:00
Lluís Batlle i Rossell
b6090bff9d Making the bootloaders respect the platform.kernelTarget set in nixpkgs.
svn path=/nixos/trunk/; revision=20283
2010-02-27 22:17:10 +00:00
Lluís Batlle i Rossell
093b51a562 Removing references to linux kernel 'vmlinuz', and making them point to 'bzImage'.
That should match with a related change in nixpkgs.


svn path=/nixos/trunk/; revision=20095
2010-02-18 11:35:39 +00:00
Lluís Batlle i Rossell
1dd3162d7c First attempt at trying to get a tarball of a bootable nixos system.
What I want with this derivation is to allow the sheevaplug nixos to
build a tarball with all the needed files to boot. Then, this can be
unpacked into an SD card, or into a NFS/TFTP server, and then the
user can boot the system with help of the uboot console.
By now, I have only tried to build the tarball in a PC, in order
to develop the nix expressions quicker.

There is nothing written specialy for the Sheevaplug in all this,
by now.


svn path=/nixos/trunk/; revision=20035
2010-02-15 23:27:51 +00:00
Eelco Dolstra
dbc03fbf68 * nixos-install: copy /etc/nsswitch.conf to the chroot. This seems
necessary to have it use /etc/hosts.

svn path=/nixos/trunk/; revision=19905
2010-02-10 14:31:46 +00:00
Eelco Dolstra
6a06118f85 * Use the build flags given on the command line while building Nix.
svn path=/nixos/trunk/; revision=19799
2010-02-03 22:49:50 +00:00
Lluís Batlle i Rossell
13ee735395 Making nixos work well with the new names 'linuxPackages' in stdenv-updates, additionally
to the nixpkgs trunk 'kernelPackages'.
Seeing a strange kernelPackages mentioned in installation-cd-rescue (2.6.31_something) I
update that to 2.6.32.


svn path=/nixos/trunk/; revision=19443
2010-01-14 19:50:49 +00:00
Eelco Dolstra
5c66611f3e svn path=/nixos/trunk/; revision=19333 2010-01-10 18:34:32 +00:00
Eelco Dolstra
1a0bb65901 * Added a regression test for whether the Nixpkgs channel works. This
is done by instantiating a webserver that simulates nixos.org.
  Using nix-push we create a channel that contains some stuff (namely
  the GNU Hello source tarball and the rlwrap program).  This was a
  bit tricky because nix-push requires a writable Nix store.  Using
  AUFS this is possible, but not on recent Linux kernels (AUFS1 over
  CIFS fails).

svn path=/nixos/trunk/; revision=19327
2010-01-10 01:26:01 +00:00
Eelco Dolstra
39796e26b4 * Removed the boot.isLiveCD option. Moved the code for mounting a
tmpfs on top of the CD to iso-image.nix.

svn path=/nixos/trunk/; revision=19318
2010-01-09 15:13:06 +00:00
Eelco Dolstra
34341d810a * Remove a debug line.
svn path=/nixos/trunk/; revision=19285
2010-01-07 13:53:09 +00:00
Eelco Dolstra
83478a0800 * Add klibc and klibcShrunk to the CD because they're always needed
during an installation.

svn path=/nixos/trunk/; revision=19273
2010-01-06 20:51:10 +00:00
Eelco Dolstra
8ebde1ea8a * Add the modules for all block devices.
svn path=/nixos/trunk/; revision=19271
2010-01-06 20:09:53 +00:00
Eelco Dolstra
1b21115f61 * Support creating a virtual disk in the test driver.
svn path=/nixos/trunk/; revision=19263
2010-01-06 14:37:23 +00:00
Eelco Dolstra
1da72333d9 * Put the NixOS boot at the top so that it's the default.
svn path=/nixos/trunk/; revision=19255
2010-01-06 12:24:20 +00:00
Eelco Dolstra
790368e315 * Removed installation-cd-minimal-fresh-kernel.nix since the kernel in
installation-cd-minimal.nix is now 2.6.32.  Added most of its extra
  tools to installation-cd-base.nix.
* Put memtest86 at the bottom of the GRUB menu.  (There is currently
  no good way to do this other than to change the module inclusion
  order.)

svn path=/nixos/trunk/; revision=19188
2010-01-03 17:13:30 +00:00
Eelco Dolstra
21216b0461 * Move some kernel modules around.
svn path=/nixos/trunk/; revision=19187
2010-01-03 16:29:17 +00:00
Marc Weber
4378018164 nixos-rebuild: allow passing --fallback
replacing if .. fi by case .. esac

svn path=/nixos/trunk/; revision=19186
2010-01-03 13:36:23 +00:00
Eelco Dolstra
64c75274e1 * Use Linux 2.6.32 on the installation CD.
svn path=/nixos/trunk/; revision=19166
2010-01-01 16:26:01 +00:00
Marc Weber
93cb9f819d cosmetic: remove redundancy
svn path=/nixos/trunk/; revision=19040
2009-12-18 15:08:50 +00:00
Eelco Dolstra
44dafe885b * Don't enable this by default.
svn path=/nixos/trunk/; revision=19012
2009-12-17 11:43:12 +00:00
Marc Weber
4ff6821a03 module creating /sbin/init
svn path=/nixos/trunk/; revision=19009
2009-12-17 06:04:36 +00:00
Eelco Dolstra
aa445933a7 * Include some more firmware in the installation CD.
svn path=/nixos/trunk/; revision=19007
2009-12-16 23:52:02 +00:00
Eelco Dolstra
0ca7619e62 svn path=/nixos/trunk/; revision=18999 2009-12-16 18:58:34 +00:00
Eelco Dolstra
deb4f88c2c * Let the GRUB menu builder detect whether /boot is on a different
partition from /.  If so, copy the kernels and initrds to /boot and
  use paths relative to /boot in the GRUB configuration file.  This
  makes the boot.loader.grub.bootDevice option obsolete.  (Is there a
  way to mark obsolete options?)  It also makes it unnecessary to set
  boot.loader.grub.copyKernels, although that option is still
  available since it can speed up GRUB if the Nix store is very
  large.

svn path=/nixos/trunk/; revision=18998
2009-12-16 18:57:02 +00:00
Eelco Dolstra
8d588424d2 * switch-to-configuration: force a reinstallation of GRUB whenever the
GRUB version changes.  (That's the complete version from the name
  attribute, not the boot.loader.grub.version attribute.)  The current
  version is recorded in /boot/grub/version.  This is required to
  prevent massive breakage when we change the default value of
  boot.loader.grub.version to "2".

svn path=/nixos/trunk/; revision=18997
2009-12-16 18:11:26 +00:00
Marc Weber
181f4bee26 fix nixos-intall(2). Now the configuration is built correctly.
Passing --arg configuration does no longer work!

svn path=/nixos/trunk/; revision=18983
2009-12-15 23:26:55 +00:00
Marc Weber
4b5864666e * refactoring kvm test and bootstrapping image.
expose makeInfo (used by test now)
  expose config hack
* Adding tests to release.nix
* fixes
* removing dependency on perl

refactoring details:
Move all configuration modules used by the NixOS installation test script
into one directory.

svn path=/nixos/trunk/; revision=18982
2009-12-15 23:26:52 +00:00
Eelco Dolstra
79bcc7618e * Make the graphical boot work on GRUB 2 in the case where /nix/store
is not on the same partition as /boot (i.e. when
  boot.loader.grub.bootDevice is set): just copy the background image
  and the font to /boot.

svn path=/nixos/trunk/; revision=18979
2009-12-15 21:11:39 +00:00
Eelco Dolstra
cea70d24e9 * The default default menu item (sic) should be 0, not 1. (Or is this
different for GRUB 2?)
* Clean up the option descriptions.

svn path=/nixos/trunk/; revision=18976
2009-12-15 18:21:55 +00:00
Eelco Dolstra
6c9059e717 * Added an option `boot.initrd.availableKernelModules' that specifies
modules that should be added to the initrd, but should only be
  loaded on demand (e.g. by the kernel or by udev).  This is
  especially useful in the installation CD, where we now only load the
  modules needed by the hardware.
* Enable automatic modprobing by udev in the initrd.

svn path=/nixos/trunk/; revision=18975
2009-12-15 16:38:20 +00:00
Eelco Dolstra
a612fd0d5e * Obsoleted boot.initrd.extraKernelModules (use
boot.initrd.kernelModules instead).

svn path=/nixos/trunk/; revision=18969
2009-12-15 14:05:01 +00:00
Marc Weber
401fd84ae1 kvm installation test update + NixOS installation archive
You can run the kvm nixos installation test by:
  nix-build --no-out-link tests/test-nixos-install-from-cd.nix
It boots the installed system.
It still fails sshd isn't started (yet)

adding nixos-bootstrapping-archive:
You can install NixOS easily using any live cd now.
See README-BOOTSTRAP-NIXOS

svn path=/nixos/trunk/; revision=18950
2009-12-15 06:37:32 +00:00
Marc Weber
4d7e344f69 Adding initial version of the nixos cd insallation test script using
qemu_kvm. Installation doesn't take place yet. VM is started
printing a remote controlled "Hello".

This serves as example how to run a vm within a bulid job.

svn path=/nixos/trunk/; revision=18887
2009-12-11 00:51:13 +00:00
Marc Weber
086c3d6328 making default and timeout of grub overridable
also updating grub option names to current names

svn path=/nixos/trunk/; revision=18886
2009-12-11 00:51:07 +00:00
Eelco Dolstra
f26080c5f4 * Clean up the nixos-rebuild output a bit.
svn path=/nixos/trunk/; revision=18859
2009-12-09 18:23:48 +00:00
Eelco Dolstra
aa9d0a067e * Sync with the trunk.
svn path=/nixos/branches/upstart-0.6/; revision=18408
2009-11-18 11:50:06 +00:00
Michael Raskin
f9958cbb44 Update kernel version for fresh-kernel
svn path=/nixos/trunk/; revision=18379
2009-11-17 09:00:49 +00:00
Eelco Dolstra
c1b008b4e3 * Don't build the Grub menu builder script on the ISO. Then we don't
the /init and /system symlinks on the CD (since it removes the
  cyclic dependency between building the Grub menu and the system
  derivation).

svn path=/nixos/branches/upstart-0.6/; revision=18344
2009-11-14 16:12:02 +00:00
Lluís Batlle i Rossell
e164ea4df8 Fixing bash syntax errors in the generations-dir builder.
svn path=/nixos/trunk/; revision=18342
2009-11-13 19:30:39 +00:00
Eelco Dolstra
7621b40d56 * Provide a 640x480 background image for GRUB 2.
* Turn on the graphical GRUB boot screen for the installation CD.

svn path=/nixos/branches/upstart-0.6/; revision=18340
2009-11-13 16:45:41 +00:00
Eelco Dolstra
091631b433 * Use Grub 2 on the installation CD. No graphics yet.
svn path=/nixos/branches/upstart-0.6/; revision=18325
2009-11-10 21:42:38 +00:00
Lluís Batlle i Rossell
420639a4b1 Making generations-dir consider the pkgs.platform.
stdenv-updates stuff. Still to be reviewed, but at least an implementation to have
some different armv5tel-linux platforms: qemu versatile and the sheevaplug.


svn path=/nixos/trunk/; revision=18290
2009-11-08 17:38:35 +00:00
Nicolas Pierron
8c5b200164 * boor.loader.grub.device can only be defined once.
* Replace an obscure piece of code by its equivalent based on the
  recursiveUpdate function.  Undefined the obsolete name of
  boot.grubDevice to avoid conflicts.

svn path=/nixos/trunk/; revision=18049
2009-10-30 11:57:23 +00:00
Michael Raskin
35abca4e7a Forward-port sshd fixes to iso-minimal-fresh-kernel. By the way, maybe we should finalyy decide what to do with kernel update and corresponding ISO update (to fresh-kernel proposal or otherwise)
svn path=/nixos/trunk/; revision=17840
2009-10-16 04:27:59 +00:00
Marc Weber
fceadcbef7 --redo -> --fast
svn path=/nixos/trunk/; revision=17839
2009-10-15 23:39:57 +00:00
Eelco Dolstra
da5f745603 * You need an override here, otherwise bad things happen.
svn path=/nixos/trunk/; revision=17831
2009-10-15 14:32:15 +00:00
Eelco Dolstra
e055085ac1 svn path=/nixos/trunk/; revision=17823 2009-10-15 12:32:33 +00:00
Marc Weber
f3472f7163 new nixos-rebuild shortcut for --no-fetch --no-nix-build --show-trace called --redo
svn path=/nixos/trunk/; revision=17813
2009-10-14 23:56:11 +00:00
Marc Weber
ba496e25c4 allow starting of sshd using "start sshd" - but don't start it on
startup automatically because root password is empty by default.

svn path=/nixos/trunk/; revision=17811
2009-10-14 21:48:12 +00:00
Marc Weber
e611266285 Revert "add /root/my-firmware to the list of firmware directories"
This reverts rev 17809  - I missed the update

svn path=/nixos/trunk/; revision=17810
2009-10-14 21:44:25 +00:00
Marc Weber
70b4e1a371 add /root/my-firmware to the list of firmware directories
svn path=/nixos/trunk/; revision=17809
2009-10-14 21:35:39 +00:00
Lluís Batlle i Rossell
336d33e591 Adding the wifi nic rt73 firmware into the nixos cds.
I'm not sure if I had to add the module file reference in "required", or all
modules are properly loaded.


svn path=/nixos/trunk/; revision=17800
2009-10-14 13:10:41 +00:00
Ludovic Courtès
290f41bd9f GRUB: "Grub" -> "GRUB".
svn path=/nixos/trunk/; revision=17793
2009-10-13 21:39:23 +00:00
Ludovic Courtès
f9541e0d12 Add GRUB 2 support.
svn path=/nixos/trunk/; revision=17792
2009-10-13 21:39:18 +00:00
Eelco Dolstra
679c3f9295 * Fix the xfsprogs/jfsutils attribute names. TODO: these shouldn't be
listed in three different places.  The set of "rescue" packages
  should be factored out into a separate module.

svn path=/nixos/trunk/; revision=17727
2009-10-08 13:10:08 +00:00
Nicolas Pierron
2e34baba3b Rename environment.extraPackages to environment.systemPackages.
svn path=/nixos/trunk/; revision=17705
2009-10-07 17:14:25 +00:00
Eelco Dolstra
636a9e7e32 * Add rename clauses for the old Grub options.
* Renamed some of the new Grub options to more sensible names
  (e.g. extraGrubEntries to extraEntries, bootMount to bootDevice,
  etc.).

svn path=/nixos/trunk/; revision=17494
2009-09-29 09:50:38 +00:00
Lluís Batlle i Rossell
75f6cd20da Making modular my previous changes for armv5tel. I updated the way to use
grub. Its options are no more inside 'boot', but inside 'boot.loader.grub'.
I added a new bootloader configuration for nixos, generationsDir. It creates
/boot/default/{init,initrd,kernel,system} symlinks, and the same for the generations
in /boot/system-$gen/{init,initrd,kernel,system}.

I can program the u-boot loader to load /boot/default files always, and have
a minimal nixos boot loader installer functionality. Additionally, I can refer
to the other system generations easily, with a simple 'ls' in /boot.

svn path=/nixos/trunk/; revision=17460
2009-09-27 21:51:37 +00:00
Michael Raskin
478dd67532 Fixing incorrect file reference
svn path=/nixos/trunk/; revision=17311
2009-09-20 18:48:34 +00:00
Michael Raskin
69cc6ce3ec Refactoring modules and cleaning up a comment
svn path=/nixos/trunk/; revision=17310
2009-09-20 18:15:52 +00:00
Michael Raskin
de555c3705 Reduce size of iso-minimal-fresh-kernel and make it easier to install offline
svn path=/nixos/trunk/; revision=17301
2009-09-20 15:07:19 +00:00
Michael Raskin
9be240eaf2 Add rescue functionality
svn path=/nixos/trunk/; revision=17296
2009-09-20 09:50:24 +00:00
Michael Raskin
406bcd0d4f Adding the single package needed for the offline installation
svn path=/nixos/trunk/; revision=17291
2009-09-20 06:00:50 +00:00
Michael Raskin
a574ae095a Fresh kernel means fresh kernel!
svn path=/nixos/trunk/; revision=17272
2009-09-19 11:09:22 +00:00
Michael Raskin
3202022355 Adding an updated iso_minimal version
svn path=/nixos/trunk/; revision=17186
2009-09-16 12:31:23 +00:00
Eelco Dolstra
a9eadf9fe6 * Add vfat to the initrd on the CD to enable people to copy the
contents of the CD to a bootable USB stick.

svn path=/nixos/trunk/; revision=17109
2009-09-14 13:19:28 +00:00
Nicolas Pierron
a07e90d6f3 Update the documentation:
* Change the module syntax of the example to follow Eelco's suggestions.

* Add a section "Building your own NixOS CD", which explain how to replace
configuration.nix by the configuration file of a live CD/DVD.

* Fix "Testing the installer" and "Testing the initrd" to fit the location
of derivations.

svn path=/nixos/trunk/; revision=17105
2009-09-13 22:13:19 +00:00
Eelco Dolstra
685335df2f * system.build.system -> system.build.toplevel, since the former name
is just too weird.

svn path=/nixos/trunk/; revision=16954
2009-09-04 09:29:18 +00:00
Eelco Dolstra
a7001d34d7 * Oops, didn't want to commit that.
svn path=/nixos/trunk/; revision=16898
2009-08-31 13:46:56 +00:00
Eelco Dolstra
921b838149 * test -> tests.
svn path=/nixos/trunk/; revision=16897
2009-08-31 13:40:57 +00:00
Eelco Dolstra
2892aed712 * lib/eval-config.nix: combined "configuration" and "extraModules"
into one argument "modules".
* release.nix: fixed the manual job.
* ISO generation: break an infinite recursion.  Don't know why this
  suddenly happens.  Probably because of the nixpkgs.config change,
  but I don't see why.  Maybe the option evaluation is too strict.

svn path=/nixos/trunk/; revision=16878
2009-08-27 11:57:43 +00:00
Nicolas Pierron
923f58794a Add --rollback option to nixos-rebuild.
svn path=/nixos/trunk/; revision=16771
2009-08-19 15:04:19 +00:00
Eelco Dolstra
89ef5c979b * New nixos-rebuild action: "nixos-rebuild build-vm" builds a virtual
machine containing a replica (minus the state) of the system
  configuration.  This is mostly useful for testing configuration
  changes prior to doing an actual "nixos-rebuild switch" (or even
  "nixos-rebuild test").  The VM can be started as follows:

  $ nixos-rebuild build-vm
  $ ./result/bin/run-*-vm

  which starts a KVM/QEMU instance.  Additional QEMU options can be
  passed through the QEMU_OPTS environment variable
  (e.g. QEMU_OPTS="-redir tcp:8080::80" to forward a host port to the
  guest).  The fileSystem attribute of the regular system
  configuration is ignored (using mkOverride), because obviously we
  can't allow the VM to access the host's block devices.  Instead, at
  startup the VM creates an empty disk image in ./<hostname>.qcow2 to
  store the VM's root filesystem.

  Building a VM in this way is efficient because the VM shares its Nix
  store with the host (through a CIFS mount).  However, because the
  Nix store of the host is mounted read-only in the guest, you cannot
  run Nix build actions inside the VM.  Therefore the VM can only be
  reconfigured by re-running "nixos-rebuild build-vm" on the host and
  restarting the VM.

svn path=/nixos/trunk/; revision=16662
2009-08-11 01:35:56 +00:00
Eelco Dolstra
32bb5b2d0f * Bring back the options to enable/disable the Intel firmwares.
svn path=/nixos/branches/modular-nixos/; revision=16574
2009-08-04 08:50:02 +00:00
Eelco Dolstra
383370f782 * Don't create a temporary file in $HOME.
svn path=/nixos/branches/modular-nixos/; revision=16561
2009-08-03 12:44:45 +00:00
Eelco Dolstra
6802a75076 * nixos-rebuild: replaced some environment variables with options
(e.g. --install-grub instead of $NIXOS_INSTALL_GRUB).  Also support
  some nix-build options (e.g. --show-trace and -j).

svn path=/nixos/branches/modular-nixos/; revision=16560
2009-08-03 12:36:15 +00:00
Michael Raskin
bef1dc8bd5 Update RC kernel for rescue CD: includes some BtrFS fixes
svn path=/nixos/branches/modular-nixos/; revision=16515
2009-07-30 04:20:56 +00:00
Michael Raskin
8f7b33c87d I thought squashfs would not require loop.ko
svn path=/nixos/branches/modular-nixos/; revision=16388
2009-07-16 10:28:58 +00:00
Michael Raskin
fac9d09941 Oops, forgot FS modules
svn path=/nixos/branches/modular-nixos/; revision=16387
2009-07-16 10:06:53 +00:00
Michael Raskin
e155a46516 Forgot all-module fixes for the correct booting in rescue CD
svn path=/nixos/branches/modular-nixos/; revision=16386
2009-07-16 09:48:22 +00:00
Michael Raskin
a7f24fd4bb Trying to build a good rescue CD..
svn path=/nixos/branches/modular-nixos/; revision=16385
2009-07-16 09:22:40 +00:00
Eelco Dolstra
da996583ee * Include the NixOS manpages in the system environment. Actually
there is only one currently: configuration.nix(5), which contains a
  list of all the options.

svn path=/nixos/branches/modular-nixos/; revision=16360
2009-07-14 16:27:46 +00:00
Eelco Dolstra
1803c67d13 * Leave out HAL and d-bus (not needed).
svn path=/nixos/branches/modular-nixos/; revision=16032
2009-06-24 09:11:26 +00:00
Eelco Dolstra
74995fe553 * The CD volume label was just over the limit of 32 characters.
svn path=/nixos/branches/modular-nixos/; revision=16027
2009-06-22 16:38:11 +00:00
Eelco Dolstra
97a4e1fcb3 * Rename the CD modules to something more sensible.
* Make sure that reconfiguration in the live CD works properly by
  including the proper configuration module in
  /etc/nixos/configuration.nix.  Ugly.

svn path=/nixos/branches/modular-nixos/; revision=16016
2009-06-22 10:03:58 +00:00
Eelco Dolstra
fc3eecad91 * Remove some references to the services tree.
svn path=/nixos/branches/modular-nixos/; revision=16015
2009-06-22 10:01:14 +00:00
Eelco Dolstra
c46dc8ad10 * Fix nixos-hardware-scan. BTW the model is now to do something like
$ nixos-hardware-scan > /etc/nixos/hardware.nix

  and import the hardware.nix module in /etc/nixos/configuration.nix.
  That way you can easily rescan for new hardware.

svn path=/nixos/branches/modular-nixos/; revision=15979
2009-06-17 10:41:17 +00:00
Eelco Dolstra
c3ea825c23 * Fix installing from the modular branch. system/system.nix no longer
exists.  $NIXPKGS needs to be set, otherwise NixOS can't find
  Nixpkgs (because in the chroot it's in /mnt/etc/nixos/nixpkgs).
  Also clear LANG to shut up Perl warnings about the locale.

svn path=/nixos/branches/modular-nixos/; revision=15978
2009-06-17 10:07:31 +00:00
Eelco Dolstra
03760c0c03 * `installation-cd-big.nix' builds a NixOS installation CD containing
an X server and KDE 4.  Thanks to squashfs it's only 466 MiB large.
  `installation-cd-small.nix' builds the original, text-only
  installation CD.

svn path=/nixos/branches/modular-nixos/; revision=15934
2009-06-11 09:51:27 +00:00
Eelco Dolstra
cd1e4aefc1 * Break the cyclic dependency between the system derivation and
Grub's menu.lst.

svn path=/nixos/branches/modular-nixos/; revision=15931
2009-06-10 21:46:42 +00:00
Eelco Dolstra
1cea6b09ef * Compress the Nix store on the CD using squashfs. This reduces the
size of the i686-linux ISO image from 463 MiB to 147 MiB.  Hopefully
  it also speeds up installation due to reduced seek time and larger
  block sizes, but I haven't tested that yet (on real hardware).

svn path=/nixos/branches/modular-nixos/; revision=15930
2009-06-10 16:29:48 +00:00
Eelco Dolstra
135240e05f * Sigh. The nix-env call has to come after nix-store --load-db.
Should really allow an ordering between postBootCommands.

svn path=/nixos/branches/modular-nixos/; revision=15923
2009-06-10 12:51:16 +00:00
Eelco Dolstra
463cf8efdd * Provide a /etc/nixos/configuration.nix in the booted CD to make
nixos-rebuild work.  This makes it a true live CD.

svn path=/nixos/branches/modular-nixos/; revision=15922
2009-06-10 12:34:58 +00:00
Eelco Dolstra
1f8602afd2 * Get rid of the old CD/DVD expressions. live-dvd.nix is basically
rescue-dvd.nix (not tested though), i.e. it has all its extra
  packages and includes the build-time dependencies.

svn path=/nixos/branches/modular-nixos/; revision=15917
2009-06-10 11:00:29 +00:00
Eelco Dolstra
ba43b5d000 * Set the CD volume ID and the ISO filename.
svn path=/nixos/branches/modular-nixos/; revision=15912
2009-06-09 15:23:03 +00:00
Eelco Dolstra
803d8b646f * Option isoImage.storeContents to add extra paths to the Nix store on
the CD.

svn path=/nixos/branches/modular-nixos/; revision=15906
2009-06-09 13:27:50 +00:00
Eelco Dolstra
45e6fe420c svn path=/nixos/branches/modular-nixos/; revision=15905 2009-06-09 13:14:43 +00:00
Eelco Dolstra
6023722135 * Provide Memtest86 as a module.
svn path=/nixos/branches/modular-nixos/; revision=15904
2009-06-09 12:02:52 +00:00
Eelco Dolstra
37edcf4fae * Provide an option to add more files to the ISO image.
svn path=/nixos/branches/modular-nixos/; revision=15903
2009-06-09 12:01:31 +00:00
Eelco Dolstra
ca061eb628 * Include the NixOS/Nixpkgs trees on the CD.
svn path=/nixos/branches/modular-nixos/; revision=15897
2009-06-08 22:45:45 +00:00
Eelco Dolstra
606a8c87a1 svn path=/nixos/branches/modular-nixos/; revision=15894 2009-06-08 22:43:41 +00:00
Eelco Dolstra
eb8b534173 * Include only the en_US locale on the CD. This saves 75 MiB or so.
svn path=/nixos/branches/modular-nixos/; revision=15883
2009-06-05 17:19:30 +00:00
Eelco Dolstra
0a0260514d * Renamed boot.localCommands to boot.postBootCommands since it wasn't
such a good name (local to what?).

svn path=/nixos/branches/modular-nixos/; revision=15879
2009-06-05 16:02:58 +00:00
Eelco Dolstra
5cf8604b1e * Module that contains the configuration for the NixOS installation CD
(not yet complete).

svn path=/nixos/branches/modular-nixos/; revision=15878
2009-06-05 15:10:15 +00:00
Eelco Dolstra
e4e408293e * Modularise the building of the installation CD/DVD. The module
iso-image.nix contains the minimal stuff necessary to build a
  bootable ISO image containing the given configuration.  The idea is
  that this can be customised by providing additional modules, e.g. to
  add extra packages to the image.

  The ISO image is exported in the configuration attribute
  system.build.isoImage.  So it can be built as follows:

  $ nix-build lib/eval-config.nix \
      --arg configuration 'import ./modules/installer/cd-dvd/iso-image.nix' \
      -A config.system.build.isoImage


svn path=/nixos/branches/modular-nixos/; revision=15871
2009-06-05 13:35:27 +00:00
Eelco Dolstra
548fb6a1a5 * Move the optional parts of the system path to the appropriate
modules.

svn path=/nixos/branches/modular-nixos/; revision=15791
2009-05-29 13:15:31 +00:00
Eelco Dolstra
0da38f14f5 * Forgot to commit.
svn path=/nixos/branches/modular-nixos/; revision=15789
2009-05-29 12:43:29 +00:00
Eelco Dolstra
f36643b6c2 * Move the installer tools to modules/installer/tools.
svn path=/nixos/branches/modular-nixos/; revision=15788
2009-05-29 12:41:29 +00:00
Eelco Dolstra
df96e5c456 * Move nixos-checkout into its own module.
svn path=/nixos/branches/modular-nixos/; revision=15787
2009-05-29 12:24:48 +00:00
Eelco Dolstra
3c6ae39a0d * Refactoring: moved some options out of system/options.nix (almost
empty now), do more of bashrc.sh declaratively, and moved nsswitch
  generation to modules/config/nsswitch.nix.

svn path=/nixos/branches/modular-nixos/; revision=15754
2009-05-27 23:14:38 +00:00
Eelco Dolstra
a65aae0140 * Moved more modules.
svn path=/nixos/branches/modular-nixos/; revision=15722
2009-05-25 13:42:46 +00:00