| #!/bin/bash |
| |
| buildroot="$1" |
| kernel_base="$2" |
| |
| blacklist() |
| { |
| cat > "$buildroot/etc/modprobe.d/$1-blacklist.conf" <<-__EOF__ |
| |
| |
| |
| |
| |
| |
| blacklist $1 |
| __EOF__ |
| } |
| |
| check_blacklist() |
| { |
| if modinfo "$1" | grep -q '^alias:\s\+net-'; then |
| mod="${1##*/}" |
| mod="${mod%.ko*}" |
| echo "$mod has an alias that allows auto-loading. Blacklisting." |
| blacklist "$mod" |
| fi |
| } |
| |
| foreachp() |
| { |
| P=$(nproc) |
| bgcount=0 |
| while read mod; do |
| $1 "$mod" & |
| |
| bgcount=$((bgcount + 1)) |
| if [ $bgcount -eq $P ]; then |
| wait -n |
| bgcount=$((bgcount - 1)) |
| fi |
| done |
| |
| wait |
| } |
| |
| [ -d "$buildroot/etc/modprobe.d/" ] || mkdir -p "$buildroot/etc/modprobe.d/" |
| find "$buildroot/$kernel_base/extra" -name "*.ko*" | \ |
| foreachp check_blacklist |
| |
| |
| |
| |
| |
| if [ -f $buildroot/$kernel_base/extra/drivers/block/floppy.ko* ]; then |
| blacklist "floppy" |
| fi |