Update init script

This commit is contained in:
andreili 2025-07-27 12:11:35 +02:00
parent 637e6d9fd8
commit 470cd88dfa
2 changed files with 7 additions and 25 deletions

View File

@ -62,53 +62,35 @@ run cd "${CHROOT}"
good_msg 'Mounting squashfs filesystem' good_msg 'Mounting squashfs filesystem'
upperdir="${RW_MNT}/.upper" upperdir="${RW_MNT}/.upper"
workdir="${RW_MNT}/.work" workdir="${RW_MNT}/.work"
for i in "${RW_MNT}" "${STATIC}" "${OVERLAY}" for i in "${RW_MNT}" "${STATIC}" "${OVERLAY}" "${upperdir}" "${workdir}"
do do
[ ! -d "${i}" ] && run mkdir -p "${i}" [ ! -d "${i}" ] && run mkdir -p "${i}"
done done
#for i in "${upperdir}" "${workdir}"
#do
# [ ! -d "${i}" ] && run mkdir -p "${i}"
#done
run mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOP}" "${STATIC}" || run_emergency_shell run mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOP}" "${STATIC}" || run_emergency_shell
if [ -d ${CDROOT_PATH}/modules ] if [ -d ${CDROOT_PATH}/modules ]
then then
warn_msg "Adding all modules in ${CDROOT_PATH}/modules" good_msg "Adding all modules in ${CDROOT_PATH}/modules"
for module in "${CDROOT_PATH}/modules/"*.lzm; do for module in "${CDROOT_PATH}/modules/"*.lzm; do
mod=${module##*/} mod=${module##*/}
mod=${mod//-/_} mod=${mod//-/_}
mod=${mod%.*} mod=${mod%.*}
if [ ! -d "${OVERLAY}/.${mod}" ] if [ ! -d "${OVERLAY}/.${mod}" ]
then then
run mkdir -p "${OVERLAY}/.${mod}" || return run mkdir -p "${OVERLAY}/.${mod}" || run_emergency_shell
fi fi
run mount -o loop,ro "${module}" "${OVERLAY}/.${mod}" run mount -o loop,ro "${module}" "${OVERLAY}/.${mod}" || run_emergency_shell
mod_path="${mod_path}:${OVERLAY}/.${mod}" mod_path="${mod_path}:${OVERLAY}/.${mod}"
# Assign variable with paths to modules mount point # Assign variable with paths to modules mount point
# TODO: Stop using eval mods="${mods} ${OVERLAY}/.${mod}"
eval ${mod}="${OVERLAY}/.${mod}"
mods="${mods} ${mod}"
done done
fi fi
run mount -t overlay overlay -o lowerdir="${STATIC}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}" || run_emergency_shell run mount -t overlay overlay -o lowerdir="${STATIC}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}" || run_emergency_shell
for i in "${RW_MNT}" "${STATIC}" "${CDROOT_PATH}" for i in "${RW_MNT}" "${STATIC}" "${CDROOT_PATH}" ${mods}
do do
[ ! -d "${NEW_ROOT}${i}" ] && run mkdir -p "${NEW_ROOT}${i}" [ ! -d "${NEW_ROOT}${i}" ] && run mkdir -p "${NEW_ROOT}${i}"
run mount --move "${i}" "${NEW_ROOT}${i}" || run_emergency_shell run mount --move "${i}" "${NEW_ROOT}${i}" || run_emergency_shell
done done
#run mount --move "${CDROOT_PATH}" "${NEW_ROOT}${CDROOT_PATH}" || run_emergency_shell
#run mount --move "${RW_MNT}" "${NEW_ROOT}${RW_MNT}" || run_emergency_shell
#run mount --move "${STATIC}" "${NEW_ROOT}${STATIC}" || run_emergency_shell
if [ -n "${mods}" ]
then
for i in ${mods}
do
[ ! -d "${NEW_ROOT}${OVERLAY}/.${i}" ] && run mkdir -p "${NEW_ROOT}${OVERLAY}/.${i}"
run mount --bind "${OVERLAY}/.${i}" "${NEW_ROOT}/${OVERLAY}/.${i}"
done
fi
#for m in ${MODULES}; do #for m in ${MODULES}; do
# run insmod "${NEW_ROOT}${m}" # run insmod "${NEW_ROOT}${m}"
#done #done

View File

@ -101,7 +101,7 @@ devicelist() {
# iSeries devices # iSeries devices
DEVICES="${DEVICES} /dev/iseries/vcd*" DEVICES="${DEVICES} /dev/iseries/vcd*"
# builtin mmc/sd card reader devices # builtin mmc/sd card reader devices
DEVICES="${DEVICES} /dev/mmcblk* /dev/mmcblk*/*" DEVICES="${DEVICES} /dev/mmcblk*p*/*"
# fallback scanning, this might scan something twice, but it's better than # fallback scanning, this might scan something twice, but it's better than
# failing to boot. # failing to boot.
[ -e /proc/partitions ] && DEVICES="${DEVICES} $(awk '/([0-9]+[[:space:]]+)/{print "/dev/" $4}' /proc/partitions)" [ -e /proc/partitions ] && DEVICES="${DEVICES} $(awk '/([0-9]+[[:space:]]+)/{print "/dev/" $4}' /proc/partitions)"