summaryrefslogtreecommitdiff
path: root/package/base-files/files/sbin/firstboot
blob: 06b64c31332e48bb1025a7fd3dad9a3c139e6376 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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