|
6 | 6 | # Location: https://github.com/stuffo/scaleway-archkernel
|
7 | 7 | #
|
8 | 8 |
|
9 |
| -# kernel modules to add to the Scaleway initrd to allow Arch kernel to mount |
10 |
| -# nbd devices. Path prefix is /lib/modules/<kernel version> |
11 |
| -REQUIRED_MODULES="net/ethernet/marvell/mvneta_bm net/ethernet/marvell/mvneta block/nbd" |
| 9 | +# kernel modules to add to the Scaleway initrd to enable Arch kernel network |
| 10 | +# and to mount nbd devices. If module is missing, we skip it as it may be a |
| 11 | +# kernel that does not require it. Path prefix is /lib/modules/<kernel version> |
| 12 | +REQUIRED_MODULES="net/phy/phylink net/ethernet/marvell/mvneta_bm net/ethernet/marvell/mvneta block/nbd" |
12 | 13 |
|
13 | 14 | # where to account current Arch kernel version
|
14 | 15 | ARCH_KERNEL_STAMP="/boot/.archkernel-version"
|
@@ -72,10 +73,14 @@ rebuild_initrd() {
|
72 | 73 | local initrd_mod_dir="$initrd_dir/lib/modules/$ARCH_KERNEL_VERSION"
|
73 | 74 | mkdir -p $initrd_mod_dir
|
74 | 75 | for mod in $REQUIRED_MODULES ; do
|
75 |
| - log "+ add module $mod to initrd" |
76 |
| - modname=$(basename $mod).ko |
77 |
| - gunzip < /lib/modules/$ARCH_KERNEL_VERSION/kernel/drivers/$mod.ko.gz > $initrd_mod_dir/$modname |
78 |
| - insmod_command=$insmod_command"insmod /lib/modules/$ARCH_KERNEL_VERSION/$modname\n" |
| 76 | + if [ -e /lib/modules/$ARCH_KERNEL_VERSION/kernel/drivers/$mod.ko.gz ] ; then |
| 77 | + log "+ add module $mod to initrd" |
| 78 | + modname=$(basename $mod).ko |
| 79 | + gunzip < /lib/modules/$ARCH_KERNEL_VERSION/kernel/drivers/$mod.ko.gz > $initrd_mod_dir/$modname |
| 80 | + insmod_command=$insmod_command"insmod /lib/modules/$ARCH_KERNEL_VERSION/$modname\n" |
| 81 | + else |
| 82 | + log "+ skipping module $mod for initrd. not found." |
| 83 | + fi |
79 | 84 | done
|
80 | 85 |
|
81 | 86 | log "+ prepend loading modules before entering scaleway initrd"
|
|
0 commit comments