[后板]优化启动脚本和驱动加载,加快启动速度

This commit is contained in:
2025-01-02 16:24:10 +08:00
parent 453c61ae2d
commit 3bbc68b7ad
11 changed files with 90 additions and 213 deletions

View File

@@ -142,6 +142,64 @@ mount_usr(){
}
rc_mount_filesystem()
{
local fs_src="$1"
local fs_mntpt="$2"
# mount filesystem
if [ -e "$fs_src" -a -d "$fs_mntpt" ]; then
[ -L "$fs_src" ] && fs_src=$(readlink "$fs_src")
case "$fs_src" in
/dev/mtdblock*)
mount -t jffs2 "$fs_src" "$fs_mntpt" 2>/dev/null
if [ "$?" -ne "0" ]; then
mkfs_jffs2 "$fs_src"
mount -t jffs2 "$fs_src" "$fs_mntpt" 2>/dev/null
fi
;;
/dev/ubi*)
mount -t ubifs "$fs_src" "$fs_mntpt" 2>/dev/null
if [ "$?" -ne "0" ]; then
mkfs_ubifs "$fs_src"
mount -t ubifs "$fs_src" "$fs_mntpt" 2>/dev/null
fi
;;
*)
/usr/sbin/fsck.ext4 -y "$fs_src" &>/dev/null
mount -t ext4 "$fs_src" "$fs_mntpt" 2>/dev/null
if [ "$?" -ne "0" ]; then
# linux < 3.18 not support metadata_csum, e2fsprogs version:1.46.4
grep "Linux version 3.*" /proc/version >> /dev/null
if [ $? -eq 0 ]; then
echo "linux < 3.18, mkfs.ext4 do not use metadata and journal checksum features."
mkfs.ext4 -m 0 -O ^metadata_csum "$fs_src" >/dev/null
else
mkfs.ext4 -m 0 "$fs_src" >/dev/null
fi
mount -t ext4 "$fs_src" "$fs_mntpt" 2>/dev/null
fi
;;
esac
# restore /mnt file contexts
if [ -f /sbin/restorecon ]; then
/sbin/restorecon -R /mnt
fi
fi
}
rc_mount()
{
rc_mount_filesystem "/dev/by-name/UDISK" "/mnt/UDISK"
# rc_mount_filesystem "/dev/by-name/user-res" "/mnt/user"
# enable hotplug
[ -x /sbin/mdev ] && {
[ -f /proc/sys/kernel/hotplug ] && echo /sbin/mdev > /proc/sys/kernel/hotplug
/sbin/mdev -s
}
}
mount_sec_storage(){
[ -e /dev/by-name/sec_storage ] || return
@@ -517,6 +575,17 @@ mount_usr
[ x"$MOUNT_OVERLAY" = x"1" ] && mount_overlay rootfs_data #choose rootfs_data or UDISK
mount_app
MODULES_DIR="/lib/modules/`uname -r`"
rc_mount
insmod $MODULES_DIR/xr806.ko
insmod $MODULES_DIR/gpio_keys.ko
/etc/init.d/S50wifidaemon start &
# insmod $MODULES_DIR/disp.ko # loaded by kernel
insmod $MODULES_DIR/sunxi_gpadc.ko
/etc/init.d/S00mpp start # snd should be loaded before app
/APP/SL100BACKPANEL &
insmod $MODULES_DIR/evdev.ko
insmod $MODULES_DIR/cst9220.ko
#hardcode but fast
#mount_etc_hardcode
#set_parts_by_name_hardcode