summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-04-25 19:02:32 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-04-25 19:02:32 +0000
commitb5367474cba180d7b2555e4e30421a7340f63264 (patch)
tree081ef59391b9859af54a286bc74b9bb533cfcb58
parent533fc89abaf81ccf6965f1d1c917421238a83817 (diff)
mount_root: prepare base-files
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36429 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xpackage/base-files/files.old/etc/init.d/done20
-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_cleanup2
-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-xpackage/base-files/files.old/sbin/firstboot44
-rwxr-xr-xpackage/base-files/files.old/sbin/mount_root (renamed from package/base-files/files/sbin/mount_root)0
-rwxr-xr-xpackage/base-files/files/etc/init.d/done2
-rwxr-xr-xpackage/base-files/files/etc/rc.button/reset2
-rw-r--r--package/base-files/files/lib/firstboot/99_10_with_fo_cleanup25
-rw-r--r--package/base-files/files/lib/preinit/80_mount_root11
-rwxr-xr-xpackage/base-files/files/sbin/firstboot43
-rwxr-xr-xpackage/base-files/files/sbin/sysupgrade2
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 000000000..827866912
--- /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 5f44df621..5f44df621 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 3f56e32a8..3f56e32a8 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 8a7d9b066..8a7d9b066 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 4e285840a..4e285840a 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 8ca6a4fe5..8ca6a4fe5 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 c03714fa6..c03714fa6 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 a3cd24fe9..a3cd24fe9 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 7233fd903..7233fd903 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 b5c2601ee..b5c2601ee 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 d91c68947..d91c68947 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 39c2edacb..39c2edacb 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 ced7c1b66..ced7c1b66 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 53801d7a8..53801d7a8 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 6dedcb1e8..6dedcb1e8 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 0181b39d4..560169901 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 c2b7ee79d..c2b7ee79d 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 6a7bd307f..6a7bd307f 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 3c5cf67e8..3c5cf67e8 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 ded785ed5..ded785ed5 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 4ca6877be..4ca6877be 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 b76f111ca..b76f111ca 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 d8ad4ae11..d8ad4ae11 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 210bf6184..210bf6184 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 c4f38e415..c4f38e415 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 000000000..06b64c313
--- /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 1c48ebab1..1c48ebab1 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 827866912..8040766dc 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 763994d07..229b503a6 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 560169901..000000000
--- 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 9a99ee910..0292d82d4 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 06b64c313..081febb7b 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 67019307d..1ad6ea44a 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