/bin/mount $DATAFS $DATAFS_MNT
}
+function load_kernel_modules
+{
+ echo "Load kernel modules"
+
+ # module conf file doest not exist
+ config_cnt=$(/bin/find $MODULES_MNT/modules-load.d -name "*.conf" 2> /dev/null | /bin/wc -l)
+ if [ $config_cnt = 0 ]; then return; fi
+
+ for conf in $MODULES_MNT/modules-load.d/*.conf
+ do
+ echo "Read module conf: $conf"
+ while read module
+ do
+ module=$(echo "$module" | /bin/xargs) # trim white space
+ if [ "$module" = "" ]; then continue; fi # skip blank line
+ if [ "${module:0:1}" = "#" ]; then continue; fi # skip # commented line
+
+ echo "Loading module: $module"
+ /sbin/modprobe --dirname=$ROOTFS_MNT --config=${ROOTFS_MNT}/lib/modules/modprobe.d $module &
+ done < $conf
+ done
+}
function process_modulesfs
{
if [ x$MODULES = "x" ]; then return; fi
/bin/mount -o ro $MODULES $MODULES_MNT
+ load_kernel_modules
}
}
-function load_kernel_modules
-{
- echo "Load kernel modules"
-
- # module conf file doest not exist
- config_cnt=$(/bin/find $MODULES_MNT/modules-load.d -name "*.conf" 2> /dev/null | /bin/wc -l)
- if [ $config_cnt = 0 ]; then return; fi
-
- for conf in $MODULES_MNT/modules-load.d/*.conf
- do
- echo "Read module conf: $conf"
- while read module
- do
- module=$(echo "$module" | /bin/xargs) # trim white space
- if [ "$module" = "" ]; then continue; fi # skip blank line
- if [ "${module:0:1}" = "#" ]; then continue; fi # skip # commented line
-
- echo "Loading module: $module"
- /sbin/modprobe --dirname=$ROOTFS_MNT --config=${ROOTFS_MNT}/lib/modules/modprobe.d $module &
- done < $conf
- done
-
- wait # wait all background jobs
-}
-
-
function pivot_root()
{
if [ "$IN_INITRD" = "1" ]
check_flags
process_rootfs
-process_datafs
-process_modulesfs
-process_halfs
-process_userfs
+process_datafs &
+process_modulesfs &
+process_halfs &
+process_userfs &
+
write_resized_flag
-load_kernel_modules
+wait # wait for all background jobs
pivot_root
change_root $@