Commit graph

388 commits

Author SHA1 Message Date
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