mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
FIRSBOOT: add extra p5 for ROMS (use GPT) & add option for switching FS (#168)
* BOARD: firstboot: use ext4 for p1 explicitly * BOARD: /etc/main : update fsck scripts * BOARD: inittab: - add /roms in p5 - mount RO /boot in async (default) * BOARD: genimage.sh: gen ROMS EXT4 image * BAORD: prebuild.sh: - create mount point for ROMS - increase MAIN & ROMS block size - the size of /mnt is "hardcoded" after image creation - we need real space for backup manipulation in ROMS * BOARD: mv roms upward * BOARD: firstboot: add p5 ROMS and resize * BOARD: genimage-sdcard.cfg: - use GPT - add p5 for roms * PACKAGE/BOARD: patch/genimage: down-size gpt table * PACKAGE/DEFCONFIG: add `gptfdisk` package to shared * BOARD: firstboot: allow for switching FS type in MAIN and ROMS * README: update firstboot_procedure.drawio.png - add FS change boxes and IPK installer * BOARD: firstboot: not mandatory to resize for IPK manager * DEFCONFIG: add default kernel patching * DEFCONFIG: uppercase rootfs label * BOARD: umtpr: uppercas partition LABELS * DEFCONFIG/PACKAGE: add RSYNC pkg * BOARD: mount FAT p5 in async (default) * BOARD: add ROMS icons for Win Co-Authored-By: TriForce <triforce@gznetwork.com>
This commit is contained in:
@@ -15,12 +15,14 @@
|
||||
|
||||
# Startup the system
|
||||
::sysinit:/bin/mount -t proc proc /proc
|
||||
::sysinit:/bin/mount -o remount,ro /
|
||||
::sysinit:/bin/mkdir -p /dev/pts
|
||||
::sysinit:/bin/mkdir -p /dev/shm
|
||||
::sysinit:/bin/mount -a
|
||||
::sysinit:/bin/hostname -F /etc/hostname
|
||||
::sysinit:/bin/mount /dev/mmcblk0p4 /mnt -o commit=5,flushoncommit,noatime,nodiratime,exec
|
||||
::sysinit:/bin/mount /dev/mmcblk0p1 /boot -t vfat -o ro,exec,sync,utf8
|
||||
::sysinit:/bin/mount /dev/mmcblk0p5 /roms -o rw,noatime
|
||||
::sysinit:/bin/mount /dev/mmcblk0p1 /boot -t vfat -o ro,exec,utf8
|
||||
::sysinit:/sbin/swapon /dev/mmcblk0p3
|
||||
|
||||
# now run any rc scripts
|
||||
|
||||
@@ -2,10 +2,11 @@
|
||||
|
||||
BOOTLOGO="boot-logo"
|
||||
export HOME=/mnt
|
||||
export ROMS=/roms
|
||||
export BOOTDIR=/boot # we expect /dev/mmcblk0p1 has been mounted here read only, from inittab
|
||||
export SDL_NOMOUSE=1
|
||||
START="${HOME}/autoexec.sh"
|
||||
|
||||
BOOTDIR=/boot # we expect /dev/mmcblk0p1 has been mounted here read only, from inittab
|
||||
LOGS=/dev/null
|
||||
|
||||
# check if it's first boot and turn on messages if yes
|
||||
@@ -95,14 +96,37 @@ elif test -r "${HOME}/firstboot.completed"; then
|
||||
rm "${HOME}/firstboot.completed"
|
||||
fi
|
||||
|
||||
if !(grep -q FAT_CHECK\=\0 "${HOME}/options.cfg"); then
|
||||
##Check if FAT16 is flagged as "dirty", and if so unmount, repair, remount
|
||||
if !(grep -q FS_CHECK\=\0 "${HOME}/options.cfg"); then
|
||||
##Check if BOOT (FAT16) is flagged as "dirty", and if so unmount, repair, remount
|
||||
if dmesg | grep "mmcblk0p1" > /dev/null; then
|
||||
echo -e "\e[31mDirty sectors detected.\e[0m"
|
||||
echo -e "\e[32mChecking&Repairing FAT16 BOOT partition...\e[0m"
|
||||
umount /dev/mmcblk0p1
|
||||
fsck.vfat -y /dev/mmcblk0p1 > /dev/null;
|
||||
mount /dev/mmcblk0p1 "${BOOTDIR}" -t vfat -o ro,exec,sync,utf8
|
||||
mount /dev/mmcblk0p1 "${BOOTDIR}" -t vfat -o ro,exec,utf8
|
||||
echo -e "\e[32mCheck complete.\e[0m"
|
||||
fi
|
||||
##Check if MAIN (EXT4) is flagged as "dirty", and if so unmount, repair, remount
|
||||
if dmesg | grep "EXT4-fs (mmcblk0p4): warning: mounting fs with errors, running e2fsck is recommended" > /dev/null; then
|
||||
echo -e "\e[31mUnclean shutdown detected.\e[0m"
|
||||
echo -e "\e[32mChecking MAIN(EXT4) partition...\e[0m"
|
||||
umount /dev/mmcblk0p4
|
||||
e2fsck -y /dev/mmcblk0p4 > /dev/null;
|
||||
mount /dev/mmcblk0p4 "${HOME}" -o rw,sync,exec
|
||||
fi
|
||||
##Check if ROMS (EXT4 or FAT32) is flagged as "dirty", and if so unmount, repair, remount
|
||||
if dmesg | grep "EXT4-fs (mmcblk0p5): warning: mounting fs with errors, running e2fsck is recommended" > /dev/null; then
|
||||
echo -e "\e[31mUnclean shutdown detected.\e[0m"
|
||||
echo -e "\e[32mChecking ROMS(EXT4) partition...\e[0m"
|
||||
umount /dev/mmcblk0p5
|
||||
e2fsck -y /dev/mmcblk0p5 > /dev/null;
|
||||
mount /dev/mmcblk0p5 "${ROMS}" -o rw,noatime
|
||||
elif dmesg | grep "FAT-fs (mmcblk0p5): Volume was not properly unmounted. Some data may be corrupt. Please run fsck." > /dev/null; then
|
||||
echo -e "\e[31mDirty sectors detected.\e[0m"
|
||||
echo -e "\e[32mChecking&Repairing ROMS(FAT32) partition...\e[0m"
|
||||
umount /dev/mmcblk0p5
|
||||
fsck.vfat -y /dev/mmcblk0p5 > /dev/null;
|
||||
mount /dev/mmcblk0p5 "${ROMS}" -t vfat -o rw,utf8
|
||||
echo -e "\e[32mCheck complete.\e[0m"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -11,9 +11,10 @@ loop_on_disconnect 1
|
||||
#storage command : Create add a storage entry point. Up to 16 entry points supported
|
||||
#Syntax : storage "PATH" "NAME"
|
||||
|
||||
storage "/" "rootfs" "ro"
|
||||
storage "/mnt" "main" "rw"
|
||||
storage "/boot" "boot" "ro"
|
||||
storage "/" "ROOTFS" "ro"
|
||||
storage "/mnt" "MAIN" "rw"
|
||||
storage "/roms" "ROMS" "rw"
|
||||
storage "/boot" "BOOT" "ro"
|
||||
|
||||
#
|
||||
# Uncomment the following line if you want to
|
||||
|
||||
Reference in New Issue
Block a user