diff --git a/packages/initramfs/sysutils/busybox-initramfs/scripts/init b/packages/initramfs/sysutils/busybox-initramfs/scripts/init index 87281929ff..b7036fc58c 100755 --- a/packages/initramfs/sysutils/busybox-initramfs/scripts/init +++ b/packages/initramfs/sysutils/busybox-initramfs/scripts/init @@ -94,8 +94,8 @@ REBOOT="0" } mount_part() { - progress "check filesystem $1 ..." - /sbin/fsck -M -T -a $1 > /dev/null 2>&1 +# progress "check filesystem $1 ..." +# /sbin/fsck -M -T -a $1 > /dev/null 2>&1 for i in 1 2 3 4 5 6 7 8 9 10; do ERR_ENV=1 @@ -118,6 +118,21 @@ REBOOT="0" fi } + hfsdiskprep() { + for DEV in `/bin/busybox ls /dev/sd*`; do + FS_TYPE=$(/sbin/blkid -o value -s TYPE $DEV) + if [ "$FS_TYPE" = "hfs" -o "$FS_TYPE" = "hfsplus" ]; then + progress "check filesystem $DEV ..." + /sbin/fsck_hfs -r -y $DEV > /dev/null 2>&1 + fi + done + } + +# deal with hfs partitions + if [ -x /sbin/fsck_hfs ]; then + hfsdiskprep + fi + mount_part "$boot" "/flash" "ro,noatime" if [ -f "/flash/MACH_KERNEL" ]; then