summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/sbin/mount_root
blob: 607c799682116164beaf09276c8c6a25644cbe8f (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
#!/bin/sh
# Copyright (C) 2006 OpenWrt.org
. /etc/functions.sh

mount none /proc -t proc
size=$(awk '/Mem:/ {l=5242880;print((s=$2/2)<l)?$2-l:s}' /proc/meminfo)

mount none /tmp -t tmpfs -o size=$size,nosuid,nodev,mode=1777
if grep devfs /proc/filesystems >/dev/null; then
	mount none /dev -t devfs
else
	mount -t tmpfs tmpfs /dev -o size=512K
	mknod /dev/console c 5 1
	exec >/dev/console </dev/console 2>&1
fi
mkdir /dev/shm
if grep sysfs /proc/filesystems >/dev/null; then
	mount -t sysfs none /sys
	HOTPLUG=""
	# use a minimal ruleset only for creating device nodes
	/sbin/hotplug2 --no-persistent --coldplug --set-rules-file /etc/hotplug2-init.rules
else
	HOTPLUG="/sbin/hotplug2-dnode"
fi
echo "$HOTPLUG" > /proc/sys/kernel/hotplug

mkdir -p /dev/pts
mount none /dev/pts -t devpts

[ failsafe != "$1" ] && {
	grep rootfs /proc/mtd >/dev/null 2>/dev/null && {
		mtd unlock rootfs
		grep rootfs_data /proc/mtd >/dev/null 2>/dev/null && {
			. /bin/firstboot
			echo "switching to jffs2"
			mount "$(find_mtd_part rootfs_data)" /jffs -t jffs2
			fopivot /jffs /rom
		}
	} || mount -o remount,rw /dev/root /
}