Victor Lowther [Fri, 6 Mar 2009 23:04:05 +0000 (17:04 -0600)]
Minor changes to network scripts to bring inline with my current patch series
Victor Lowther [Fri, 6 Mar 2009 22:53:29 +0000 (16:53 -0600)]
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.
Victor Lowther [Fri, 6 Mar 2009 22:42:05 +0000 (16:42 -0600)]
Modify modprobe.d installation and add check for plymouth
Victor Lowther [Fri, 6 Mar 2009 22:30:17 +0000 (16:30 -0600)]
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.
Victor Lowther [Fri, 6 Mar 2009 22:01:15 +0000 (16:01 -0600)]
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.
Victor Lowther [Fri, 6 Mar 2009 22:00:56 +0000 (16:00 -0600)]
Make plymouth play nice with the current crypt code, part 1
Victor Lowther [Fri, 6 Mar 2009 21:36:41 +0000 (15:36 -0600)]
Tighten up 90kernel-modules-loaded a bit.
Victor Lowther [Fri, 6 Mar 2009 21:34:43 +0000 (15:34 -0600)]
Tighten up 90kernel-modules/install a bit.
Victor Lowther [Fri, 6 Mar 2009 21:29:09 +0000 (15:29 -0600)]
Make 90lvm load the device-mapper rules instead of 95udev-rules
Victor Lowther [Fri, 6 Mar 2009 21:26:24 +0000 (15:26 -0600)]
Make 90dmraid load the dm-raid udev rules instead of 95udev-rules
Victor Lowther [Fri, 6 Mar 2009 21:15:59 +0000 (15:15 -0600)]
Use new check functionaloty to only load cryptoroot when needed
Victor Lowther [Fri, 6 Mar 2009 20:29:28 +0000 (14:29 -0600)]
Use new check functionality to make 10redhat-i18n only work on redhat.
Victor Lowther [Fri, 6 Mar 2009 20:27:03 +0000 (14:27 -0600)]
Make dash module use new check functionality
Victor Lowther [Fri, 6 Mar 2009 20:23:37 +0000 (14:23 -0600)]
Add dracutmodules=auto functionality
To use this, your module needs to supply a check script which returns 0
if the module is applicable to this system, 1 otherwise.
If a module does not include a check script, it will be sourced. If no modules
have check scripts, then dracutmodules=auto behaves exactly like
dracutmodules=all
Victor Lowther [Fri, 6 Mar 2009 20:06:48 +0000 (14:06 -0600)]
Some minor formatting fixups in the main dracut script
Victor Lowther [Fri, 6 Mar 2009 20:00:34 +0000 (14:00 -0600)]
Fix formatting in instmods a bit.
Victor Lowther [Fri, 6 Mar 2009 19:58:56 +0000 (13:58 -0600)]
Simplify inst_script a bit
We do not need separate source and target parameters, so do not use them.
Victor Lowther [Fri, 6 Mar 2009 19:56:06 +0000 (13:56 -0600)]
Rename find_file to find_binary and simplify it.
Since we are not using find_file as a general-purpose file existence
testing function anymore, it can be made simpler.
Victor Lowther [Fri, 6 Mar 2009 19:51:28 +0000 (13:51 -0600)]
Make calling modprobe look prettier.
Victor Lowther [Fri, 6 Mar 2009 19:50:04 +0000 (13:50 -0600)]
Remove a useless use of cat in instmods
We also need to decide whenter we are going to support modules.* files.
Not only are they Fedora-specific, but doing so makes =* arguments to instmods
have two different and incompatible meanings depending on whether that file
exists.
Victor Lowther [Fri, 6 Mar 2009 19:44:48 +0000 (13:44 -0600)]
inst never takes 3 arguments anymore.
Remove the misleading help message and the 3 argument processing.
Harald Hoyer [Fri, 6 Mar 2009 16:12:51 +0000 (17:12 +0100)]
fixed the previous incomplete patch for 95udev-rules.ub810
Harald Hoyer [Fri, 6 Mar 2009 15:58:44 +0000 (16:58 +0100)]
/etc/modprobe.d might have subdirs, so install them also
Seewer Philippe [Fri, 6 Mar 2009 15:18:53 +0000 (16:18 +0100)]
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"
Harald Hoyer [Fri, 6 Mar 2009 15:31:43 +0000 (16:31 +0100)]
add 90kernel-modules-loaded to install currently loaded kernel modules
Harald Hoyer [Fri, 6 Mar 2009 15:27:56 +0000 (16:27 +0100)]
be more precise, when checking the dracutmodules string, also print
message which module is used
Harald Hoyer [Fri, 6 Mar 2009 14:44:50 +0000 (15:44 +0100)]
install modprobe.d for special rules and blacklists
Harald Hoyer [Fri, 6 Mar 2009 14:44:25 +0000 (15:44 +0100)]
add sd_mod to hardcode module list of doom
Harald Hoyer [Fri, 6 Mar 2009 14:39:02 +0000 (15:39 +0100)]
add --ignore-install to modprobe calls
Harald Hoyer [Fri, 6 Mar 2009 14:37:16 +0000 (15:37 +0100)]
fixed the use of e.g. instmods =drivers/foobar
Harald Hoyer [Fri, 6 Mar 2009 14:25:04 +0000 (15:25 +0100)]
fixed the use of e.g. instmods =drivers/foobar
Harald Hoyer [Fri, 6 Mar 2009 14:11:42 +0000 (15:11 +0100)]
fixed instmods
Harald Hoyer [Fri, 6 Mar 2009 14:09:44 +0000 (15:09 +0100)]
add the special "=ata" case for instmods
Harald Hoyer [Fri, 6 Mar 2009 13:36:18 +0000 (14:36 +0100)]
add /sbin to $PATH
Harald Hoyer [Fri, 6 Mar 2009 13:35:19 +0000 (14:35 +0100)]
used modules.<subsystem> if present for instmod =<subsystem>
Harald Hoyer [Fri, 6 Mar 2009 13:33:42 +0000 (14:33 +0100)]
use $(( instead of $[
Harald Hoyer [Fri, 6 Mar 2009 11:32:54 +0000 (12:32 +0100)]
use udev rules to autoassemble a md raid and added mdmon pre-pivot
Harald Hoyer [Fri, 6 Mar 2009 10:36:32 +0000 (11:36 +0100)]
mount move instead of umount and fix the search for fallback inits
chdir to newroot, then mount move instead of umount /dev, /sys, etc.
search for fallback init bins in current dirs
Harald Hoyer [Fri, 6 Mar 2009 09:56:52 +0000 (10:56 +0100)]
start udevd with --resolve-names=never
Harald Hoyer [Fri, 6 Mar 2009 09:48:46 +0000 (10:48 +0100)]
use switch_root code from pjones.fedorapeople.org/mkstart/usr/lib/mkstart/switchroot.c
Harald Hoyer [Fri, 6 Mar 2009 09:31:48 +0000 (10:31 +0100)]
added mdraid module
Harald Hoyer [Fri, 6 Mar 2009 09:30:36 +0000 (10:30 +0100)]
fail, if install failed
Harald Hoyer [Fri, 6 Mar 2009 09:16:56 +0000 (10:16 +0100)]
added mdraid autoassembling
Harald Hoyer [Thu, 5 Mar 2009 18:12:18 +0000 (19:12 +0100)]
/usr/libexec -> /usr/lib
Harald Hoyer [Thu, 5 Mar 2009 18:05:16 +0000 (19:05 +0100)]
add gitignore
Harald Hoyer [Thu, 5 Mar 2009 18:02:54 +0000 (19:02 +0100)]
fixed modules install
Harald Hoyer [Thu, 5 Mar 2009 17:56:12 +0000 (18:56 +0100)]
do not rename dracut-functions to functions
Harald Hoyer [Thu, 5 Mar 2009 17:55:51 +0000 (18:55 +0100)]
s/error /echo /
Harald Hoyer [Thu, 5 Mar 2009 16:17:44 +0000 (17:17 +0100)]
removed rule files (better use upstream rules)
Harald Hoyer [Thu, 5 Mar 2009 16:17:32 +0000 (17:17 +0100)]
redirect more to null
Harald Hoyer [Thu, 5 Mar 2009 16:16:56 +0000 (17:16 +0100)]
added plymouth with crypt handling
Harald Hoyer [Thu, 5 Mar 2009 16:13:34 +0000 (17:13 +0100)]
keep compat arguments for "inst"
Harald Hoyer [Thu, 5 Mar 2009 13:47:00 +0000 (14:47 +0100)]
make crypt more failsafe
Harald Hoyer [Thu, 5 Mar 2009 13:21:59 +0000 (14:21 +0100)]
kill udev before switch_root and bail out after 10 seconds of mount tries
Harald Hoyer [Thu, 5 Mar 2009 13:21:20 +0000 (14:21 +0100)]
only react to "add" to prevent duplicate /cryptroot lines
Harald Hoyer [Thu, 5 Mar 2009 13:20:48 +0000 (14:20 +0100)]
use dash instead of underscore for udev control commands
Harald Hoyer [Thu, 5 Mar 2009 13:20:27 +0000 (14:20 +0100)]
serialize lvm calls with a subshell
Harald Hoyer [Thu, 5 Mar 2009 13:20:05 +0000 (14:20 +0100)]
testimage target fixes
Harald Hoyer [Thu, 5 Mar 2009 13:19:41 +0000 (14:19 +0100)]
add dmraid
Harald Hoyer [Thu, 5 Mar 2009 10:28:09 +0000 (11:28 +0100)]
fixed rpm building on Fedora 11
"Only dest dir longer than base dir not supported"
Harald Hoyer [Thu, 5 Mar 2009 10:07:52 +0000 (11:07 +0100)]
add compile phase to testimage and force overwrite
Harald Hoyer [Thu, 5 Mar 2009 10:05:35 +0000 (11:05 +0100)]
do not get GITTAG, if there is no .git
Harald Hoyer [Thu, 5 Mar 2009 09:57:49 +0000 (10:57 +0100)]
fixed dirs in specfile
Harald Hoyer [Thu, 5 Mar 2009 09:48:18 +0000 (10:48 +0100)]
added tar.bz2 target for the rpm and archive target
Harald Hoyer [Thu, 5 Mar 2009 09:38:03 +0000 (10:38 +0100)]
define gittag for rpm target
Harald Hoyer [Thu, 5 Mar 2009 09:36:08 +0000 (10:36 +0100)]
add sample dracut.conf
Harald Hoyer [Thu, 5 Mar 2009 09:34:09 +0000 (10:34 +0100)]
install console udev rules and helper apps
Harald Hoyer [Thu, 5 Mar 2009 09:33:42 +0000 (10:33 +0100)]
allow dracut.conf to be local if -l is set
Harald Hoyer [Thu, 5 Mar 2009 09:33:18 +0000 (10:33 +0100)]
add testimage target
Harald Hoyer [Thu, 5 Mar 2009 09:17:29 +0000 (10:17 +0100)]
renamed archive file and convenience target for rpm
Harald Hoyer [Thu, 5 Mar 2009 09:16:50 +0000 (10:16 +0100)]
small corrections and obsolete mkinitrd only when defined in specfile
Harald Hoyer [Thu, 5 Mar 2009 08:54:58 +0000 (09:54 +0100)]
fix modules.d install
Harald Hoyer [Wed, 4 Mar 2009 16:49:19 +0000 (17:49 +0100)]
add \n to switch_root
Harald Hoyer [Wed, 4 Mar 2009 16:48:20 +0000 (17:48 +0100)]
kill udevd before switching root
Harald Hoyer [Wed, 4 Mar 2009 16:36:55 +0000 (17:36 +0100)]
also run ldconfig on /lib64
Harald Hoyer [Wed, 4 Mar 2009 16:35:14 +0000 (17:35 +0100)]
only run ldconfig on /lib and /usr/lib with -n
This also suppresses error messages about missing ld.so.conf
Harald Hoyer [Wed, 4 Mar 2009 16:29:42 +0000 (17:29 +0100)]
merge fix, find_binary
Harald Hoyer [Wed, 4 Mar 2009 13:23:02 +0000 (14:23 +0100)]
fixes for specfile and Makefile
Harald Hoyer [Wed, 4 Mar 2009 12:54:55 +0000 (13:54 +0100)]
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.
Harald Hoyer [Wed, 4 Mar 2009 12:45:21 +0000 (13:45 +0100)]
strip "init=" from INIT
Victor Lowther [Wed, 4 Mar 2009 00:21:19 +0000 (16:21 -0800)]
Fix several inst functions.
Move file existence checking into the individual inst functions. This makes
things a bit easier to understand and maintain.
Victor Lowther [Wed, 4 Mar 2009 00:21:17 +0000 (16:21 -0800)]
Steal rules we need from the latest udev package.
This should arguably be done by importing the udev git repo as a submodule,
but I am too lazy to figure out how to do that right now.
I suppose this could also be done by rewriting the 95udev-rules.sh module
for each distribution, but that is something best left to the distro
maintainers once we acheive some sort of widespread adoption. Until then,
stealing rules from upstream udev seems like the most portable solution.
Victor Lowther [Wed, 4 Mar 2009 00:21:13 +0000 (16:21 -0800)]
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.
Victor Lowther [Wed, 4 Mar 2009 00:21:10 +0000 (16:21 -0800)]
Modify instmods to not rely on the existence of modules.* files
This patch series aims to make dracut more distro-independent. It includes
some of the functionality that Seewer Philippe posted to the list to make
dracut work on Ubuntu.
depmod does not create these files on all distros (Debian, specifically),
so modify instmods to use pathname components and find to do what we want.
As a bonus, this removes the special-case for =ata.
Seewer Philippe [Fri, 27 Feb 2009 14:45:53 +0000 (15:45 +0100)]
Create directories for symlinked libraries if needed
Sometimes symlinks for libraries reside in weird places. Create those
weird places if necessary.
--
dracut-functions | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Seewer Philippe [Fri, 27 Feb 2009 14:37:47 +0000 (15:37 +0100)]
Canonicalize symlinks
When handling links sometimes one readlink isn't enough. Dracut doesn't
need to clone a whole link series, so just use readlink -f
--
dracut-functions | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
Seewer Philippe [Fri, 27 Feb 2009 14:16:36 +0000 (15:16 +0100)]
Make bash regexes behave
On some systems with newer or unpatched bash versions the whole right
portion of =~ is considered part of the regex. Means we need to get rid
of enclosing ''.
This patch fixes this.
--
dracut-functions | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
Seewer Philippe [Fri, 27 Feb 2009 13:28:40 +0000 (14:28 +0100)]
Fix find_binary always succeeding
find_binary inside dracut-functions always succeeds. Independent of
whether the file actually exists or not.
This patch fixes this.
And since we're using the function not only to find binaries at little
enhancement there shouldn't be that bad either.
--
dracut-functions | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
Seewer Philippe [Fri, 27 Feb 2009 12:25:38 +0000 (13:25 +0100)]
Fix instmods recursing indefinitely
the instmod function inside dracut-functions starts to recurses indefinitely
if modprobe --show-depends is used and the output contains module options.
Example:
#modprobe --show-depends libata
insmod /lib/modules/2.6.27-11-generic/kernel/drivers/acpi/dock.ko
insmod /lib/modules/2.6.27-11-generic/kernel/drivers/scsi/scsi_mod.ko
insmod /lib/modules/2.6.27-11-generic/kernel/drivers/ata/libata.ko ignore_hpa=1
This patch fixes this.
--
dracut-functions | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
Seewer Philippe [Fri, 27 Feb 2009 10:41:21 +0000 (11:41 +0100)]
Fix Makefile installing in wrong directories
rules, hooks and modules are installed in $(DESTDIR)/usr/libexec/dracut/
instead of their corresponding sub-directories.
This patch fixes this.
--
Makefile | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
Victor Lowther [Fri, 27 Feb 2009 00:02:52 +0000 (16:02 -0800)]
Add documentation on how to write a dracut module.
Also some minor cleanups to the dracut script.
Victor Lowther [Fri, 27 Feb 2009 00:02:50 +0000 (16:02 -0800)]
Modify Makefile to understand the new module structure.
Victor Lowther [Fri, 27 Feb 2009 00:02:47 +0000 (16:02 -0800)]
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.
Victor Lowther [Thu, 26 Feb 2009 02:42:14 +0000 (18:42 -0800)]
Do not run dhclient if the interface is already up.
Victor Lowther [Thu, 26 Feb 2009 02:42:11 +0000 (18:42 -0800)]
Move running dhclient on DHCP interfaces into a pre-mount hook.
Static interfaces are still configured on the fly as we add them, but
discussions on the mailing list have suggested that we need to have finer
control over bringing up dhcp interfaces.
The default hook just runs all the requested dhclients in parallel and waits
for them to all return. If you need something more complicated than this, or
need to have more control over bringing interfaces up, you will probably need
to override some stuff in the 40network hook.
Victor Lowther [Thu, 26 Feb 2009 02:42:09 +0000 (18:42 -0800)]
Save any dhcp options we did not handle to net.$interface.dhcpopts
Victor Lowther [Thu, 26 Feb 2009 02:42:07 +0000 (18:42 -0800)]
Update scripts to make things a little easier to read
Victor Lowther [Thu, 26 Feb 2009 02:42:05 +0000 (18:42 -0800)]
We now know how to configure the network interfaces.
Provided that you are configuring them via DHCP. RARP, BOOTP, and static
configuration are not written yet.
Also, adding nic drivers really bloats the initrd.
I am looking for feedback on these patches from people who actually implement
booting over the network. This patch series does not include support for that
yet -- you will not find nfsroot= handling, or booting to a fs supplied by
dhcp yet. I do want to make it as easy as possible to add support for booting
over the network, as well as making it easy for people to customize things to
meet their site requirements.
This patch series is also available as the network-configurability branch at
http://git.fnordovax.org/dracut. It may be rebased without warning to keep
it in sync with the rest of dracut.
Victor Lowther [Thu, 26 Feb 2009 02:32:46 +0000 (18:32 -0800)]
Add some predefined break points.
We now have a breakpoint just before each of the hook invocations, and one
just before we switch to the real root.
Victor Lowther [Thu, 26 Feb 2009 02:32:43 +0000 (18:32 -0800)]
Trim out device nodes we do not have to actually create.
If plymouth needs more, it can add them back in the hooks.