Commit Graph

359 Commits

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