Commit Graph

136 Commits (c8b35bf96af1859c0c254db34a16b9cc5a2aa46b)

Author SHA1 Message Date
Harald Hoyer f874872fc2 add command line parameters to specify exact actions for root assembly
LVM
       rd_NO_LVM
              disable LVM detection

       rd_LVM_VG=<volume group name>
              only activate the volume groups with the given name

crypto LUKS
       rd_NO_LUKS
              disable crypto LUKS detection

       rd_LUKS_UUID=<luks uuid>
              only activate the LUKS partitions with the given UUID

MD
       rd_NO_MD
              disable MD RAID detection

       rd_MD_UUID=<md uuid>
              only activate the raid sets with the given UUID

DMRAID
       rd_NO_DM
              disable DM RAID detection

       rd_DM_UUID=<dmraid uuid>
              only activate the raid sets with the given UUID
2009-07-15 18:27:21 +02:00
Harald Hoyer 58dbb43eac initqueue now loops until /dev/root exists or root is mounted
init now has the following points to inject scripts:

/cmdline/*.sh
   scripts for command line parsing

/pre-udev/*.sh
   scripts to run before udev is started

/pre-trigger/*.sh
   scripts to run before the main udev trigger is pulled

/initqueue/*.sh
   runs in parallel to the udev trigger
   Udev events can add scripts here with /sbin/initqueue.
   If /sbin/initqueue is called with the "--onetime" option, the script
   will be removed after it was run.
   If /initqueue/work is created and udev >= 143 then this loop can
   process the jobs in parallel to the udevtrigger.
   If the udev queue is empty and no root device is found or no root
   filesystem was mounted, the user will be dropped to a shell after
   a timeout.
   Scripts can remove themselves from the initqueue by "rm $job".

/pre-mount/*.sh
   scripts to run before the root filesystem is mounted
   NFS is an exception, because it has no device node to be created
   and mounts in the udev events

/mount/*.sh
   scripts to mount the root filesystem
   NFS is an exception, because it has no device node to be created
   and mounts in the udev events
   If the udev queue is empty and no root device is found or no root
   filesystem was mounted, the user will be dropped to a shell after
   a timeout.

/pre-pivot/*.sh
   scripts to run before the real init is executed and the initramfs
   disappears
   All processes started before should be killed here.

The behaviour of the dmraid module demonstrates how to use the new
mechanism. If it detects a device which is part of a raidmember from a
udev rule, it installs a job to scan for dmraid devices, if the udev
queue is empty. After a scan, it removes itsself from the queue.
2009-07-03 18:11:38 +02:00
Harald Hoyer eab677a216 switch to initqueue handling of events
Jobs are no longer handled inside the udev events.
/sbin/initqueue is called with the commands to queue.
init will work on these jobs sequentially, so that we prevent jobs
from being killed by udev timeouts.
This serialization also prevents some problems introduced by
the udev event parallelization.
2009-07-02 11:47:28 +02:00
Harald Hoyer 5966b1b15d bail out of cryptroot-ask, if we have already asked about the password 2009-07-02 11:47:27 +02:00
Harald Hoyer d0d1ea3d87 prompt the crypto disk, when asking for a password
also check, if root is already mounted and flock against
console activities.
2009-06-23 07:49:23 +02:00
Harald Hoyer b006ff9930 removed shebang from .sh and changed mode to 0644 2009-06-19 13:00:09 +02:00
Harald Hoyer c9111106f5 remove redundant vol_id run from out udev rules
moved mdadm rules before luks rules
add nbd vol_id rules
2009-06-18 15:15:28 +02:00
Victor Lowther fa0f73f438 Ugh, using backticks instead of $()
Get that evilness out of dracut, please.
2009-06-04 22:02:37 -05:00
Victor Lowther 8158ad29ec make udevtriggeropts just use an environment variable
No point in making a file and then reading from it when hooks are sourced.
2009-06-04 22:02:37 -05:00
Harald Hoyer 91b1157500 add support to specify additional udev trigger options 2009-06-04 13:07:01 +02:00
Warren Togami 2c02c8318c Ensure KMS drivers are loaded before plymouth. 2009-06-03 14:25:50 -04:00
Warren Togami dff7ea6864 No longer needed, already ran in pre-trigger 2009-06-03 13:10:57 -04:00
Harald Hoyer 27a101f47c simplify plymouth startup 2009-06-03 17:31:48 +02:00
Harald Hoyer 071bd6e1a0 don't run plymouth --show-splash from udev rule
we have to run it no matter what, so don't rely on a rule
2009-06-03 17:12:07 +02:00
Harald Hoyer 1eeddd31af run udevadm trigger for graphics for plymouth in pre-trigger hook 2009-06-03 17:07:23 +02:00
Warren Togami 0a56724cd6 plymouth0.7: Launch plymouth --show-splash from udev event, and once before switch_root in case it didn't start 2009-06-02 20:20:44 -04:00
Warren Togami e9b1426eb7 Detect KMS capable drm drivers instead of hard coded list. 2009-06-02 16:51:49 -04:00
Warren Togami d0c7d42b3e plymouth-0.7: details.so must be copied as well 2009-06-01 22:57:08 -04:00
Warren Togami e902c65391 plymouth-0.7: fully install default theme and associated plugin 2009-06-01 16:09:24 -04:00
Warren Togami 642e160c0e Install KMS drivers. It sucks to have a hard coded list, but there is no clean way of doing this distro-neutral at the moment. 2009-05-29 01:14:59 -04: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 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
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
Andreas Thienemann 9a4495557f add missing files for plymouth 2009-05-20 14:38:22 +02:00
Harald Hoyer 69f8af0267 plymouth hide-splash on emergency shell 2009-05-20 14:25:35 +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 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 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 04726f4169 removed exit 1 from debug 2009-03-09 13:11:38 +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
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