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