4 error
() { echo "$@" >&2; }
7 [[ $1 = '-n' ]] && cmd
=echo || cmd
=error
9 $cmd "usage: ${0%/*} [--version] [--help] [-v] [-f] [--preload <module>]"
10 $cmd " [--image-version] [--with=<module>]"
11 $cmd " <initrd-image> <kernel-version>"
13 $cmd " (ex: ${0%/*} /boot/initramfs-$kver.img $kver)"
15 [[ $1 = '-n' ]] && exit 0
19 # Little helper function for reading args from the commandline.
20 # it automatically handles -a b and -a=b variants, and returns 1 if
21 # we need to shift $3.
26 local rematch
='^[^=]*=(.*)$'
27 if [[ $2 =~
$rematch ]]; then
28 read "$1" <<< "${BASH_REMATCH[1]}"
29 elif [[ $3 != -* ]]; then
30 # Only read next arg if it not an arg itself.
32 # There is no way to shift our callers args, so
33 # return 1 to indicate they should do it instead.
40 --with-usb) read_arg usbmodule
"$@" ||
shift
41 basicmodules
="$basicmodules ${usbmodule:-usb-storage}"
43 --with-avail) read_arg modname
"$@" ||
shift
44 basicmodules
="$basicmodules $modname";;
45 --with) read_arg modname
"$@" ||
shift
46 basicmodules
="$basicmodules $modname";;
48 echo "mkinitrd: dracut compatibility wrapper"
50 -v|
--verbose) dracut_args
="${dracut_args} -v";;
51 -f) dracut_args
="${dracut_args} -f";;
52 --preload) read_args modname
"$@" ||
shift
53 basicmodules
="$basicmodules $modname";;
54 --image-version) img_vers
=yes;;
55 --rootfs) read_args rootfs
"$@" ||
shift
56 dracut_args
="${dracut_args} --filesystems $rootfs";;
57 --nocompress) dracut_args
="$dracut_args --no-compress";;
64 --omit-scsi-modules) ;;
65 --omit-ide-modules) ;;
66 --omit-raid-modules) ;;
67 --omit-lvm-modules) ;;
82 *) if [[ ! $target ]]; then
84 elif [[ ! $kernel ]]; then
93 [[ $target && $kernel ]] || usage
94 [[ $img_vers ]] && target
="$target-$kernel"
96 if [[ $basicmodules ]]; then
97 dracut
$dracut_args --add-drivers "$basicmodules" "$target" "$kernel"
99 dracut
$dracut_args "$target" "$kernel"