Commit Graph

285 Commits (3b51f4f30bc84130bdea8d50003a98538504fb81)

Author SHA1 Message Date
Andreas Thienemann 5fa499403f cleanup environment before calling real init 2009-05-26 18:08:19 +02:00
Andreas Thienemann e89bf85757 Prevent unnecessary installation of bash if bash. Same goes for dash. 2009-05-26 18:06:56 +02:00
Victor Lowther 08d924f6a8 Actaully make 95udev-rules.ub810/check work 2009-05-25 17:08:04 -05:00
Victor Lowther cfc5b698e6 Add dependency info to the plymouth modules and the nfsroot module.
No point in making it easy for them to fail.
2009-05-25 16:59:17 -05:00
Victor Lowther 1e19548857 Add check files for network and nfsroot
This way dracut will not try to install them if the system does not have
the needed prerequisites.
2009-05-25 16:35:57 -05:00
Victor Lowther fa9763f52a Make check scripts for 90dmraid and 90dmsetup actually work. 2009-05-25 11:52:17 -05:00
Harald Hoyer 16a775be26 Revert "root=dhcp"
This reverts commit 4c715d64b2.
2009-05-25 18:24:13 +02:00
Harald Hoyer 65f14ce19c renamed internal command line options to rd* namespace
ramfsdebug -> rdinitdebug
udevinfo -> rdudevinfo
udevdebug -> rdudevdebug
2009-05-25 17:59:21 +02:00
Victor Lowther fe9143d9ca Move content of 00test module into the test subdir
The last changes made the 00test module really awkward anyways, so just
hack the test module into the initramfs in a slight more brutal fashion.
2009-05-25 17:49:56 +02:00
Victor Lowther 0c2e3d1221 Add infrastructure for dracut module dependency checking.
This also eliminates --skip-missing.  Check scripts should now check
to ensure that any files and settings they will copy from the host
system actually exist when called without arguments.

The check scripts are also updated to not try to source dracut-functions
which(1) is a perfectly good way of checking if a command is on the path.
2009-05-25 17:49:39 +02:00
Harald Hoyer 443a72d0cf chmod u+x modules.d/40nfsroot/install 2009-05-25 16:49:26 +02:00
Harald Hoyer 5a87522d49 use 40nfsroot 2009-05-25 16:49:10 +02:00
Harald Hoyer e6db216f0b move /var/lib/nfs/rpc_pipefs to NEWROOT only if directory exists 2009-05-25 16:48:36 +02:00
Harald Hoyer 4c715d64b2 root=dhcp 2009-05-25 16:48:19 +02:00
Harald Hoyer 28df9479e1 make root=dhcp work 2009-05-25 16:48:01 +02:00
Harald Hoyer 0e14fae0fe use 40nfsroot instead of 95NFS 2009-05-25 15:32:30 +02:00
Harald Hoyer 9223814d59 do not trap if hostname is empty 2009-05-25 15:32:30 +02:00
David Dillow f6f74096f6 nfsroot: mount NFS root from udev rules
Work-in-progress to mount NFS root from udev, using the DHCP options and
allowing an override from the kernel command line. Supports NFSv4 w/locking
and NFSv2/v3 with nolock.

This is just an RFC patch, you'll note all the XXX markings where I've been
thinking about how to best do things. In addition, we really want to retry
DHCP and NFS mounting in a loop, in case the servers are down or overloaded
like when booting a full diskless cluster.
2009-05-25 12:19:38 +02:00
David Dillow 7e9919b927 network: prepare network configuration engine for udev-based nfsroot
This changes the network config to run dhclient from within udev, and
allows multiple dhclients to run at once. It also sets the hostname and
adds a kernel command line option 'netdebug' to help debug network issues.
2009-05-25 12:19:25 +02:00
David Dillow df44688f3e lib: create a library for useful shell functions
There are several snippits of shell code that are useful to multiple
scripts. Start by moving getarg() into the library.

Signed-off-by: David Dillow <dave@thedillows.org>
2009-05-25 12:13:54 +02:00
Andreas Thienemann 3512925ae2 Make generation of testroot images succeed
sorry, patch was reversed.

correct patch below:
2009-05-25 11:50:20 +02:00
Victor Lowther 4957ab92f2 Create test image on an md array and improve cryptroot handling
If we purport to test booting to an md raid, we may as well test it.

