Browse Source

add --fwdir parameter to dracut

--fwdir [DIR]
              specify additional directory, where to look for firmwares
master
Harald Hoyer 16 years ago
parent
commit
26537a5b79
  1. 9
      dracut
  2. 6
      dracut-functions
  3. 3
      dracut.8

9
dracut

@ -23,6 +23,8 @@ Creates initial ramdisk images for preloading modules @@ -23,6 +23,8 @@ Creates initial ramdisk images for preloading modules
-d, --drivers [LIST] Specify a space-separated list of kernel modules to
include in the initramfs.
-k, --kmoddir [DIR] Specify the directory, where to look for kernel modules
--fwdir [DIR] Specify additional directory, where to look for
firmwares
-h, --help This message
--debug Output debug information of the build process
-v, --verbose Verbose output during the build process
@ -50,6 +52,7 @@ while (($# > 0)); do @@ -50,6 +52,7 @@ while (($# > 0)); do
-a|--add) add_dracutmodules_l="$2"; shift;;
-d|--drivers) drivers_l="$2"; shift;;
-k|--kmoddir) drivers_dir_l="$2"; shift;;
--fwdir) fw_dir_l="$2"; shift;;
-h|--help) usage; exit 1 ;;
--debug) debug="yes";;
-v|--verbose) beverbose="yes";;
@ -81,7 +84,8 @@ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH @@ -81,7 +84,8 @@ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH
[[ $omit_dracutmodules_l ]] && omit_dracutmodules=$omit_dracutmodules_l
[[ $add_dracutmodules_l ]] && add_dracutmodules="$add_dracutmodules $add_dracutmodules_l"
[[ $drivers_l ]] && drivers=$drivers_l
[[ $drivers_dir_l ]] && drivers_dir=$drivers_l
[[ $drivers_dir_l ]] && drivers_dir=$drivers_dir_l
[[ $fw_dir_l ]] && fw_dir=$fw_dir_l
[[ $dracutbasedir ]] || dracutbasedir=/usr/share/dracut

[[ $allowlocal && -f "$(dirname $0)/dracut-functions" ]] && dsrc="$(dirname $0)" || dsrc=$dracutbasedir
@ -118,7 +122,8 @@ trap 'rm -rf "$initdir"' 0 # clean up after ourselves no matter how we die. @@ -118,7 +122,8 @@ trap 'rm -rf "$initdir"' 0 # clean up after ourselves no matter how we die.
# Need to be able to have non-root users read stuff (rpcbind etc)
chmod 755 "$initdir"

export initdir hookdirs dsrc dracutmodules drivers drivers_dir debug beverbose
export initdir hookdirs dsrc dracutmodules drivers \
fw_dir drivers_dir debug beverbose

# Create some directory structure first
for d in bin sbin usr/bin usr/sbin usr/lib etc proc sys sysroot tmp dev/pts var/run; do

6
dracut-functions

@ -310,10 +310,12 @@ instmods() { @@ -310,10 +310,12 @@ instmods() {
inst_simple "$modpath"
done
for fw in $(modinfo -F firmware $mod 2>/dev/null); do
if [[ -f /lib/firmware/$fw ]]; then
if [[ -n "$fw_dir" && -f $fw_dir/$fw ]]; then
inst_simple "$fw_dir/$fw"
elif [[ -f /lib/firmware/$fw ]]; then
inst_simple "/lib/firmware/$fw"
else
dwarning "Possible missing firmware /lib/firmware/${fw} for module ${mod}.ko"
dwarning "Possible missing firmware ${fw} for module ${mod}.ko"
fi
done
;;

3
dracut.8

@ -33,6 +33,9 @@ specify a space-separated list of kernel modules to include in the initramfs. @@ -33,6 +33,9 @@ specify a space-separated list of kernel modules to include in the initramfs.
.BR \-k ", " \-\-kmoddir " \fI[DIR]\fR
specify the directory, where to look for kernel modules
.TP
.BR " \-\-fwdir " \fI[DIR]\fR
specify additional directory, where to look for firmwares
.TP
.BR \-h ", " \-\-help
display help text and exit.
.TP

Loading…
Cancel
Save