summaryrefslogtreecommitdiffstats
path: root/meta-tegra-extras/recipes/initscripts/tegra210-minimal-init/init-boot.sh
diff options
context:
space:
mode:
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.sh44
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
2PATH=/sbin:/bin:/usr/sbin:/usr/bin
3mount -t proc proc /proc
4mount -t devtmpfs none /dev
5mount -t sysfs sysfs /sys
6
7rootdev=""
8opt="rw"
9wait=""
10nfsroot=""
11nfsopts=""
12for 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
23done
24if [ -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
32fi
33echo "Mounting ${rootdev}..."
34if [ "$rootdev" = "/dev/nfs" ]; then
35 echo "Using NFS to boot..."
36 mount -t nfs -o "${opt},${nfsopts}" "${nfsroot}" /mnt || exec sh
37else
38 mount -t ext4 -o "$opt" "${rootdev}" /mnt || exec sh
39fi
40echo "Switching to rootfs on ${rootdev}..."
41mount --move /sys /mnt/sys
42mount --move /proc /mnt/proc
43mount --move /dev /mnt/dev
44exec switch_root /mnt /sbin/init