--- /dev/null
+#!/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
+}
--- /dev/null
+#!/bin/sh
+
+check_skip() {
+ if [ "$firstboot_skip_next" = "true" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
--- /dev/null
+#!/bin/sh
+
+set_mtd_part() {
+ partname="rootfs_data"
+ mtdpart="$(find_mtd_part $partname)"
+}
+
+set_rom_part() {
+ rom=$(awk '/squashfs/ {print $2}' /proc/mounts)
+}
+
+set_jffs_part() {
+ jffs=$(awk '/jffs2/ {print $2}' /proc/mounts)
+}
+
+determine_mtd_part() {
+ set_mtd_part
+ if [ -z "$mtdpart" ]; then
+ echo "MTD partition not found."
+ exit 1
+ fi
+}
+
+determine_rom_part() {
+ check_skip || {
+ set_rom_part
+ if [ -z "$rom" ]; then
+ echo "You do not have a squashfs partition; aborting"
+ echo "(firstboot cannot be run on jffs2 based firmwares)"
+ exit 1
+ fi
+ }
+}
+
+determine_jffs2_part() {
+ check_skip || {
+ set_jffs_part
+ }
+}
+
+boot_hook_add switch2jffs determine_mtd_part
+boot_hook_add jffs2reset determine_mtd_part
+boot_hook_add switch2jffs determine_rom_part
+boot_hook_add jffs2reset determine_rom_part
+boot_hook_add switch2jffs determine_jffs2_part
+boot_hook_add jffs2reset determine_jffs2_part
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+no_fo_clear_overlay() {
+ # switch back to squashfs temporarily
+ pivot /rom /mnt
+
+ # get rid of the old overlay
+ umount -l /mnt
+
+ # another umount to get rid of the bind from /tmp/root
+ umount -l /mnt
+}
+
+boot_hook_add no_fo no_fo_clear_overlay
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+reset_check_for_overlay() {
+ if grep -qE '(mini_fo|overlay)' /proc/filesystems; then
+ reset_has_fo=true
+ fi
+}
+
+boot_hook_add jffs2reset reset_check_for_overlay
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+check_for_overlay() {
+ if ! grep -qE '(mini_fo|overlay)' /proc/filesystems; then
+ boot_run_hook no_fo
+ exit 1
+ fi
+}
+
+boot_hook_add switch2jffs check_for_overlay
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+no_fo_mount_jffs() {
+ # initialize jffs2
+ mount -o noatime "$mtdpart" /overlay -t jffs2 || exit
+
+ # workaround to ensure that union can attach properly
+ sync
+ ls /overlay >/dev/null
+}
+
+boot_hook_add no_fo no_fo_mount_jffs
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+reset_clear_jffs() {
+ [ "$reset_has_fo" = "true" ] && {
+ rm -rf $jffs/* 2>&-
+ mount -o remount $jffs / 2>&-
+ exit 0
+ } || reset_has_fo=false
+}
+
+boot_hook_add jffs2reset reset_clear_jffs
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+skip_if_rootfs_mounted() {
+ mount -o noatime -t jffs2 "$mtdpart" /rom/overlay || exit
+}
+
+boot_hook_add switch2jffs skip_if_rootfs_mounted
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+no_fo_pivot() {
+ # switch to the new (empty) jffs2
+ fopivot /overlay /rom 1
+}
+
+boot_hook_add no_fo no_fo_pivot
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+reset_copy_rom() {
+ [ "$reset_has_fo" != "true" ] && {
+ dupe $jffs $rom
+ exit 0
+ }
+}
+
+boot_hook_add jffs2reset reset_copy_rom
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+copy_ramoverlay() {
+ # try to avoid fs changing while copying
+ mount -o remount,ro none / 2>&-
+ # copy ramoverlay to jffs2
+ echo -n "copying files ... "
+ cp -a /tmp/root/* /rom/overlay 2>&-
+ echo "done"
+}
+
+boot_hook_add switch2jffs copy_ramoverlay
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+no_fo_copy_ramoverlay() {
+ # copy ramoverlay to jffs2, must be done after switching
+ # to the new rootfs to avoid creating opaque directories
+ echo -n "copying files ... "
+ cp -a /tmp/root/* / >/dev/null 2>&1
+ sync
+}
+
+boot_hook_add no_fo no_fo_ramoverlay
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+with_fo_pivot() {
+ # switch back to squashfs (temporarily)
+ # and park the ramdisk ontop of /tmp/root
+ pivot /rom /mnt
+ mount -o move /mnt /tmp/root
+
+ # /overlay is the overlay
+ # /rom is the readonly
+ fopivot /overlay /rom
+}
+
+boot_hook_add switch2jffs with_fo_pivot
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+no_fo_cleanup() {
+ echo "done"
+ umount -l /overlay
+ umount -l /tmp/root
+ exit 0
+}
+
+boot_hook_add no_fo no_fo_cleanup
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 /
(
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+check_skip() {
+ if [ "$pi_mount_skip_next" = "true" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
--- /dev/null
+#!/bin/sh
+
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+mount_no_mtd() {
+ mtd unlock rootfs
+ mount -o noatime,remount,rw /dev/root /
+}
+
+check_for_mtd() {
+ check_skip || {
+ grep -qs rootfs_data /proc/mtd || {
+ mount_no_mtd && pi_mount_skip_next=true
+ }
+ }
+}
+
+boot_hook_add preinit_mount_root check_for_mtd
+
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+mount_no_jffs2() {
+ echo "jffs2 not ready yet; using ramdisk"
+ ramoverlay
+}
+
+check_for_jffs2() {
+ check_skip || {
+ jffs2_ready || {
+ mount_no_jffs2 && pi_mount_skip_next=true
+ }
+ }
+}
+
+boot_hook_add preinit_mount_root check_for_jffs2
+
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+find_mount_jffs2() {
+ mkdir -p /tmp/overlay
+ mount -o noatime -t jffs2 "$(find_mtd_part rootfs_data)" /tmp/overlay
+ mtd -qq unlock rootfs_data
+}
+
+jffs2_not_mounted() {
+ if [ "$pi_jffs2_mount_success" != "true" ]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+do_mount_jffs2() {
+ check_skip || {
+ find_mount_jffs2 && pi_jffs2_mount_success=true
+ }
+}
+
+boot_hook_add preinit_mount_root do_mount_jffs2
+
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2010 OpenWrt.org
+
+merge_overlay_hooks() {
+ jffs2_not_mounted || [ ! -d /tmp/overlay/lib/preinit ] || {
+ echo "- merge overlay components -"
+
+ mkdir -p /tmp/preinit-hook-merge
+ ln -sf /lib/preinit/* /tmp/overlay/lib/preinit/[0-9][0-9]_* /tmp/preinit-hook-merge/
+
+ boot_hook_splice_start
+
+ local pipart
+ for pipart in /tmp/preinit-hook-merge/*; do
+ . $pipart
+ done
+
+ boot_hook_splice_finish
+
+ rm -rf /tmp/preinit-hook-merge
+ }
+}
+
+boot_hook_add preinit_mount_root merge_overlay_hooks
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+rootfs_pivot() {
+ check_skip || jffs2_not_mounted || {
+ echo "switching to jffs2"
+ mount -o noatime,move /tmp/overlay /overlay 2>&-
+ fopivot /overlay /rom && pi_mount_skip_next=true
+ }
+}
+
+boot_hook_add preinit_mount_root rootfs_pivot
+
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+do_mount_no_jffs2() {
+ check_skip || {
+ mount_no_jffs2 && pi_mount_skip_next=true
+ }
+}
+
+boot_hook_add preinit_mount_root do_mount_no_jffs2
+
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+restore_config() {
+ [ -f /sysupgrade.tgz ] && {
+ echo "- config restore -"
+ cd /
+ mv sysupgrade.tgz /tmp
+ tar xzf /tmp/sysupgrade.tgz
+ rm -f /tmp/sysupgrade.tgz
+ sync
+ }
+}
+
+boot_hook_add preinit_main restore_config
+
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+do_mount_no_mtd() {
+ check_skip || {
+ mount_no_mtd
+ }
+}
+
+boot_hook_add preinit_mount_root do_mount_no_mtd
+
--- /dev/null
+#!/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
+
--- /dev/null
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+# Initialize hook variables et by pulling in from preinit
+
+preinit_essential_hook=
+preinit_main_hook=
+failsafe_hook=
+initramfs_hook=
+preinit_mount_root=
+
+. /lib/functions.sh
+
+for pi_source_file in /lib/preinit/*; do
+ . $pi_source_file
+done
+
+# Override function that doesn't apply to use of mount_root as a command rather
+# than as part of preinit
+
+preinit_echo() {
+ echo "$@"
+}
+
+boot_run_hook preinit_mount_root
boot() {
[ -d /tmp/root ] && {
lock /tmp/.switch2jffs
- firstboot switch2jffs
+ switch2jffs
lock -u /tmp/.switch2jffs
}
elif [ "$SEEN" -gt 5 ]
then
echo "FACTORY RESET" > /dev/console
- firstboot && reboot &
+ jffs2reset -y && reboot &
fi
+++ /dev/null
-#!/bin/sh
-
-check_skip() {
- if [ "$firstboot_skip_next" = "true" ]; then
- return 0
- else
- return 1
- fi
-}
-
+++ /dev/null
-#!/bin/sh
-
-set_mtd_part() {
- partname="rootfs_data"
- mtdpart="$(find_mtd_part $partname)"
-}
-
-set_rom_part() {
- rom=$(awk '/squashfs/ {print $2}' /proc/mounts)
-}
-
-set_jffs_part() {
- jffs=$(awk '/jffs2/ {print $2}' /proc/mounts)
-}
-
-determine_mtd_part() {
- set_mtd_part
- if [ -z "$mtdpart" ]; then
- echo "MTD partition not found."
- exit 1
- fi
-}
-
-determine_rom_part() {
- check_skip || {
- set_rom_part
- if [ -z "$rom" ]; then
- echo "You do not have a squashfs partition; aborting"
- echo "(firstboot cannot be run on jffs2 based firmwares)"
- exit 1
- fi
- }
-}
-
-determine_jffs2_part() {
- check_skip || {
- set_jffs_part
- }
-}
-
-boot_hook_add switch2jffs determine_mtd_part
-boot_hook_add jffs2reset determine_mtd_part
-boot_hook_add switch2jffs determine_rom_part
-boot_hook_add jffs2reset determine_rom_part
-boot_hook_add switch2jffs determine_jffs2_part
-boot_hook_add jffs2reset determine_jffs2_part
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-no_fo_clear_overlay() {
- # switch back to squashfs temporarily
- pivot /rom /mnt
-
- # get rid of the old overlay
- umount -l /mnt
-
- # another umount to get rid of the bind from /tmp/root
- umount -l /mnt
-}
-
-boot_hook_add no_fo no_fo_clear_overlay
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-reset_check_for_overlay() {
- if grep -qE '(mini_fo|overlay)' /proc/filesystems; then
- reset_has_fo=true
- fi
-}
-
-boot_hook_add jffs2reset reset_check_for_overlay
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-check_for_overlay() {
- if ! grep -qE '(mini_fo|overlay)' /proc/filesystems; then
- boot_run_hook no_fo
- exit 1
- fi
-}
-
-boot_hook_add switch2jffs check_for_overlay
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-no_fo_mount_jffs() {
- # initialize jffs2
- mount -o noatime "$mtdpart" /overlay -t jffs2 || exit
-
- # workaround to ensure that union can attach properly
- sync
- ls /overlay >/dev/null
-}
-
-boot_hook_add no_fo no_fo_mount_jffs
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-reset_clear_jffs() {
- [ "$reset_has_fo" = "true" ] && {
- rm -rf $jffs/* 2>&-
- mount -o remount $jffs / 2>&-
- exit 0
- } || reset_has_fo=false
-}
-
-boot_hook_add jffs2reset reset_clear_jffs
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-skip_if_rootfs_mounted() {
- mount -o noatime -t jffs2 "$mtdpart" /rom/overlay || exit
-}
-
-boot_hook_add switch2jffs skip_if_rootfs_mounted
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-no_fo_pivot() {
- # switch to the new (empty) jffs2
- fopivot /overlay /rom 1
-}
-
-boot_hook_add no_fo no_fo_pivot
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-reset_copy_rom() {
- [ "$reset_has_fo" != "true" ] && {
- dupe $jffs $rom
- exit 0
- }
-}
-
-boot_hook_add jffs2reset reset_copy_rom
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-copy_ramoverlay() {
- # try to avoid fs changing while copying
- mount -o remount,ro none / 2>&-
- # copy ramoverlay to jffs2
- echo -n "copying files ... "
- cp -a /tmp/root/* /rom/overlay 2>&-
- echo "done"
-}
-
-boot_hook_add switch2jffs copy_ramoverlay
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-no_fo_copy_ramoverlay() {
- # copy ramoverlay to jffs2, must be done after switching
- # to the new rootfs to avoid creating opaque directories
- echo -n "copying files ... "
- cp -a /tmp/root/* / >/dev/null 2>&1
- sync
-}
-
-boot_hook_add no_fo no_fo_ramoverlay
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-with_fo_pivot() {
- # switch back to squashfs (temporarily)
- # and park the ramdisk ontop of /tmp/root
- pivot /rom /mnt
- mount -o move /mnt /tmp/root
-
- # /overlay is the overlay
- # /rom is the readonly
- fopivot /overlay /rom
-}
-
-boot_hook_add switch2jffs with_fo_pivot
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-no_fo_cleanup() {
- echo "done"
- umount -l /overlay
- umount -l /tmp/root
- exit 0
-}
-
-boot_hook_add no_fo no_fo_cleanup
+++ /dev/null
-#!/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
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-check_skip() {
- if [ "$pi_mount_skip_next" = "true" ]; then
- return 0
- else
- return 1
- fi
-}
-
+++ /dev/null
-#!/bin/sh
-
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-mount_no_mtd() {
- mtd unlock rootfs
- mount -o noatime,remount,rw /dev/root /
-}
-
-check_for_mtd() {
- check_skip || {
- grep -qs rootfs_data /proc/mtd || {
- mount_no_mtd && pi_mount_skip_next=true
- }
- }
-}
-
-boot_hook_add preinit_mount_root check_for_mtd
-
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-mount_no_jffs2() {
- echo "jffs2 not ready yet; using ramdisk"
- ramoverlay
-}
-
-check_for_jffs2() {
- check_skip || {
- jffs2_ready || {
- mount_no_jffs2 && pi_mount_skip_next=true
- }
- }
-}
-
-boot_hook_add preinit_mount_root check_for_jffs2
-
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-find_mount_jffs2() {
- mkdir -p /tmp/overlay
- mount -o noatime -t jffs2 "$(find_mtd_part rootfs_data)" /tmp/overlay
- mtd -qq unlock rootfs_data
-}
-
-jffs2_not_mounted() {
- if [ "$pi_jffs2_mount_success" != "true" ]; then
- return 0
- else
- return 1
- fi
-}
-
-do_mount_jffs2() {
- check_skip || {
- find_mount_jffs2 && pi_jffs2_mount_success=true
- }
-}
-
-boot_hook_add preinit_mount_root do_mount_jffs2
-
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2010 OpenWrt.org
-
-merge_overlay_hooks() {
- jffs2_not_mounted || [ ! -d /tmp/overlay/lib/preinit ] || {
- echo "- merge overlay components -"
-
- mkdir -p /tmp/preinit-hook-merge
- ln -sf /lib/preinit/* /tmp/overlay/lib/preinit/[0-9][0-9]_* /tmp/preinit-hook-merge/
-
- boot_hook_splice_start
-
- local pipart
- for pipart in /tmp/preinit-hook-merge/*; do
- . $pipart
- done
-
- boot_hook_splice_finish
-
- rm -rf /tmp/preinit-hook-merge
- }
-}
-
-boot_hook_add preinit_mount_root merge_overlay_hooks
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-rootfs_pivot() {
- check_skip || jffs2_not_mounted || {
- echo "switching to jffs2"
- mount -o noatime,move /tmp/overlay /overlay 2>&-
- fopivot /overlay /rom && pi_mount_skip_next=true
- }
-}
-
-boot_hook_add preinit_mount_root rootfs_pivot
-
# 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
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-do_mount_no_jffs2() {
- check_skip || {
- mount_no_jffs2 && pi_mount_skip_next=true
- }
-}
-
-boot_hook_add preinit_mount_root do_mount_no_jffs2
-
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-restore_config() {
- [ -f /sysupgrade.tgz ] && {
- echo "- config restore -"
- cd /
- mv sysupgrade.tgz /tmp
- tar xzf /tmp/sysupgrade.tgz
- rm -f /tmp/sysupgrade.tgz
- sync
- }
-}
-
-boot_hook_add preinit_main restore_config
-
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-do_mount_no_mtd() {
- check_skip || {
- mount_no_mtd
- }
-}
-
-boot_hook_add preinit_mount_root do_mount_no_mtd
-
#!/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
+++ /dev/null
-#!/bin/sh
-# Copyright (C) 2006-2010 OpenWrt.org
-# Copyright (C) 2010 Vertical Communications
-
-# Initialize hook variables et by pulling in from preinit
-
-preinit_essential_hook=
-preinit_main_hook=
-failsafe_hook=
-initramfs_hook=
-preinit_mount_root=
-
-. /lib/functions.sh
-
-for pi_source_file in /lib/preinit/*; do
- . $pi_source_file
-done
-
-# Override function that doesn't apply to use of mount_root as a command rather
-# than as part of preinit
-
-preinit_echo() {
- echo "$@"
-}
-
-boot_run_hook preinit_mount_root
run_hooks "" $sysupgrade_pre_upgrade
+ubus call system upgrade
+
kill_remaining TERM
sleep 3
kill_remaining KILL