- 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.
The old GRUB menu builder script is quite slow, typically taking
several seconds. This is a real annoyance since it's run every time
you switch to a new configuration. Therefore this patch replaces the
Bash script with a much faster Perl script. In a VirtualBox test, the
execution time went from 2.7s to 0.1s. The Perl version is also more
correct because it uses XML to get the GRUB configuration (through
builtins.toXML), so there are no shell escaping issues.
The new script currently lacks support for subconfigurations defined
through "nesting.children".
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.
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.
It complained that grub device wasn't defined, and I guess it wanted some
fileSystems too. I copied those details from the sheevaplug expression, that I
made evaluate some minutes ago.
svn path=/nixos/trunk/; revision=34238
sources should be stored. E.g. "nixos-checkout /home/eelco/srcs"
will check out to /home/eelco/srcs/{nixos,nixpkgs}. Probably the
/etc/nixos default should be removed eventually because /etc is a
pretty weird place to keep large source trees.
svn path=/nixos/trunk/; revision=34086
were obtained from the NixOS channel. "nixos-install" copies this
to the installed system as well.
* In the installation CD, set GC_INITIAL_HEAP_SIZE to a low value for
the benefit of memory-constrained environments.
svn path=/nixos/trunk/; revision=33887
* Change the name of the top-level derivation from "system" to
"nixos-<version>".
* Show the NixOS version in the GRUB boot menu instead of the kernel
version.
svn path=/nixos/trunk/; revision=33785
I set the grub entry for memtest to read "Memtest86", as suggested by Eelco.
I run:
svn merge -c -33692 ^/nixos/trunk
And edited the change a bit.
svn path=/nixos/trunk/; revision=33734
currently activated NixOS. This is "0.1pre-svn" when built from a
SVN tree, but contains the actual revision when installed from the
NixOS channel or from the ISO.
svn path=/nixos/trunk/; revision=33730
rather than root. Also copy all manifests into the chroot so that
any nix-pull done outside the chroot is "inherited".
svn path=/nixos/trunk/; revision=33725
dhcpcd to segfault randomly or give corrupt output. See e.g.
http://hydra.nixos.org/build/2380666/nixlog/1/raw
The problem seems to be that wicd sends a "-k" command to dhcpcd to
release the interface, which doesn't work well with a dhcpcd that
handles all interfaces in one process.
svn path=/nixos/trunk/; revision=33720
the same as the usual nixos. I think this trivial change works;
I checked the grub.cfg output generated in the iso_minimal.
svn path=/nixos/trunk/; revision=33692
because it can be overriden choosing another memtest86.
As an effect of a change in nixpgks, the isos will include
memtest86 4.0a instead of memtest86+ 4.20, only because the
former is released later, and I deduce it should work better.
svn path=/nixos/trunk/; revision=33691
* Load scsi_wait_scan after all other kernel modules to ensure that
all SCSI device nodes have been created.
* Increase the timeout for the appearance of the root device to 20
seconds.
* Do a "udevadm settle" just after the root device has appeared to
make sure that udev isn't accessing the device anymore (hopefully).
On EC2 (Xen), I've seen fsck on the root fail randomly with "device
in use" errors.
svn path=/nixos/trunk/; revision=33650
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
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
Note: This feature is INCOMPLETE. Moreover, when runEfibootmgr is true it will
MODIFY NVRAM and, on Apple systems, possibly brick your firmware. PLEASE be
careful while further testing is performed
svn path=/nixos/trunk/; revision=33047