94 |
|
|
95 |
echo "Looking for deps of module $1" |
echo "Looking for deps of module $1" |
96 |
deps=$(awk 'BEGIN { searched=ARGV[2]; ARGV[2]=""; rc=1 } \ |
deps=$(awk 'BEGIN { searched=ARGV[2]; ARGV[2]=""; rc=1 } \ |
97 |
function modname(filename) { match(filename, /\/([^\/]+)\.k?o:?$/, ret); return ret[1] } \ |
function modname(filename) { match(filename, /\/([^\/]+)\.k?o.?g?z?:?$/, ret); return ret[1] } \ |
98 |
function show() { if (orig == searched) { print dep; orig=""; rc=0; exit } } \ |
function show() { if (orig == searched) { print dep; orig=""; rc=0; exit } } \ |
99 |
/^.*kernel/ { show(); \ |
/^.*kernel/ { show(); \ |
100 |
orig=modname($1); dep=""; \ |
orig=modname($1); dep=""; \ |
132 |
|
|
133 |
case "${MODULES} " in |
case "${MODULES} " in |
134 |
*"/${modName}.ko "*) return ;; |
*"/${modName}.ko "*) return ;; |
135 |
|
*"/${modName}.ko.gz "*) return ;; |
136 |
esac |
esac |
137 |
|
|
138 |
if echo ${builtins} | egrep -q '(^| )'${modName}'( |$)' |
if echo ${builtins} | egrep -q '(^| )'${modName}'( |$)' |
165 |
done |
done |
166 |
fi |
fi |
167 |
|
|
168 |
for modExt in o.gz o ko |
for modExt in o.gz o ko ko.gz |
169 |
do |
do |
170 |
for modDir in /lib/modules/${kernel}/updates /lib/modules/${kernel} |
for modDir in /lib/modules/${kernel}/updates /lib/modules/${kernel} |
171 |
do |
do |
253 |
modalias=$(cat modalias) |
modalias=$(cat modalias) |
254 |
for driver in $(modprobe --set-version ${kernel} --show-depends ${modalias} 2>/dev/null| awk '{ print gensub(".*/","","g",$2) }') |
for driver in $(modprobe --set-version ${kernel} --show-depends ${modalias} 2>/dev/null| awk '{ print gensub(".*/","","g",$2) }') |
255 |
do |
do |
256 |
findmodule ${driver%%.ko} |
findmodule ${driver%%.*} |
257 |
done |
done |
258 |
popd >/dev/null 2>&1 |
popd >/dev/null 2>&1 |
259 |
done |
done |
774 |
for MODULE in ${MODULES} |
for MODULE in ${MODULES} |
775 |
do |
do |
776 |
text="" |
text="" |
777 |
module=$(echo ${MODULE} | sed "s|.*/||" | sed "s/.k\?o$//") |
module=$(echo ${MODULE} | sed "s|.*/||" | sed -e "s/.k\?o.\?g\?z\?$//" -e "s/.gz//") |
778 |
fullmodule=$(echo ${MODULE} | sed "s|.*/||") |
fullmodule=$(echo ${MODULE} | sed -e "s|.*/||" -e "s/.gz//") |
779 |
|
|
780 |
options=$(sed -n -e "s/^options[ ][ ]*${module}[ ][ ]*//p" ${modprobeconf} 2>/dev/null) |
options=$(sed -n -e "s/^options[ ][ ]*${module}[ ][ ]*//p" ${modprobeconf} 2>/dev/null) |
781 |
|
|
809 |
fi |
fi |
810 |
done |
done |
811 |
|
|
812 |
|
# respect rootdelay kernel param |
813 |
|
add_initrd 'for i in $(cat /proc/cmdline); do case ${i} in rootdelay=*) ROOTDELAY="${i#*=}";; esac; done' |
814 |
|
add_initrd 'if [ ! -z "${ROOTDELAY}" ]; then echo "-- Requested a rootdelay of ${ROOTDELAY} seconds ..."; sleep ${ROOTDELAY};fi' |
815 |
|
|
816 |
# lvm support |
# lvm support |
817 |
if [ -n "${vg_list}" ] |
if [ -n "${vg_list}" ] |
818 |
then |
then |
854 |
# get the right initexec |
# get the right initexec |
855 |
add_initrd "INITEXEC=\"${INITEXEC}\"" |
add_initrd "INITEXEC=\"${INITEXEC}\"" |
856 |
# support init=* from cmdline |
# support init=* from cmdline |
857 |
add_initrd 'for i in $(cat /proc/cmdline); do if [[ ${i} = init=* ]]; then INITEXEC=${i/init=}; fi; done' |
add_initrd 'for i in $(cat /proc/cmdline); do case ${i} in init=*) INITEXEC="${i#*=}";; esac; done' |
858 |
|
|
859 |
add_initrd 'echo "-- Mounting sysroot ..."' |
add_initrd 'echo "-- Mounting sysroot ..."' |
860 |
add_initrd '. /etc/rootdev' |
add_initrd '. /etc/rootdev' |
867 |
# de-silencio |
# de-silencio |
868 |
add_initrd 'echo 3 > /proc/sys/kernel/printk' |
add_initrd 'echo 3 > /proc/sys/kernel/printk' |
869 |
|
|
870 |
|
add_initrd 'BREAK_ENABLED=no' |
871 |
|
add_initrd 'for i in $(cat /proc/cmdline); do case ${i} in break) BREAK_ENABLED=yes;; esac; done' |
872 |
|
add_initrd 'if [ "${BREAK_ENABLED}" = "yes" ]; then echo "-- Break requested, type 'exit' to resume operation ..."; ash; fi' |
873 |
|
|
874 |
add_initrd 'echo "-- Switching to real sysroot ..."' |
add_initrd 'echo "-- Switching to real sysroot ..."' |
875 |
add_initrd 'umount /dev' |
add_initrd 'umount /dev' |
876 |
add_initrd 'umount /sys' |
add_initrd 'umount /sys' |
898 |
if [ -x /usr/bin/strip ] && [[ ${NOSTRIP} = false ]] |
if [ -x /usr/bin/strip ] && [[ ${NOSTRIP} = false ]] |
899 |
then |
then |
900 |
/usr/bin/strip -g ${verbose} ${MODULE} -o ${DEST}/lib/$(basename ${MODULE}) || die |
/usr/bin/strip -g ${verbose} ${MODULE} -o ${DEST}/lib/$(basename ${MODULE}) || die |
901 |
|
# handle gzip compressed modules right |
902 |
|
elif [[ ${MODULE##*.} = gz ]] |
903 |
|
then |
904 |
|
zcat ${verbose} ${MODULE} > ${DEST}/lib/$(basename ${MODULE} .gz) || die |
905 |
else |
else |
906 |
cp ${verbose} -a ${MODULE} ${DEST}/lib || die |
cp ${verbose} -a ${MODULE} ${DEST}/lib || die |
907 |
fi |
fi |