We do not need the plymouth module and the normal crypt module to include
duplicate functionality.
2009-05-25 11:36:32 +02:00
Victor Lowther 9335cb383a We create our test image with root as an LVM menber.
We purport to support booting off an encrypted LVM PV, may as well test it.
2009-05-25 11:36:27 +02:00
Warren Togami 7ee170746f Abort if switch_root does not exist.
Otherwise it would succeed silently when we KNOW it would fail, which is not cool.
Usually this means you didn't build switch_root in your dracut checkout and you used dracut -l.
(This currently cannot be done in a check script, because of the current design of check.
Andreas intends on discussing a redesign on the list.)
2009-05-21 19:14:50 -04:00
Warren Togami 4ae46e575d Oops, make it work 2009-05-21 15:16:44 -04:00
Warren Togami 76434898ad Do not attempt to load policy if selinux-policy is not installed. 2009-05-21 14:34:38 -04:00
Warren Togami d03caf15cc Check /sbin/plymouthd for arch instead of /proc/$$/exe. /sbin/plymouthd is guaranteed to be there and be the correct arch. 2009-05-21 12:15:58 -04:00
Warren Togami 1a1b179a5b module-init-tools only recognizes files ending in *.conf, so only copy files of that pattern. 2009-05-21 11:38:25 -04:00
Andreas Thienemann 3b8c6ac696 add xts module to crypto 2009-05-20 18:06:27 +02:00
Andreas Thienemann fc791a7fde fix -t auto for fstype="" 2009-05-20 16:51:50 +02:00
Andreas Thienemann 9a4495557f add missing files for plymouth 2009-05-20 14:38:22 +02:00
Harald Hoyer 5ce91332ba silence plymouth install 2009-05-20 14:25:35 +02:00
Harald Hoyer 69f8af0267 plymouth hide-splash on emergency shell 2009-05-20 14:25:35 +02:00
Harald Hoyer a4aee9e573 add emergency hook 2009-05-20 14:25:35 +02:00
Harald Hoyer ea62f0eb2a fixed NFS mounting 2009-05-20 14:25:31 +02:00
Harald Hoyer 9c6f43f0e7 set "-t auto" as default if fstype is emtpy 2009-05-20 14:01:03 +02:00
Harald Hoyer 6d090d6427 silence the "check"'s 2009-05-20 14:00:28 +02:00
Harald Hoyer 6cfef0c638 check for plymouth-set-default-theme not plymouth-set-default-plugin 2009-05-20 12:33:11 +02:00
Harald Hoyer 155c171d88 recreate /dev/null after /dev mounting 2009-05-20 11:59:34 +02:00
Harald Hoyer 9e30573629 fix node check for plymouth-start.sh 2009-05-20 11:42:41 +02:00
Harald Hoyer 1babfad10a fix node check for plymouth-start.sh 2009-05-20 11:32:55 +02:00
Harald Hoyer 42baa902f2 add plymouth module for plymouth < 0.7 2009-05-20 11:14:56 +02:00
Andreas Thienemann 7a02208af4 Prevent plymouth-start.sh from creating already existing device nodes.
Prevent messages such as the following when booting dracut:

