Rickard Nilsson
ecdbc94e05
LUKS root: Add option allowDiscards (for SSD disks)
2012-08-02 11:27:28 +02:00
Shea Levy
feb010a366
NixOS kernels should support ELF executables
2012-08-02 00:47:36 -04:00
Shea Levy
9e300052bd
Add test to check that a machine with a minimal kernel but all of the requiredKernelConfig options set boots and shuts down
2012-08-01 22:32:16 -04:00
Shea Levy
2a983acaff
Enable specifying which kernel config options are needed for a given module
2012-08-01 21:50:43 -04:00
Eelco Dolstra
5f57110e1f
install-grub.pl: Fix Xen support
2012-08-01 21:48:29 +02:00
Eelco Dolstra
174d6a07e0
Fix whitespace
2012-07-30 13:49:10 -04:00
Eelco Dolstra
557f39aa0f
install-grub.pl: Apply the configuration limit only to old generations
2012-07-25 16:37:29 -04:00
Eelco Dolstra
b52117c34d
Treat init-script as a boot loader
2012-07-25 11:30:16 -04:00
Eelco Dolstra
8b91a5f2ff
Move boot loader modules to modules/system/boot/loader
2012-07-25 10:59:03 -04:00
Eelco Dolstra
a0721ad2b3
stage-1-init: Use mount --move to move /sys etc. to the target root
...
This fixes warnings about /sys/kernel/security during shutdown and
cleans up /proc/mounts.
2012-07-24 22:04:28 -04:00
Your Name
8bde72d99c
Mount securityfs needed for AppArmor and some TPM drivers.
...
Should be harmless.
2012-07-22 16:31:49 +03:00
Eelco Dolstra
71ca633431
Start agetty on tty1
...
‘logind’ automatically starts agetty on all virtual consoles except
tty1. We have to do that ourselves.
2012-07-20 18:32:24 -04:00
Eelco Dolstra
5fabcf63a3
Get delayed shutdowns to work
2012-07-20 15:40:50 -04:00
Eelco Dolstra
1375e7951d
Enable systemd-journal-flush.service (added by systemd 187)
2012-07-20 12:02:42 -04:00
Eelco Dolstra
02e37ba6b0
Shorten filenames of start scripts to make log messages more readable
2012-07-19 17:41:42 -04:00
Eelco Dolstra
6419172bc2
journald: enable logging to the console
2012-07-19 17:32:50 -04:00
Eelco Dolstra
917e53a2d2
Update units names for systemd-186
2012-07-16 17:47:11 -04:00
Eelco Dolstra
94daecd90b
save-hwclock.service: support time.hardwareClockInLocalTime
2012-07-16 17:32:26 -04:00
Eelco Dolstra
44d091674b
Merge branch 'master' of github.com:NixOS/nixos into systemd
...
Conflicts:
modules/config/networking.nix
modules/services/networking/ssh/sshd.nix
modules/services/ttys/agetty.nix
modules/system/boot/stage-2-init.sh
modules/system/upstart-events/shutdown.nix
2012-07-16 17:27:11 -04:00
Eelco Dolstra
98459eb675
Global replace /var/run/booted-system -> /run/booted-system
2012-07-16 11:34:21 -04:00
Eelco Dolstra
73532c3855
Global replace /var/run/current-system -> /run/current-system
2012-07-16 11:34:21 -04:00
Eelco Dolstra
bf15293b1e
Merge branch 'master' of github.com:NixOS/nixos into systemd
...
Conflicts:
modules/services/hardware/udev.nix
2012-06-28 14:19:38 -04: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
Shea Levy
bb5d2d53fe
try isn't used, so use the more compatct seq 10
2012-06-27 09:43:54 -04:00
Mathijs Kwik
061a998840
luks root: c-style for-loop -> seq
...
The ash shell no longer supports this bash-specific syntax.
This left systems that use luksroot unable to boot.
2012-06-27 09:42:55 -04:00
Eelco Dolstra
e64bdda52b
Don't use weird 777 permissions on unmounted /dev/shm
2012-06-27 09:35:53 -04:00
Eelco Dolstra
bd0f065c05
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-06-22 18:20:26 -04:00
Eelco Dolstra
980ba4d5a5
stage-1: mount /proc, /sys, /dev in the target root
...
The switch_root in BusyBox doesn't do this (while the one in
util-linux does). So we have to do this ourselves.
2012-06-22 13:51:42 -04:00
Eelco Dolstra
872a76b177
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-06-22 11:11:21 -04:00
Eelco Dolstra
9692495df0
Use BusyBox in the initrd
...
Using BusyBox instead of Bash plus a bunch of other tools gives us a
much more feature-full, yet smaller initrd. In particular, BusyBox
contains networking commands such as ip and a DHCP client, useful for
NFS boots. It's also much more convenient for rescue situations
because the shell has builtin readline support and there are many more
tools (including vi).
2012-06-22 10:43:06 -04:00
Eelco Dolstra
337423af8e
Backdoor: depend on /dev/hvc0
...
Systemd is the shit: units can declare a dependency on the appearance
of device nodes. Yay!
2012-06-19 17:36:02 -04:00
Eelco Dolstra
2fa1ba85c6
Enable the systemd password agents
2012-06-19 17:02:54 -04:00
Eelco Dolstra
d692a0807a
Don't mount /dev/pts since systemd does that for us
2012-06-19 15:25:56 -04:00
Eelco Dolstra
cacd608c37
Mount devtmpfs in the initrd
...
It seems that udev now requires devtmpfs, so enable it.
2012-06-19 15:15:40 -04:00
Eelco Dolstra
c73d642db2
Don't put quotes around environment values
2012-06-18 23:30:26 -04:00
Eelco Dolstra
c3fb248bcb
Get rid of the Upstart shutdown job
...
The only thing that Upstart's shutdown job did that systemd doesn't do
natively is update the hardware clock. So added a service for that.
2012-06-18 18:15:34 -04:00
Eelco Dolstra
9f5051b76c
Rename mingetty module to agetty
2012-06-18 17:55:27 -04:00
Eelco Dolstra
352510c208
Add an option ‘boot.systemd.services’
...
This option makes it more convenient to define services because it
automates stuff like setting $PATH, having a pre-start script, and so on.
2012-06-18 15:28:31 -04:00
Eelco Dolstra
42ee3b4209
Add a ‘wantedBy’ attribute to unit definitions
...
This attribute allows a unit to make itself a dependency of another unit.
Also, add an option to set the default target unit.
2012-06-17 23:31:21 -04:00
Eelco Dolstra
4a95f8996b
To ease migration to systemd, generate units from the ‘jobs’ option
...
Also get rid of the ‘buildHook’ job option because it wasn't very useful.
2012-06-16 00:19:43 -04:00
Eelco Dolstra
66f4d10843
Use pam_systemd.so to set up device ownership
...
This removes the need for ConsoleKit, so it's gone.
2012-06-15 14:51:48 -04:00
Eelco Dolstra
ab86759eb3
Use kmod instead of module-init-tools
2012-06-15 14:18:26 -04:00
Eelco Dolstra
164d6e6ab2
Use udev from systemd
2012-06-15 13:09:22 -04:00
Eelco Dolstra
a46894b960
Get lots more systemd stuff working
...
Enabled a bunch of units that ship with systemd. Also added an option
‘boot.systemd.units’ that can be used to define additional units
(e.g. ‘sshd.service’).
2012-06-14 18:44:56 -04:00
Eelco Dolstra
fae777c264
Merge branch 'master' of github.com:NixOS/nixos into systemd
2012-06-14 12:02:17 -04:00
Peter Simons
25155a02e6
Add findutils dependency for /tmp cleaning.
...
This dependency is only added if the setting is activated.
svn path=/nixos/trunk/; revision=34434
2012-06-11 07:05:15 +00:00
Peter Simons
4931188684
Integrate cleanTmpDir in stage-2-init.sh.
...
We're using find in order to remove dotfiles, too.
svn path=/nixos/trunk/; revision=34433
2012-06-11 07:05:13 +00:00
Peter Simons
fbf53168f3
Add new option config.boot.cleanTmpDir.
...
This option is to control if the user wants to have its /tmp directory cleaned
up during system boot.
svn path=/nixos/trunk/; revision=34432
2012-06-11 07:05:11 +00:00
Lluís Batlle i Rossell
9125d3af50
Adding creation of /dev/ptmx in stage-2, in case stage-1 did not run.
...
Upstart requires /dev/ptmx since its 1.4, and will lock up in case of it missing.
I was hitting this in the fuloong, where I don't use the nixos initrd.
svn path=/nixos/trunk/; revision=34429
2012-06-10 22:37:20 +00:00
Eelco Dolstra
f21aa7d22c
First attempt at using systemd
...
Basic booting works. Systemd starts agetty instances on tty1 and
tty2. Shutdown and journald also work.
2012-06-04 12:51:48 -04:00
Eelco Dolstra
e9e6885d3b
* Lower the limits on /run and /dev.
...
svn path=/nixos/trunk/; revision=34159
2012-05-17 19:33:12 +00:00
Eelco Dolstra
07fcf5baee
* Make the boot.initrd.luks.enable option obsolete. It's enough to
...
see that boot.initrd.luks.devices is non-empty.
svn path=/nixos/trunk/; revision=34120
2012-05-15 20:45:01 +00:00
Eelco Dolstra
67d5f2b444
* Require fileSystems to be set.
...
svn path=/nixos/trunk/; revision=34080
2012-05-14 01:33:11 +00:00
Eelco Dolstra
836fa3b6ae
* Fix missing semicolon.
...
svn path=/nixos/trunk/; revision=33933
2012-04-26 14:53:58 +00:00
Peter Simons
8c93993e1b
modules/system/boot/luksroot.nix: fixed the descriptions of the options defined in this module
...
svn path=/nixos/trunk/; revision=33927
2012-04-26 12:21:45 +00:00
Eelco Dolstra
2821289aeb
* Ugly hack: force udev to exit to prevent random "Device or resource
...
busy while trying to open /dev/xvda" errors from fsck.
svn path=/nixos/trunk/; revision=33766
2012-04-12 18:01:19 +00:00
Peter Simons
ec3dca188c
Dropped the unused/unknown/obsolete module i8042 from 'boot.initrd.kernelModules'.
...
svn path=/nixos/trunk/; revision=33654
2012-04-06 19:21:50 +00:00
Eelco Dolstra
4f4c529979
Stage 1 improvements:
...
* 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
2012-04-06 14:20:43 +00:00
Eelco Dolstra
1e8e83408b
* Revert unintended commit.
...
svn path=/nixos/trunk/; revision=33646
2012-04-06 12:23:44 +00:00
Eelco Dolstra
852e513638
* Handle booting from /dev/xvda.
...
svn path=/nixos/trunk/; revision=33645
2012-04-06 12:23:12 +00:00
Eelco Dolstra
e44b87dd31
* Pass --no-sessions to Upstart to make sure users cannot start
...
Upstart jobs (even when Upstart has attached to D-Bus).
svn path=/nixos/trunk/; revision=33617
2012-04-05 12:27:21 +00:00
Lluís Batlle i Rossell
f4883572d8
Making the init interactive shells handle well console kernel parameters
...
with extra parameters, like console=ttyS0,115200.
svn path=/nixos/trunk/; revision=33458
2012-03-28 19:58:44 +00:00
Eelco Dolstra
6f03065dce
* Move the setting of $MODULE_DIR to modprobe.nix.
...
* Add a slash to the end of $MODULE_DIR, as expected by depmod. (Not
that running depmod from the command line is all that useful, since
you can't use it to update the tree in the Nix store. But at least
commands like "depmod -n" work now.) Reported by Kirill Elagin on
IRC.
svn path=/nixos/trunk/; revision=33312
2012-03-20 22:02:27 +00:00
Eelco Dolstra
e86427f037
* Remove an obsolete line.
...
svn path=/nixos/trunk/; revision=33308
2012-03-20 21:43:13 +00:00
Eelco Dolstra
a51a83bd8c
* Drop obsolete line.
...
svn path=/nixos/trunk/; revision=33276
2012-03-19 19:34:06 +00:00
Eelco Dolstra
533448ae37
* udev: don't set the STARTUP flag anymore, since LVM no longer uses
...
it.
* Don't call "vgscan" anymore; VG scans are supposed to be automatic.
svn path=/nixos/trunk/; revision=33275
2012-03-19 19:10:27 +00:00
Eelco Dolstra
ebc6d7f435
* Attempt to fix the random "udevadm settle - timeout of 120 seconds
...
reached, the event queue contains: /sys/devices/virtual/tty/hvc1" VM
failures.
svn path=/nixos/trunk/; revision=33259
2012-03-19 15:10:39 +00:00
Eelco Dolstra
2cc8d0363e
* Move the implementation of boot.kernelModules to udev's postStart.
...
It needs udevd to be running because the modules may require
firmware. Thanks to Mathijs and Arie for pointing this out.
svn path=/nixos/trunk/; revision=33234
2012-03-18 14:03:42 +00:00
Eelco Dolstra
573877c1ac
* Use boot.kernelModules everywhere instead of explicit calls to
...
modprobe.
* Move the implementation of boot.kernelModules from the udev job to
the activation script. This prevents races with the udev job.
* Drop references to the "capability" kernel module, which no longer
exists.
svn path=/nixos/trunk/; revision=33208
2012-03-17 17:26:17 +00:00
Lluís Batlle i Rossell
dd6eb81797
Adding /etc/mdadm.conf, with the contents supplied at boot.initrd.mdadmConf.
...
This allows setting a fixed device name per array, thus ensuring that at boot,
the arrays will always be mounted with the same names. I think this allows
solving the problem of grub getting confused about softraid device names
(prefix and root), if the devices always get the same naming at initrd.
svn path=/nixos/trunk/; revision=33033
2012-03-13 13:26:21 +00:00
Lluís Batlle i Rossell
3c0fdaf877
Adding /dev/tty to the stage1, so 'more' and 'less' now page well.
...
svn path=/nixos/trunk/; revision=33006
2012-03-11 23:04:29 +00:00
Lluís Batlle i Rossell
ee163c2c80
Making the stage2 interpreter bash non-interactive, while keeping the
...
interactive shell with bash interactive. Suggested by Eelco.
svn path=/nixos/trunk/; revision=33005
2012-03-11 22:43:37 +00:00
Lluís Batlle i Rossell
1a48572b75
Disabling the initrd extra tools by default, until further review.
...
svn path=/nixos/trunk/; revision=33004
2012-03-11 22:28:31 +00:00
Lluís Batlle i Rossell
2fc537277b
Removing a 'set -x' in the stage1 extra tools.
...
svn path=/nixos/trunk/; revision=33003
2012-03-11 22:26:01 +00:00
Lluís Batlle i Rossell
d2e2bb4bc4
Typo
...
svn path=/nixos/trunk/; revision=33002
2012-03-11 22:07:37 +00:00
Lluís Batlle i Rossell
331b1f46d3
Making the stage2 'debug2' spawn a shell with job control, like in stage1, running it in a
...
virtual terminal and not in the console. This brings wonderful things like ^C.
svn path=/nixos/trunk/; revision=33001
2012-03-11 22:01:46 +00:00
Lluís Batlle i Rossell
bbebba68f7
A more friendly stage1, with interactive bash, busybox plenty of tools, etc.
...
I set it as default because users can benefit of this without having to prepare
their nixos first, and I don't think it will break any nixos for the initrd
size increase.
It can be disabled with 'boot.initrd.withExtraTools = false'.
svn path=/nixos/trunk/; revision=33000
2012-03-11 21:56:47 +00:00
Lluís Batlle i Rossell
6a0958cc06
Making stage2 get a full interactive bash for the stage2 init, so there the shell has readline,
...
jobs, etc.
svn path=/nixos/trunk/; revision=32999
2012-03-11 21:50:35 +00:00
Eelco Dolstra
03ebb883d1
* Modularize filesystem support. Filesystems such as btrfs and
...
reiserfs now have separate modules that are conditional on
boot.supportedFilesystems and boot.initrd.supportedFilesystems.
By default, these include the filesystems specified in the fsType
attribute in fileSystems. Ext2/3/4 support is currently
unconditional.
Also unbreak the installer test (http://hydra.nixos.org/build/2272302 ).
svn path=/nixos/trunk/; revision=32954
2012-03-09 14:37:58 +00:00
Lluís Batlle i Rossell
98dde13782
If enabling luks on initrd, also adding cryptsetup to system packages. I think it's useful.
...
svn path=/nixos/trunk/; revision=32910
2012-03-08 20:49:26 +00:00
Lluís Batlle i Rossell
1adaabef58
Adding an option to luksroot, so it allows to define whether to launch cryptsetup after or before LVM.
...
To allow dmcrypt over lvm and lvm over dmcrypt.
svn path=/nixos/trunk/; revision=32784
2012-03-04 21:00:35 +00:00
Lluís Batlle i Rossell
79d4b11aeb
Making the luks thing of initrd a bit more flexible. I used it to get a
...
ciphered swap, where I could hibernate ciphered.
svn path=/nixos/trunk/; revision=32754
2012-03-03 16:07:18 +00:00
Eelco Dolstra
ee0769cc42
* If debug2 is passed on the kernel command line, run Upstart with
...
the --verbose flag to see what it's doing.
svn path=/nixos/trunk/; revision=32747
2012-03-02 16:37:28 +00:00
Eelco Dolstra
f61ad97833
* Run the stage 2 debug shell at a more useful point (just before
...
starting Upstart). This also causes $PATH to be set to something
more sensible.
svn path=/nixos/trunk/; revision=32740
2012-03-02 13:17:05 +00:00
Eelco Dolstra
a218a602d4
* Use openresolv to set the static nameserver configuration. Next
...
step is to get the DHCP client, OpenVPN etc. to use openresolv as
well.
svn path=/nixos/trunk/; revision=32411
2012-02-20 00:00:50 +00:00
Florian Friesdorf
eb755d4692
switched all mergeOptionString to pkgs.lib.types.string
...
pierron recommended the use of types.string over mergeOptionString, as
it is superior but might break things.
For my system the change evaluated to the exactly same.
svn path=/nixos/trunk/; revision=31138
2011-12-29 00:51:35 +00:00
Florian Friesdorf
3ebc7727f7
Revert "test we have cryptsetup-1.4.1 in initrd"
...
This reverts commit 025f8c40b40fad50086e8761eee61098d8fb2651.
The check was intened for building the initrd of the installer.
svn path=/nixos/trunk/; revision=31137
2011-12-28 22:37:38 +00:00
Florian Friesdorf
0544a008db
Revert "added an "error" to luksroot that should be caught"
...
This reverts commit c7967af35a13f68a8785c142582b639dc8c8e92c.
svn path=/nixos/trunk/; revision=31136
2011-12-28 22:36:26 +00:00
Florian Friesdorf
829bd9a727
added an "error" to luksroot that should be caught
...
svn path=/nixos/trunk/; revision=31135
2011-12-28 22:21:31 +00:00
Florian Friesdorf
c7fd05a650
test we have cryptsetup-1.4.1 in initrd
...
svn path=/nixos/trunk/; revision=31132
2011-12-28 21:46:50 +00:00
Florian Friesdorf
c15aa7aea3
luksroot uses preLVMCommands instead of postDeviceCommands
...
svn path=/nixos/trunk/; revision=31131
2011-12-28 21:46:48 +00:00
Florian Friesdorf
90756a787c
add preLVMCommands hook
...
svn path=/nixos/trunk/; revision=31130
2011-12-28 21:46:45 +00:00
Florian Friesdorf
0a9f3a36ec
luksroot waits for usb drive
...
svn path=/nixos/trunk/; revision=31129
2011-12-28 21:46:42 +00:00
Florian Friesdorf
dd8e725d7d
copy only cryptsetup deps to stage-1 and test cryptsetup
...
popt-0.16 and cryptsetup-1.4.1 both generated pkgconfig (in contrast
to older versions). The pkgconfig files (popt.pc and cryptsetup.pc)
contain references into the store that are not removed by patchelf and
stage-1 fails with errors like: "output is not allowed to refer to
path `/nix/store/qccjhn063cfv171rcaxvxh0yk96zf7l2-cryptsetup-1.4.1'".
Now, only the cryptsetup binaries and its dependencies are copied,
determined by ldd. In addition the cryptsetup binary and lvm are
tested after patchelf has adjusted the library paths.
Thanks to Peter Simons and Eelco Dolstra for giving the rights hints.
svn path=/nixos/trunk/; revision=31128
2011-12-28 21:46:40 +00:00
Florian Friesdorf
d98ecd1d9e
enable testing of extraUtilsCommands after patchelf
...
svn path=/nixos/trunk/; revision=31127
2011-12-28 21:46:35 +00:00
Eelco Dolstra
2ff7b1284a
* Handle the util-linux-ng -> util-linux rename
...
(http://hydra.nixos.org/build/1646277/nixlog/1 ).
svn path=/nixos/trunk/; revision=30984
2011-12-20 13:36:11 +00:00
Eelco Dolstra
6e95485a28
* Set boot.vesa to false if we don't have a fbcondecor-enabled kernel.
...
svn path=/nixos/trunk/; revision=30802
2011-12-08 12:25:33 +00:00
Eelco Dolstra
508fea8dac
* Remove the cfq_iosched module.
...
svn path=/nixos/trunk/; revision=30618
2011-11-29 14:19:55 +00:00
Eelco Dolstra
fdc51c2c97
* Disable all fbcondecor-related stuff if boot.vesa is disabled.
...
svn path=/nixos/trunk/; revision=30343
2011-11-08 19:43:15 +00:00
Eelco Dolstra
fe566d84ae
* Remove references to the "safemode" boot option, which doesn't do
...
anything.
svn path=/nixos/trunk/; revision=30199
2011-11-03 00:46:29 +00:00