diff options
Diffstat (limited to 'meta-tegra-extras/recipes/initscripts/tegra210-minimal-init/init-boot.sh')
-rw-r--r-- | meta-tegra-extras/recipes/initscripts/tegra210-minimal-init/init-boot.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/meta-tegra-extras/recipes/initscripts/tegra210-minimal-init/init-boot.sh b/meta-tegra-extras/recipes/initscripts/tegra210-minimal-init/init-boot.sh new file mode 100644 index 0000000..3e43b60 --- /dev/null +++ b/meta-tegra-extras/recipes/initscripts/tegra210-minimal-init/init-boot.sh | |||
@@ -0,0 +1,44 @@ | |||
1 | #!/bin/sh | ||
2 | PATH=/sbin:/bin:/usr/sbin:/usr/bin | ||
3 | mount -t proc proc /proc | ||
4 | mount -t devtmpfs none /dev | ||
5 | mount -t sysfs sysfs /sys | ||
6 | |||
7 | rootdev="" | ||
8 | opt="rw" | ||
9 | wait="" | ||
10 | nfsroot="" | ||
11 | nfsopts="" | ||
12 | for bootarg in `cat /proc/cmdline`; do | ||
13 | case "$bootarg" in | ||
14 | root=*) rootdev="${bootarg##root=}" ;; | ||
15 | nfsroot=*) | ||
16 | nfsroot=$(echo ${bootarg##nfsroot=} | cut -d ',' -f 1) | ||
17 | nfsopts=$(echo ${bootarg##nfsroot=} | cut -d ',' -f 2-) | ||
18 | nfsopts=${nfsopts##${nfsroot}} | ||
19 | ;; | ||
20 | ro) opt="ro" ;; | ||
21 | rootwait) wait="yes" ;; | ||
22 | esac | ||
23 | done | ||
24 | if [ -n "$wait" -a ! -b "${rootdev}" ]; then | ||
25 | echo "Waiting for ${rootdev}..." | ||
26 | count=0 | ||
27 | while [ $count -lt 25 ]; do | ||
28 | test -b "${rootdev}" && break | ||
29 | sleep 0.1 | ||
30 | count=`expr $count + 1` | ||
31 | done | ||
32 | fi | ||
33 | echo "Mounting ${rootdev}..." | ||
34 | if [ "$rootdev" = "/dev/nfs" ]; then | ||
35 | echo "Using NFS to boot..." | ||
36 | mount -t nfs -o "${opt},${nfsopts}" "${nfsroot}" /mnt || exec sh | ||
37 | else | ||
38 | mount -t ext4 -o "$opt" "${rootdev}" /mnt || exec sh | ||
39 | fi | ||
40 | echo "Switching to rootfs on ${rootdev}..." | ||
41 | mount --move /sys /mnt/sys | ||
42 | mount --move /proc /mnt/proc | ||
43 | mount --move /dev /mnt/dev | ||
44 | exec switch_root /mnt /sbin/init | ||