Commit graph

54 commits

Author SHA1 Message Date
Eelco Dolstra
b15e1fbb08 Boot loader refactoring
- Renamed system.build.menuBuilder to system.build.installBootLoader.

- ‘install-grub.pl’ (formerly grub-menu-builder.pl) now generates the
  GRUB menu *and* installs GRUB (if necessary).

- ‘switch-to-configuration.sh’ has no boot loader specific knowledge
  anymore.  It just calls installBootLoader.
2012-07-25 10:47:32 -04:00
Eelco Dolstra
73532c3855 Global replace /var/run/current-system -> /run/current-system 2012-07-16 11:34:21 -04:00
Mathijs Kwik
a630b1f6f6 EFI shell got updated upstream, reflecting new hash 2012-07-05 08:31:44 +02:00
Eelco Dolstra
76c74cd7c7 initrd: Detect filesystem type before doing fsck/mount
BusyBox doesn't handle the "auto" filesystem type very well: fsck will
just ignore such filesystems, and mount will only work properly if the
required kernel module is already loaded.  Therefore, use blkid to
determine the filesystem type.

Also generate an /etc/fstab in the initrd rootfs on the fly.  This is
useful if you're dropped into an emergency shell since it allows you
to say "fsck /dev/sda1" or "mount /dev/sda" and have the right thing
happen.
2012-06-28 10:55:44 -04:00
Eelco Dolstra
598adfee3e Fix booting from the CD-ROM
So it turns out that BusyBox doesn't auto-load modules for filesystems
that have type "auto", e.g. it doesn't figure out that it should load
the "iso9660" module should be loaded when mounting the CD-ROM.  We
don't want to give the root FS on the CD type "iso9660", because that
breaks booting from a USB stick created by unetbootin.  So make sure
the "iso9660" module is loaded.
2012-06-22 11:55:23 -04:00
Shea Levy
c716747cce Need a slighty bigger boot image to contain the efi shell
svn path=/nixos/trunk/; revision=33986
2012-05-05 14:23:51 +00:00
Shea Levy
3aae8bfa61 Switch to using efi shell + startup.nsh as the
removable media efi boot option.

svn path=/nixos/trunk/; revision=33984
2012-05-04 22:16:35 +00:00
Eelco Dolstra
72990dae37 * Add some missing GRUB modules.
svn path=/nixos/trunk/; revision=33886
2012-04-23 00:30:48 +00:00
Shea Levy
fac0fef5d8 Whoops
svn path=/nixos/trunk/; revision=33264
2012-03-19 17:25:50 +00:00
Shea Levy
53580d514a You cant modprobe efivars from within the chroot, so modprobe efivars when booting an efi-compatible install CD
svn path=/nixos/trunk/; revision=33241
2012-03-18 18:55:47 +00:00
Shea Levy
b82c253b24 Add a kernel patch for the efi boot stub to read a config file when booted without arguments, and base removable media booting off of that patch
The patch is currently being discussed on LKML and hopefully will be included
in mainline in some form in the future. Note that booting from the livecd has
to do a lot of work before anything is output to the console, so if the drive
is still busy don't assume the boot has hanged

svn path=/nixos/trunk/; revision=33235
2012-03-18 17:14:52 +00:00
Shea Levy
097c656361 iso-image: Make efi-bootable cds actually bootable.
The image passed to genisofs needs to be a FAT image with the right filesystem
layout, not an EFI executable image

svn path=/nixos/trunk/; revision=33162
2012-03-16 16:45:40 +00:00
Shea Levy
d9e28e909c Move NixosBootPkg into NixOS
svn path=/nixos/trunk/; revision=33149
2012-03-16 11:53:50 +00:00
Shea Levy
c61d919941 Typographical conventions
svn path=/nixos/trunk/; revision=33148
2012-03-16 11:31:33 +00:00
Shea Levy
8efda48496 Enable building an efi-bootable ISO
svn path=/nixos/trunk/; revision=33140
2012-03-16 05:37:24 +00:00
Eelco Dolstra
9d89ca0c03 * Modularise vfat support. Also add fsck.vfat to the initrd. This
prevents errors when booting from VFAT (e.g. an ISO image converted
  using unetbootin).

svn path=/nixos/trunk/; revision=32956
2012-03-09 16:17:37 +00:00
Eelco Dolstra
3e30d87c26 * aufs2 -> aufs.
svn path=/nixos/trunk/; revision=30323
2011-11-08 15:12:11 +00:00
Peter Simons
20b364f4de Reverting revisions 30103-30106: "always set nixpkgs.config.{state,store}Dir", etc.
After the change from revision 30103, nixos-rebuild suddenly consumed
freaky amounts of memory. I had to abort the process after it had
allocated well in excess of 30GB(!) of RAM. I'm not sure what is causing
this behavior, but undoing that assignment fixes the problem. The other
two commits needed to be revoked, too, because they depend on 30103.

svn path=/nixos/trunk/; revision=30127
2011-10-30 15:19:58 +00:00
Shea Levy
09cf6ce70c find modules | fgrep .nix | fgrep -v .svn | fgrep -v nixpkgs.nix | xargs sed -i -e 's|/nix/var|${config.nixpkgs.config.nix.stateDir}|g' -e 's|/nix/store|${config.nixpkgs.config.nix.storeDir}|g'
Don't assume /nix/store or /nix/var in NixOS modules, this is configurable

svn path=/nixos/trunk/; revision=30104
2011-10-29 21:03:57 +00:00
Shea Levy
3a201ef6a7 Enable building ISOs for aufs3 kernels
svn path=/nixos/trunk/; revision=29538
2011-09-28 22:43:53 +00:00
Peter Simons
eb6e1310b8 strip trailing whitespace; no functional change
svn path=/nixos/trunk/; revision=29285
2011-09-14 18:20:50 +00:00
Eelco Dolstra
ee3269cbbd * Put "minimal" or "graphical" in the ISO name to distinguish between
the files.

svn path=/nixos/trunk/; revision=26901
2011-04-20 10:48:52 +00:00
Shea Levy
8dd6f42a91 Fixed formatting
svn path=/nixos/trunk/; revision=26647
2011-03-31 23:06:36 +00:00
Shea Levy
f269206972 Update iso-image.nix to work with kernels that use AUFS 2.1 instead of AUFS 2. Older kernels are unaffected.
svn path=/nixos/trunk/; revision=26646
2011-03-31 23:03:54 +00:00
Eelco Dolstra
d8b69f2fad * grub-mkimage now requires a format flag. Also, the "sh" module has
disappeared.  Hopefully it's not important :-)

svn path=/nixos/trunk/; revision=26234
2011-03-09 16:26:03 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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