Commit Graph

285 Commits (3b51f4f30bc84130bdea8d50003a98538504fb81)

Author SHA1 Message Date
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
Harald Hoyer 87ce134e08 preserve the original root= variable 2009-06-02 18:01:52 +02:00
Harald Hoyer 92bfa4c6e3 use iscsi-iname to generate the initiator name, if not specified 2009-06-02 16:10:36 +02:00
Harald Hoyer 61537c7de6 override commandline/conf options by root_path 2009-06-02 16:10:04 +02:00
Harald Hoyer 34cb684936 removed debug code 2009-06-02 13:32:11 +02:00
Harald Hoyer ac4ded9128 add iSCSI module 2009-06-02 13:22:29 +02:00
Harald Hoyer 4332e5f71f install cat for network module 2009-06-02 13:21:16 +02:00
Harald Hoyer cff3457e32 fixed fstype mount options 2009-06-02 09:25:24 +02:00
Warren Togami d0c7d42b3e plymouth-0.7: details.so must be copied as well 2009-06-01 22:57:08 -04:00
David Dillow ebd5615489 strip block: off root= when using the mount hooks
I'm not sure they are still used, but if so they need to
trim the prefix.
2009-06-01 21:43:07 -04:00
David Dillow b4dc8ad346 Allow NFS and NBD to be built into the kernel
Probe for NFS and NBD capability before trying to load their modules
in case they are built into the kernel. Ugly use of flag files, but
avoids the need for grep to be on the image.
2009-06-01 19:59:22 -04:00
David Dillow 7132e6a346 Remove dependency on /bin/echo
Actually cut the last dependency on //bin/echo for resume.
2009-06-01 19:46:43 -04:00
David Dillow 92997caf35 cleanup shebangs in sourced scripts
All of the scripts are sourced, so there is no need to have
will pick up on the .sh extension.
2009-06-01 19:17:48 -04:00
Warren Togami 4f0e32751f nfs needs sunrpc 2009-06-01 18:38:53 -04:00
Warren Togami 9dcf9cef38 Include only wired ethernet drivers, explicitly exclude wireless.
(If you REALLY want wireless boot, you need to write your own module to configure it properly.)
2009-06-01 18:21:40 -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 e26cb36fca Merge branch 'master' of ../dracut-dillow 2009-06-01 14:54:59 -04:00
Victor Lowther 4eba843dde Revert --resolve-names=never in init
That flag is too new to work on most shipping distros, so fall back to
including /etc/group and the libnss_files.
2009-06-01 04:04:34 -05:00
David Dillow 2b117123ec Add NBD support
This adds basic support for root on a network block device to
the netroot framework.
2009-06-01 00:59:52 -04:00
David Dillow 5103130352 nfsroot: move to netroot framework
Parse and convert commandline options in the cmdline hook, and
fill in the missing pieces in the netroot hook. This also allows
root=dhcp to work as expected.
2009-06-01 00:56:01 -04:00
David Dillow 7d7efa4a3d netroot: add common handler for network root devices
/sbin/netroot is a jumping off point to allow various network
root devices to share infrastructure. It will loop over scriptlets
in the netroot handler, looking for a handler to run for this type
of netroot. Handlers can do choose to act based on command line
options to the kernel, or via DHCP options received on this interface.
They should massage root= into a form suitable for their handler.
2009-06-01 00:42:43 -04:00
David Dillow ae5bc1fd8a dracut-lib: add source_all to library
The network root handler will need this.
2009-06-01 00:39:56 -04:00
David Dillow 9810ce7e38 resume: add support for labeled resume devices
I noticed when doing the block root= parser that resume
didn't support labeled resume devices. Fix that up and
get rid of a dependency on /bin/echo in the process.
2009-06-01 00:27:06 -04:00
David Dillow d15c7a1ab7 cmdline: cleanup handling and block: handler
Now init checks that we understood the root= option, and can
act upon it, presenting and error if not. Also, clean up the
generation of udev rules such that we don't require /bin/echo.
2009-06-01 00:21:53 -04:00
David Dillow e450281431 dracut: add cmdline hook
This hook is where each module should parse kernel command line
options and perform any legacy translation.
2009-06-01 00:07:26 -04:00
David Dillow 5c123162ed block root: split out resume parsing and udev rules
We have a resume module, and these rules should live in it. Modify
the sort order a bit to ensure the resume rules continue to execute
first.
2009-05-31 23:19:31 -04:00
David Dillow 145ca9e5b3 nfsroot: move to same sort order as block methods
There is no reason for this to be a 40nfsroot rather than 95nfs
once other network root handlers are added. Go ahead and move it.
2009-05-31 22:45:12 -04:00
Victor Lowther e314863e67 Several updates to make dracut a bit more robust.
First, add a check script to 99base to ensure that it will load its
prerequisites.

