diff options
author | John Crispin <john@openwrt.org> | 2013-04-25 19:02:32 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2013-04-25 19:02:32 +0000 |
commit | 811d90ff40eddb4dec53aef5276424f25fff4606 (patch) | |
tree | 5976a18073a6523e2126bb4c9ccca6e2ce7fd608 | |
parent | 39469dea7f2f0fe1d68e27ca2f790e44e03f3126 (diff) | |
download | mtk-20170518-811d90ff40eddb4dec53aef5276424f25fff4606.zip mtk-20170518-811d90ff40eddb4dec53aef5276424f25fff4606.tar.gz mtk-20170518-811d90ff40eddb4dec53aef5276424f25fff4606.tar.bz2 |
mount_root: prepare base-files
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 36429
-rwxr-xr-x | package/base-files/files.old/etc/init.d/done | 20 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/05_firstboot_skip (renamed from package/base-files/files/lib/firstboot/05_firstboot_skip) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/10_determine_parts (renamed from package/base-files/files/lib/firstboot/10_determine_parts) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/10_no_fo_clear_overlay (renamed from package/base-files/files/lib/firstboot/10_no_fo_clear_overlay) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/10_reset_has_mini_fo (renamed from package/base-files/files/lib/firstboot/10_reset_has_mini_fo) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/20_has_mini_fo (renamed from package/base-files/files/lib/firstboot/20_has_mini_fo) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/20_no_fo_mount_jffs (renamed from package/base-files/files/lib/firstboot/20_no_fo_mount_jffs) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/20_reset_clear_jffs (renamed from package/base-files/files/lib/firstboot/20_reset_clear_jffs) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/30_is_rootfs_mounted (renamed from package/base-files/files/lib/firstboot/30_is_rootfs_mounted) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/30_no_fo_pivot (renamed from package/base-files/files/lib/firstboot/30_no_fo_pivot) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/30_reset_copy_rom (renamed from package/base-files/files/lib/firstboot/30_reset_copy_rom) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/40_copy_ramoverlay (renamed from package/base-files/files/lib/firstboot/40_copy_ramoverlay) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/40_no_fo_copy_ramoverlay (renamed from package/base-files/files/lib/firstboot/40_no_fo_copy_ramoverlay) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/50_pivot (renamed from package/base-files/files/lib/firstboot/50_pivot) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/99_10_no_fo_cleanup (renamed from package/base-files/files/lib/firstboot/99_10_no_fo_cleanup) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/firstboot/99_10_with_fo_cleanup | 2 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/05_mount_skip (renamed from package/base-files/files/lib/preinit/05_mount_skip) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/10_check_for_mtd (renamed from package/base-files/files/lib/preinit/10_check_for_mtd) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/20_check_jffs2_ready (renamed from package/base-files/files/lib/preinit/20_check_jffs2_ready) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/40_mount_jffs2 (renamed from package/base-files/files/lib/preinit/40_mount_jffs2) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/41_merge_overlay_hooks (renamed from package/base-files/files/lib/preinit/41_merge_overlay_hooks) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/70_pivot_jffs2_root (renamed from package/base-files/files/lib/preinit/70_pivot_jffs2_root) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/90_mount_no_jffs2 (renamed from package/base-files/files/lib/preinit/90_mount_no_jffs2) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/90_restore_config (renamed from package/base-files/files/lib/preinit/90_restore_config) | 0 | ||||
-rw-r--r-- | package/base-files/files.old/lib/preinit/99_10_mount_no_mtd (renamed from package/base-files/files/lib/preinit/99_10_mount_no_mtd) | 0 | ||||
-rwxr-xr-x | package/base-files/files.old/sbin/firstboot | 44 | ||||
-rwxr-xr-x | package/base-files/files.old/sbin/mount_root (renamed from package/base-files/files/sbin/mount_root) | 0 | ||||
-rwxr-xr-x | package/base-files/files/etc/init.d/done | 2 | ||||
-rwxr-xr-x | package/base-files/files/etc/rc.button/reset | 2 | ||||
-rw-r--r-- | package/base-files/files/lib/firstboot/99_10_with_fo_cleanup | 25 | ||||
-rw-r--r-- | package/base-files/files/lib/preinit/80_mount_root | 11 | ||||
-rwxr-xr-x | package/base-files/files/sbin/firstboot | 43 | ||||
-rwxr-xr-x | package/base-files/files/sbin/sysupgrade | 2 |
33 files changed, 80 insertions, 71 deletions
diff --git a/package/base-files/files.old/etc/init.d/done b/package/base-files/files.old/etc/init.d/done new file mode 100755 index 0000000..8278669 --- /dev/null +++ b/package/base-files/files.old/etc/init.d/done @@ -0,0 +1,20 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2006 OpenWrt.org + +START=95 +boot() { + [ -d /tmp/root ] && { + lock /tmp/.switch2jffs + firstboot switch2jffs + lock -u /tmp/.switch2jffs + } + + # process user commands + [ -f /etc/rc.local ] && { + sh /etc/rc.local + } + + # set leds to normal state + . /etc/diag.sh + set_state done +} diff --git a/package/base-files/files/lib/firstboot/05_firstboot_skip b/package/base-files/files.old/lib/firstboot/05_firstboot_skip index 5f44df6..5f44df6 100644 --- a/package/base-files/files/lib/firstboot/05_firstboot_skip +++ b/package/base-files/files.old/lib/firstboot/05_firstboot_skip diff --git a/package/base-files/files/lib/firstboot/10_determine_parts b/package/base-files/files.old/lib/firstboot/10_determine_parts index 3f56e32..3f56e32 100644 --- a/package/base-files/files/lib/firstboot/10_determine_parts +++ b/package/base-files/files.old/lib/firstboot/10_determine_parts diff --git a/package/base-files/files/lib/firstboot/10_no_fo_clear_overlay b/package/base-files/files.old/lib/firstboot/10_no_fo_clear_overlay index 8a7d9b0..8a7d9b0 100644 --- a/package/base-files/files/lib/firstboot/10_no_fo_clear_overlay +++ b/package/base-files/files.old/lib/firstboot/10_no_fo_clear_overlay diff --git a/package/base-files/files/lib/firstboot/10_reset_has_mini_fo b/package/base-files/files.old/lib/firstboot/10_reset_has_mini_fo index 4e28584..4e28584 100644 --- a/package/base-files/files/lib/firstboot/10_reset_has_mini_fo +++ b/package/base-files/files.old/lib/firstboot/10_reset_has_mini_fo diff --git a/package/base-files/files/lib/firstboot/20_has_mini_fo b/package/base-files/files.old/lib/firstboot/20_has_mini_fo index 8ca6a4f..8ca6a4f 100644 --- a/package/base-files/files/lib/firstboot/20_has_mini_fo +++ b/package/base-files/files.old/lib/firstboot/20_has_mini_fo diff --git a/package/base-files/files/lib/firstboot/20_no_fo_mount_jffs b/package/base-files/files.old/lib/firstboot/20_no_fo_mount_jffs index c03714f..c03714f 100644 --- a/package/base-files/files/lib/firstboot/20_no_fo_mount_jffs +++ b/package/base-files/files.old/lib/firstboot/20_no_fo_mount_jffs diff --git a/package/base-files/files/lib/firstboot/20_reset_clear_jffs b/package/base-files/files.old/lib/firstboot/20_reset_clear_jffs index a3cd24f..a3cd24f 100644 --- a/package/base-files/files/lib/firstboot/20_reset_clear_jffs +++ b/package/base-files/files.old/lib/firstboot/20_reset_clear_jffs diff --git a/package/base-files/files/lib/firstboot/30_is_rootfs_mounted b/package/base-files/files.old/lib/firstboot/30_is_rootfs_mounted index 7233fd9..7233fd9 100644 --- a/package/base-files/files/lib/firstboot/30_is_rootfs_mounted +++ b/package/base-files/files.old/lib/firstboot/30_is_rootfs_mounted diff --git a/package/base-files/files/lib/firstboot/30_no_fo_pivot b/package/base-files/files.old/lib/firstboot/30_no_fo_pivot index b5c2601..b5c2601 100644 --- a/package/base-files/files/lib/firstboot/30_no_fo_pivot +++ b/package/base-files/files.old/lib/firstboot/30_no_fo_pivot diff --git a/package/base-files/files/lib/firstboot/30_reset_copy_rom b/package/base-files/files.old/lib/firstboot/30_reset_copy_rom index d91c689..d91c689 100644 --- a/package/base-files/files/lib/firstboot/30_reset_copy_rom +++ b/package/base-files/files.old/lib/firstboot/30_reset_copy_rom diff --git a/package/base-files/files/lib/firstboot/40_copy_ramoverlay b/package/base-files/files.old/lib/firstboot/40_copy_ramoverlay index 39c2eda..39c2eda 100644 --- a/package/base-files/files/lib/firstboot/40_copy_ramoverlay +++ b/package/base-files/files.old/lib/firstboot/40_copy_ramoverlay diff --git a/package/base-files/files/lib/firstboot/40_no_fo_copy_ramoverlay b/package/base-files/files.old/lib/firstboot/40_no_fo_copy_ramoverlay index ced7c1b..ced7c1b 100644 --- a/package/base-files/files/lib/firstboot/40_no_fo_copy_ramoverlay +++ b/package/base-files/files.old/lib/firstboot/40_no_fo_copy_ramoverlay diff --git a/package/base-files/files/lib/firstboot/50_pivot b/package/base-files/files.old/lib/firstboot/50_pivot index 53801d7..53801d7 100644 --- a/package/base-files/files/lib/firstboot/50_pivot +++ b/package/base-files/files.old/lib/firstboot/50_pivot diff --git a/package/base-files/files/lib/firstboot/99_10_no_fo_cleanup b/package/base-files/files.old/lib/firstboot/99_10_no_fo_cleanup index 6dedcb1..6dedcb1 100644 --- a/package/base-files/files/lib/firstboot/99_10_no_fo_cleanup +++ b/package/base-files/files.old/lib/firstboot/99_10_no_fo_cleanup diff --git a/package/base-files/files.old/lib/firstboot/99_10_with_fo_cleanup b/package/base-files/files.old/lib/firstboot/99_10_with_fo_cleanup index 0181b39..5601699 100644 --- a/package/base-files/files.old/lib/firstboot/99_10_with_fo_cleanup +++ b/package/base-files/files.old/lib/firstboot/99_10_with_fo_cleanup @@ -6,7 +6,7 @@ with_fo_cleanup() { # try to get rid of /tmp/root # this will almost always fail - umount /tmp/root 2>&- + umount -l /tmp/root 2>&- grep -q overlay /proc/filesystems && { cd / ( diff --git a/package/base-files/files/lib/preinit/05_mount_skip b/package/base-files/files.old/lib/preinit/05_mount_skip index c2b7ee7..c2b7ee7 100644 --- a/package/base-files/files/lib/preinit/05_mount_skip +++ b/package/base-files/files.old/lib/preinit/05_mount_skip diff --git a/package/base-files/files/lib/preinit/10_check_for_mtd b/package/base-files/files.old/lib/preinit/10_check_for_mtd index 6a7bd30..6a7bd30 100644 --- a/package/base-files/files/lib/preinit/10_check_for_mtd +++ b/package/base-files/files.old/lib/preinit/10_check_for_mtd diff --git a/package/base-files/files/lib/preinit/20_check_jffs2_ready b/package/base-files/files.old/lib/preinit/20_check_jffs2_ready index 3c5cf67..3c5cf67 100644 --- a/package/base-files/files/lib/preinit/20_check_jffs2_ready +++ b/package/base-files/files.old/lib/preinit/20_check_jffs2_ready diff --git a/package/base-files/files/lib/preinit/40_mount_jffs2 b/package/base-files/files.old/lib/preinit/40_mount_jffs2 index ded785e..ded785e 100644 --- a/package/base-files/files/lib/preinit/40_mount_jffs2 +++ b/package/base-files/files.old/lib/preinit/40_mount_jffs2 diff --git a/package/base-files/files/lib/preinit/41_merge_overlay_hooks b/package/base-files/files.old/lib/preinit/41_merge_overlay_hooks index 4ca6877..4ca6877 100644 --- a/package/base-files/files/lib/preinit/41_merge_overlay_hooks +++ b/package/base-files/files.old/lib/preinit/41_merge_overlay_hooks diff --git a/package/base-files/files/lib/preinit/70_pivot_jffs2_root b/package/base-files/files.old/lib/preinit/70_pivot_jffs2_root index b76f111..b76f111 100644 --- a/package/base-files/files/lib/preinit/70_pivot_jffs2_root +++ b/package/base-files/files.old/lib/preinit/70_pivot_jffs2_root diff --git a/package/base-files/files/lib/preinit/90_mount_no_jffs2 b/package/base-files/files.old/lib/preinit/90_mount_no_jffs2 index d8ad4ae..d8ad4ae 100644 --- a/package/base-files/files/lib/preinit/90_mount_no_jffs2 +++ b/package/base-files/files.old/lib/preinit/90_mount_no_jffs2 diff --git a/package/base-files/files/lib/preinit/90_restore_config b/package/base-files/files.old/lib/preinit/90_restore_config index 210bf61..210bf61 100644 --- a/package/base-files/files/lib/preinit/90_restore_config +++ b/package/base-files/files.old/lib/preinit/90_restore_config diff --git a/package/base-files/files/lib/preinit/99_10_mount_no_mtd b/package/base-files/files.old/lib/preinit/99_10_mount_no_mtd index c4f38e4..c4f38e4 100644 --- a/package/base-files/files/lib/preinit/99_10_mount_no_mtd +++ b/package/base-files/files.old/lib/preinit/99_10_mount_no_mtd diff --git a/package/base-files/files.old/sbin/firstboot b/package/base-files/files.old/sbin/firstboot new file mode 100755 index 0000000..06b64c3 --- /dev/null +++ b/package/base-files/files.old/sbin/firstboot @@ -0,0 +1,44 @@ +#!/bin/sh + +switch2jffs_hook= +jffs2reset_hook= +no_fo_hook= + +. /lib/functions.sh + +firstboot_skip_next=false + +for fb_source_file in /lib/firstboot/*; do + . $fb_source_file +done + +set_mtd_part +set_rom_part +set_jffs_part + +# invoked as an executable +if [ "${0##*/}" = "firstboot" ]; then + if [ "$1" = "switch2jffs" ]; then + boot_run_hook switch2jffs + else + if [ -t 0 ] && [ "$1" != "-y" ]; then + local input + + echo -n "firstboot will erase all settings and remove any installed packages. Are you sure? [N/y]" + read input + [ "$input" = "y" ] || [ "$input" = "Y" ] || return 0 + fi + + if [ -n "$jffs" ]; then + reset_has_fo=true + echo "firstboot has already been run" + echo "jffs2 partition is mounted, only resetting files" + boot_run_hook jffs2reset + else + mtd erase "$partname" + mount -o noatime "$mtdpart" /overlay -t jffs2 + fopivot /overlay /rom 1 + fi + fi +fi + diff --git a/package/base-files/files/sbin/mount_root b/package/base-files/files.old/sbin/mount_root index 1c48eba..1c48eba 100755 --- a/package/base-files/files/sbin/mount_root +++ b/package/base-files/files.old/sbin/mount_root diff --git a/package/base-files/files/etc/init.d/done b/package/base-files/files/etc/init.d/done index 8278669..8040766 100755 --- a/package/base-files/files/etc/init.d/done +++ b/package/base-files/files/etc/init.d/done @@ -5,7 +5,7 @@ START=95 boot() { [ -d /tmp/root ] && { lock /tmp/.switch2jffs - firstboot switch2jffs + switch2jffs lock -u /tmp/.switch2jffs } diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset index 763994d..229b503 100755 --- a/package/base-files/files/etc/rc.button/reset +++ b/package/base-files/files/etc/rc.button/reset @@ -14,5 +14,5 @@ then elif [ "$SEEN" -gt 5 ] then echo "FACTORY RESET" > /dev/console - firstboot && reboot & + jffs2reset -y && reboot & fi diff --git a/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup b/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup deleted file mode 100644 index 5601699..0000000 --- a/package/base-files/files/lib/firstboot/99_10_with_fo_cleanup +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# Copyright (C) 2006-2010 OpenWrt.org -# Copyright (C) 2010 Vertical Communications - -with_fo_cleanup() { - # try to get rid of /tmp/root - # this will almost always fail - umount -l /tmp/root 2>&- - grep -q overlay /proc/filesystems && { - cd / - ( - cd /overlay - find -type l - ) | while read FILE; do - [ -z "$FILE" ] && break - if ls -la "$FILE" 2>&- | grep -q '(overlay-whiteout)'; then - rm -f "$FILE" - fi - done - } - exit 0 -} - -boot_hook_add switch2jffs with_fo_cleanup diff --git a/package/base-files/files/lib/preinit/80_mount_root b/package/base-files/files/lib/preinit/80_mount_root index 9a99ee9..0292d82 100644 --- a/package/base-files/files/lib/preinit/80_mount_root +++ b/package/base-files/files/lib/preinit/80_mount_root @@ -3,7 +3,16 @@ # Copyright (C) 2010 Vertical Communications do_mount_root() { - boot_run_hook preinit_mount_root + mount_root + boot_run_hook preinit_mount_root + [ -f /sysupgrade.tgz ] && { + echo "- config restore -" + cd / + mv sysupgrade.tgz /tmp + tar xzf /tmp/sysupgrade.tgz + rm -f /tmp/sysupgrade.tgz + sync + } } [ "$INITRAMFS" = "1" ] || boot_hook_add preinit_main do_mount_root diff --git a/package/base-files/files/sbin/firstboot b/package/base-files/files/sbin/firstboot index 06b64c3..081febb 100755 --- a/package/base-files/files/sbin/firstboot +++ b/package/base-files/files/sbin/firstboot @@ -1,44 +1,3 @@ #!/bin/sh -switch2jffs_hook= -jffs2reset_hook= -no_fo_hook= - -. /lib/functions.sh - -firstboot_skip_next=false - -for fb_source_file in /lib/firstboot/*; do - . $fb_source_file -done - -set_mtd_part -set_rom_part -set_jffs_part - -# invoked as an executable -if [ "${0##*/}" = "firstboot" ]; then - if [ "$1" = "switch2jffs" ]; then - boot_run_hook switch2jffs - else - if [ -t 0 ] && [ "$1" != "-y" ]; then - local input - - echo -n "firstboot will erase all settings and remove any installed packages. Are you sure? [N/y]" - read input - [ "$input" = "y" ] || [ "$input" = "Y" ] || return 0 - fi - - if [ -n "$jffs" ]; then - reset_has_fo=true - echo "firstboot has already been run" - echo "jffs2 partition is mounted, only resetting files" - boot_run_hook jffs2reset - else - mtd erase "$partname" - mount -o noatime "$mtdpart" /overlay -t jffs2 - fopivot /overlay /rom 1 - fi - fi -fi - +/sbin/jffs2reset diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 6701930..1ad6ea4 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -179,6 +179,8 @@ fi run_hooks "" $sysupgrade_pre_upgrade +ubus call system upgrade + kill_remaining TERM sleep 3 kill_remaining KILL |