FAKE_ROOT=/run/upgrade-sysroot
HAL_MNT=hal
+MODULES_INITRD_MNT=/usr/lib/modules
SYNC="/bin/sync"
REBOOT="/sbin/reboot"
GREP="/bin/grep"
BLKID="/usr/sbin/blkid"
+
#------------------------------------------------
# do_reboot
#------------------------------------------------
PART_HAL=`/sbin/blkid -L hal`
fi
+ if [ x$MODULFS = "x" ]
+ then
+ PART_MODULES=`/sbin/blkid -t PARTLABEL=module${P_SUFFIX} -o device -l`
+ fi
+ if [ x$PART_MODULES = "x" ]
+ then
+ PART_MODULES=`/sbin/blkid -L modules`
+ fi
+
PART_USER=$("$BLKID" --match-token PARTLABEL=user -o device -l || "$BLKID" --match-token LABEL=user -o device -l)
return 0
return 0
}
+load_kernel_modules()
+{
+ echo "Load kernel modules"
+
+ for conf in $(compgen -G $MODULES_INITRD_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 $module &
+ done < $conf
+ done
+
+ wait # wait all background jobs
+}
+
+#------------------------------------------------
+# mount_modulesfs
+#------------------------------------------------
+mount_modules()
+{
+ if [ "z${PART_MODULES}" = "z" ]; then
+ # No modules partition
+ return 2
+ fi
+
+ if ! "$MOUNT" -o ro "${PART_MODULES}" "${MODULES_INITRD_MNT}"; then
+ return 1
+ fi
+
+ load_kernel_modules
+ return 0
+}
+
#------------------------------------------------
# mount_partitions
#------------------------------------------------
get_partition_id &&
mount_rootfs &&
mount_hal &&
+ mount_modules &&
"$MOUNT" -t proc none ${FAKE_ROOT}/proc &&
"$MOUNT" -t sysfs none ${FAKE_ROOT}/sys &&
"$MOUNT" -t devtmpfs devtmpfs ${FAKE_ROOT}/dev &&