Second, disable the udev magic dracut normally uses when generating
test images -- it was causing random failures when creating the test
root filesystem, presumably due to race conditions between the
rootfs creation scripts and udev.

Third, consolidate the rootfs creation scripts into one script.
2009-05-30 16:53:12 -05:00
Victor Lowther 5033486389 Have udevd never try to resolve user or group ownership of devices.
This gets rid of the need to have potentially security-sensitive files
like /etc/passwd and /etc/group in the initramfs, and makes the initramfs
a bit smaller.  We trust the final userspace to do The Right Thing when
assigning user/group ownership to devices.
2009-05-30 11:45:47 -05:00
Victor Lowther f3fb8d8074 Modify the check script so that 40network will only load as a
dependency on another module.
2009-05-29 23:07:56 -05:00
Victor Lowther 3774d3cc15 Removed 90kernel-modules-loaded.
Sure, it will load all the modules that are currently installed into the
initramfs.  Why was this a good thing, again?
2009-05-29 23:07:56 -05:00
Victor Lowther 66ac3cd1f0 Update check scripts in modules to make them work again.
Also got rid of "dracutmodules=hostonly".  We have --hostonly, and it
does the same thing.
2009-05-29 23:07:15 -05:00
Warren Togami 2c54bc996a Victor pointed out --hostonly doesn't go into check. 2009-05-29 23:56:55 -04:00
Warren Togami 2d7d2fdbbb Properly detect -H and --hostonly mode 2009-05-29 18:38:49 -04:00
Warren Togami adfe014640 Remove redundant modprobe.d copy 2009-05-29 13:20:33 -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 06558b3ee4 Make nfsroot work with hostonly mode. 2009-05-28 21:02:14 -05:00
Warren Togami c1143d3d6c Filesystem modules already included in =fs, no runtime detection allowed in default dracut 2009-05-28 16:29:22 -04:00
Warren Togami ba126e82af $drivers specified from .conf or --drivers get copied once, instead of multiple times with other calls to instmods() 2009-05-28 15:55:44 -04:00
Warren Togami e19d6bf603 Disambiguate modules and drivers. modules are dracutmodules. drivers are kernel modules. 2009-05-28 14:27:02 -04:00
David Dillow aa43d0b0df More runtime files to /tmp 2009-05-27 22:54:03 -04:00
Warren Togami 3da5856981 Move all files generated during initrd runtime to /tmp 2009-05-27 22:41:18 -04:00
Warren Togami 6941b1b556 Make /sbin/nfsroot executable 2009-05-27 14:35:15 -04:00
Harald Hoyer 4127130480 prefixed more internal command line options with "rd"
break -> rdbreak
netdebug -> rdnetdebug
2009-05-27 14:56:20 +02:00
Harald Hoyer ee0deb9918 better handling of mount moving rpc_pipefs 2009-05-27 14:21:52 +02:00
Harald Hoyer 77f6725c4e install umount for nfsroot 2009-05-26 18:08:56 +02:00
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