++ mknod /dev/null c 1 3
mknod: `/dev/null': File exists

The plymouth-start.sh script tries to create device nodes it needs, but which
have already been created by the /init script.

This patch makes the mknod calls conditional.

diffstat dracut-plymouth-prevent-mknod-errormsg.patch
 plymouth-start.sh |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
2009-05-20 11:13:37 +02:00
Harald Hoyer 24987e12a9 remove "set -x" from nfs-mount-root.sh 2009-05-18 20:44:00 +02:00
Harald Hoyer d4244cb25b support normal nfs root definition syntax 2009-05-18 19:55:58 +02:00
Harald Hoyer 2f1408b3ce only create udev rules for root=/dev/... 2009-05-18 19:32:01 +02:00
Harald Hoyer a86c07a0b4 basic support for "nfs://" dhcp root_path 2009-05-18 19:31:08 +02:00
Harald Hoyer a8084e23dd reenable manual block mount for e.g. lvm devices 2009-05-18 18:18:21 +02:00
Harald Hoyer 6c00df2068 removed debug code 2009-05-18 16:38:32 +02:00
Harald Hoyer c02c339bb5 fixed dhclient dhcp options saving 2009-05-18 16:08:58 +02:00
Harald Hoyer b80a6fda40 fixed wildcard test of run-dhclient.sh 2009-05-18 15:31:07 +02:00
Harald Hoyer 32f32c14b6 fixed 40network module 2009-05-18 15:22:33 +02:00
Harald Hoyer f360cabf1f add "rm" to debug module 2009-05-18 15:22:03 +02:00
Harald Hoyer 17edb6aa4e mkdir /var/run for dhclient 2009-05-18 14:08:02 +02:00
Harald Hoyer b300c0354a kill dhclient if pid was found 2009-05-18 14:07:34 +02:00
Harald Hoyer c3c06c2da8 merge 95rootfs-block-udev and 95rootfs-block 2009-05-18 14:05:36 +02:00
Harald Hoyer 4b3c5cf17c merge 95rootfs-block-udev and 95rootfs-block 2009-05-15 15:42:28 +02:00
Harald Hoyer 9b1581051f fall back to filesystem type "auto" 2009-05-15 13:15:11 +02:00
Harald Hoyer e419faf652 dash echo does not support -e option
use /bin/echo, instead of dash builtin echo
do not use "sh -c"
2009-05-15 12:52:54 +02:00
Harald Hoyer b6e0fea80c change file descriptor for flock locking
dash does not like filedescriptors > 9
2009-05-15 12:48:11 +02:00
Harald Hoyer 41fab50b5f fixed plymouth installation for plymouth-0.7.0-0.2009.05.08.1.fc11 2009-05-15 12:43:46 +02:00
Harald Hoyer e7b6ed1379 do not run dhclient, if no net device found 2009-05-15 12:43:03 +02:00
Harald Hoyer a011d66860 install all network modules 2009-05-12 15:47:01 +02:00
Harald Hoyer c9a9cf7363 add module for rootfs mounting via udev rules 2009-03-24 11:36:56 +01:00
Harald Hoyer fea5683693 sleep 0.5 seconds instead of 1 2009-03-24 11:35:52 +01:00
Harald Hoyer c7e0d91c80 add udevdebug and udevinfo command line arguments 2009-03-24 11:34:45 +01:00
Harald Hoyer 4479cb2b45 move root command line argument parsing to modules 2009-03-24 11:33:58 +01:00
Harald Hoyer 2003e18962 rename "debug" to "ramfsdebug" to differ from the kernel "debug" argument 2009-03-24 11:32:54 +01:00
Harald Hoyer ef08521555 only create the /bin/sh symlink to bash, if it does not exist yet 2009-03-24 11:29:03 +01:00
Harald Hoyer 9d5fc7b46e add filesystem modules to the initrd 2009-03-24 11:28:25 +01:00
Harald Hoyer 48677b2a8f only install the dash symlink to /bin/sh, if dash is installed 2009-03-24 11:27:35 +01:00
Harald Hoyer 47f151f762 Merge branch 'enhanced-test-framework' of git://fnordovax.org/dracut into test
Conflicts:
	modules.d/50plymouth/63-luks.rules
	modules.d/50plymouth/cryptroot.sh
	modules.d/50plymouth/install
	modules.d/90crypt/63-luks.rules
	modules.d/90crypt/cryptroot.sh
	modules.d/90crypt/install
2009-03-23 15:28:14 +01:00
Victor Lowther 37dcb40001 do not use grep to test if sysroot is mounted 2009-03-23 15:06:45 +01:00
Victor Lowther 4620284073 Move loading crypt kernel modules to the crypt module 2009-03-20 03:36:21 -05:00
Victor Lowther 80c9d068b2 Just pass args the kernel passed to us, not /proc/cmdline args. 2009-03-20 03:08:40 -05:00
Victor Lowther b5c7c7e829 Silence in the initramfs is golden.
Get rid of gratuitous text -- we should only talk if asking a question or
if something screwed up.
2009-03-20 03:08:40 -05:00
Victor Lowther 35f90aafd2 Move finding and mounting root on block devices into its own hook. 2009-03-20 03:08:40 -05:00
Victor Lowther 99576a2a63 Split out resume handling into its own hook. 2009-03-20 03:08:40 -05:00
Victor Lowther 1b87b9670a Move parsing rootfs options to a pre-udev hook. 2009-03-20 03:08:40 -05:00
Victor Lowther 5fff86626b Update plymouth to work with running cryptsetup from a udev rule. 2009-03-20 03:08:40 -05:00
Victor Lowther fa0115c3c0 Unlock our encrypted root in a udev rule. 2009-03-20 03:08:39 -05:00
Victor Lowther f81a894eb0 Move processing root options into a pre-udev hook.
Also make changes that will make it easier to udevify resuming
from hibernate and mounting root.
2009-03-20 03:08:39 -05:00
Victor Lowther 88ffd2df3f Update test framework to create and use LVM on cryptroot 2009-03-20 03:08:39 -05:00
Harald Hoyer 8214a17d58 changed mode of modules.d/90dmsetup/check to 0755 2009-03-09 13:18:06 +01:00
Harald Hoyer 04726f4169 removed exit 1 from debug 2009-03-09 13:11:38 +01:00
Harald Hoyer bb040f9315 trigger root mount via udev rules 2009-03-09 13:08:12 +01:00
Harald Hoyer 85e90fd44b removed trailing \ 2009-03-09 13:08:12 +01:00
Harald Hoyer ab83e0a6f5 get crypt password with rules 2009-03-09 13:08:12 +01:00
Harald Hoyer e22d1330d1 Revert "Make plymouth play nice with the current crypt code, part 1"
This reverts commit 79ec17c74d.
2009-03-09 13:08:12 +01:00
Harald Hoyer f5f9bfee2d add full patch to /sbin/ip and check for dhclient $pid before kill 2009-03-09 13:08:12 +01:00
Harald Hoyer 0a98b6d905 do not display "file not found" for /etc/lsb-release 2009-03-09 09:18:25 +01:00
Victor Lowther 7bff75da14 Make udevd shut up
Do this by loading /etc/group and /lib*/libnss_files.so.* onto the initramfs
2009-03-08 11:39:43 -05:00
Victor Lowther cac7ac4a45 Fixup 90kernel-modules-loaded
The inst functions do not know how to handle directories directly.
Just find the files, and they will create the directories as needed.
2009-03-08 11:39:43 -05:00
Victor Lowther 76c88488c4 Move root option processing into a pre-mount hook.
This will make it easier to add support for root on nfs, root on iscsi,
root on multipath, and other such oddities.
2009-03-07 08:02:03 -06:00
Harald Hoyer 5cad5bb50e add hostonly check procedure 2009-03-07 14:01:32 +01:00
Seewer Philippe 4bc2c7e23a add /check for dmraim module
With the /check infrastucture in place, dmraid is missing a check file.

Patch is built on top of Harald Hoyers merge tree
(git://git.surfsite.org/pub/git/dracut.git)
2009-03-07 12:30:17 +01:00
Harald Hoyer 188c20dc31 do not autoinstall 90kernel-modules-loaded 95udev-rules.ub810 2009-03-07 12:19:55 +01:00
Victor Lowther faf882394b Simplify switch_root.c a bit
Shift some required functionality from switch_root.c to init.

String manipulation and filtering, and testing for the existence of init
is easier in the init script than in C.
2009-03-06 22:32:37 -06:00
Victor Lowther 02d7fdcab4 Minor changes to network scripts to bring inline with my current patch series 2009-03-06 17:04:05 -06:00
Victor Lowther 601a5333d2 Tighten up the ubuntu 8.10 udev rules installation script.
We need to add a check file here, but I ahve no idea how to do that for ubuntu.
2009-03-06 16:53:29 -06:00
Victor Lowther f8fc759574 Modify modprobe.d installation and add check for plymouth 2009-03-06 16:42:05 -06:00
Victor Lowther 321763882c Chop tons of unneeded stuff out of the plymouth module
Most of plymouth-populate-initrd appears to have been unneeded, and is gone.
The rest was updated to match dracut usage.
2009-03-06 16:30:17 -06:00
Victor Lowther 580ea15dee Make plymouth play nice with current ctypt code, part 2.
The reason this works is that inst will refuse to overwrite a file that
already exists.  We jsut make plymouth's code to ask for a password have the
same name as 90crypt's password asking script, and it will override 90crypt's
script while leaving everything else intact.
2009-03-06 16:01:15 -06:00
Victor Lowther 79ec17c74d Make plymouth play nice with the current crypt code, part 1 2009-03-06 16:00:56 -06:00
Victor Lowther 91b80abdce Tighten up 90kernel-modules-loaded a bit. 2009-03-06 15:36:41 -06:00
Victor Lowther cb330cac77 Tighten up 90kernel-modules/install a bit. 2009-03-06 15:34:43 -06:00
Victor Lowther 3ffa5b1135 Make 90lvm load the device-mapper rules instead of 95udev-rules 2009-03-06 15:29:09 -06:00
Victor Lowther b2a843b471 Make 90dmraid load the dm-raid udev rules instead of 95udev-rules 2009-03-06 15:26:24 -06:00
Victor Lowther 8fb66c9a3f Use new check functionaloty to only load cryptoroot when needed 2009-03-06 15:15:59 -06:00
Victor Lowther 25a244f774 Use new check functionality to make 10redhat-i18n only work on redhat. 2009-03-06 14:29:28 -06:00
Victor Lowther 4ca2254668 Make dash module use new check functionality 2009-03-06 14:27:03 -06:00
Harald Hoyer a62ac42d63 fixed the previous incomplete patch for 95udev-rules.ub810 2009-03-06 17:12:51 +01:00
Harald Hoyer 8123d43838 /etc/modprobe.d might have subdirs, so install them also 2009-03-06 16:58:44 +01:00
Seewer Philippe a916b0709d dracut and ubuntu 8.10
Followup: Harald Hoyers "Merge" repository boots on ub8.10 with a dracut.conf similar to the following one and the attached patch applied

> cat dracut.conf
modules="ata_piix sd_mod sg"
dracutmodules="dash kernel-modules debug terminfo udev-rules.ub810 base"
2009-03-06 16:35:05 +01:00
Harald Hoyer 06bb5abe9b add 90kernel-modules-loaded to install currently loaded kernel modules 2009-03-06 16:31:43 +01:00
Harald Hoyer 4ab702040a install modprobe.d for special rules and blacklists 2009-03-06 15:44:50 +01:00
Harald Hoyer 0515a94129 add sd_mod to hardcode module list of doom 2009-03-06 15:44:25 +01:00
Harald Hoyer 9ec23437fa add /sbin to $PATH 2009-03-06 14:36:18 +01:00
Harald Hoyer 7cd15fe768 use $(( instead of $[ 2009-03-06 14:33:42 +01:00
Harald Hoyer 379dd5de55 use udev rules to autoassemble a md raid and added mdmon pre-pivot 2009-03-06 12:43:13 +01:00
Harald Hoyer 1e984a27d2 start udevd with --resolve-names=never 2009-03-06 10:57:16 +01:00
Harald Hoyer 63efe29bb3 use switch_root code from http://pjones.fedorapeople.org/mkstart/usr/lib/mkstart/switchroot.c 2009-03-06 10:57:12 +01:00
Harald Hoyer 6b5951b3d6 added mdraid autoassembling 2009-03-06 10:32:12 +01:00
Harald Hoyer a890fe2922 redirect more to null 2009-03-05 17:17:32 +01:00
Harald Hoyer 0f46778162 added plymouth with crypt handling 2009-03-05 17:16:56 +01:00
Harald Hoyer e548dabcef make crypt more failsafe 2009-03-05 14:47:00 +01:00
Harald Hoyer 879305557c kill udev before switch_root and bail out after 10 seconds of mount tries 2009-03-05 14:21:59 +01:00
Harald Hoyer 38f31d8e78 only react to "add" to prevent duplicate /cryptroot lines 2009-03-05 14:21:20 +01:00
Harald Hoyer 538a94d9e5 use dash instead of underscore for udev control commands 2009-03-05 14:20:48 +01:00
Harald Hoyer ca75dc510b serialize lvm calls with a subshell 2009-03-05 14:20:27 +01:00
Harald Hoyer 7f5112e3d6 add dmraid 2009-03-05 14:19:41 +01:00
Harald Hoyer 32731fee48 install console udev rules and helper apps 2009-03-05 10:34:09 +01:00
Harald Hoyer c4da240717 replace switch_root shell script with binary
The switch_root shell script did not work with bash-4.0-2, because
"exec" gets the real path of the executable which is then
"/sysroot/lib/ld-linux.so.2" instread of "./lib/ld-linux.so.2".

Also the required chroot binary might live in /usr/bin, which can
be mounted later.

Here is the switch_root code from nash, which can be stripped down
further, but which works.

>From f1b1e4f8694104f007e4483c36b0bf40a5760167 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
Date: Wed, 4 Mar 2009 13:41:07 +0100
Subject: [PATCH] replace switch_root shell script with binary

The switch_root shell script did not work with bash-4.0-2, because
"exec" gets the real path of the executable which is then
"/sysroot/lib/ld-linux.so.2" instead of "./lib/ld-linux.so.2".
Also the required chroot binary might live in /usr/bin, which can
be mounted later.

Here is the switch_root code from nash, which can be stripped down
further, but which works.
2009-03-04 17:23:03 +01:00
Victor Lowther 09805e02b8 Get rid of some RedHat specific modules and udev rules
They are not needed to boot with dracut, so away they go.

Also rewrite inst_rules to automatically search likely rule locations when
installing udev rules.
2009-03-04 17:14:53 +01:00
Victor Lowther 20abd91484 Create a self-contained structure for dracut modules
All modules now live in a subdirectory /modules.d.  Each module is
self-contained -- it should contain everything that it will install
on the initrd.  All modules must include a script named install, which
will be sourced by dracut.  This script should do the actual file installation
using inst methods.  The moddir variable will point to the full path to the
module dracut is currently working on.

As usual, this patch series applies on top of my previous patch series,
and is available as normalize-modules from http://git.fnordovax.org/dracut.
2009-03-04 16:55:14 +01:00