Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- /bin/busybox --install -s
- [ -d /dev ] || mkdir -m 0755 /dev
- [ -d /root ] || mkdir -m 0700 /root
- [ -d /sys ] || mkdir /sys
- [ -d /proc ] || mkdir /proc
- [ -d /tmp ] || mkdir /tmp
- [ -d /mnt ] || mkdir /mnt
- mkdir -p /var/lock
- mount -t sysfs -o nodev,noexec,nosuid sysfs /sys
- mount -t proc -o nodev,noexec,nosuid proc /proc
- tmpfs_size="10M"
- if ! mount -t devtmpfs -o size=$tmpfs_size,mode=0755 udev /dev; then
- echo "W: devtmpfs not available, falling back to tmpfs for /dev"
- mount -t tmpfs -o size=$tmpfs_size,mode=0755 udev /dev
- [ -e /dev/console ] || mknod -m 0600 /dev/console c 5 1
- [ -e /dev/null ] || mknod /dev/null c 1 3
- fi
- mkdir /dev/pts
- mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true
- mount -t tmpfs -o "nosuid,size=20%,mode=0755" tmpfs /run
- export ROOT=
- export ROOTDELAY=
- export ROOTFLAGS=
- export ROOTFSTYPE=
- export IP=
- export BOOT=
- export BOOTIF=
- export UBIMTD=
- export break=
- #export init=/sbin/init
- export quiet=n
- export readonly=y
- #export rootmnt=/root
- export debug=
- export panic=
- export blacklist=
- export resume=
- export resume_offset=
- # Parse command line options
- for x in $(cat /proc/cmdline); do
- case $x in
- init=*)
- init=${x#init=}
- ;;
- root=*)
- ROOT=${x#root=}
- case $ROOT in
- LABEL=*)
- ROOT="${ROOT#LABEL=}"
- # support any / in LABEL= path (escape to \x2f)
- case "${ROOT}" in
- */*)
- if command -v sed >/dev/null 2>&1; then
- ROOT="$(echo ${ROOT} | sed 's,/,\\x2f,g')"
- else
- if [ "${ROOT}" != "${ROOT#/}" ]; then
- ROOT="\x2f${ROOT#/}"
- fi
- if [ "${ROOT}" != "${ROOT%/}" ]; then
- ROOT="${ROOT%/}\x2f"
- fi
- IFS='/'
- newroot=
- for s in $ROOT; do
- newroot="${newroot:+${newroot}\\x2f}${s}"
- done
- unset IFS
- ROOT="${newroot}"
- fi
- esac
- ROOT="/dev/disk/by-label/${ROOT}"
- ;;
- UUID=*)
- ROOT="/dev/disk/by-uuid/${ROOT#UUID=}"
- ;;
- /dev/nfs)
- [ -z "${BOOT}" ] && BOOT=nfs
- ;;
- esac
- ;;
- rootflags=*)
- ROOTFLAGS="-o ${x#rootflags=}"
- ;;
- rootfstype=*)
- ROOTFSTYPE="${x#rootfstype=}"
- ;;
- rootdelay=*)
- ROOTDELAY="${x#rootdelay=}"
- case ${ROOTDELAY} in
- *[![:digit:].]*)
- ROOTDELAY=
- ;;
- esac
- ;;
- nfsroot=*)
- NFSROOT="${x#nfsroot=}"
- ;;
- ip=*)
- IP="${x#ip=}"
- ;;
- boot=*)
- BOOT=${x#boot=}
- ;;
- ubi.mtd=*)
- UBIMTD=${x#ubi.mtd=}
- ;;
- resume=*)
- RESUME="${x#resume=}"
- case $RESUME in
- UUID=*)
- RESUME="/dev/disk/by-uuid/${RESUME#UUID=}"
- esac
- ;;
- resume_offset=*)
- resume_offset="${x#resume_offset=}"
- ;;
- noresume)
- noresume=y
- ;;
- panic=*)
- panic="${x#panic=}"
- case ${panic} in
- *[![:digit:].]*)
- panic=
- ;;
- esac
- ;;
- quiet)
- quiet=y
- ;;
- ro)
- readonly=y
- ;;
- rw)
- readonly=n
- ;;
- debug)
- debug=y
- quiet=n
- exec >/run/initramfs/initramfs.debug 2>&1
- set -x
- ;;
- debug=*)
- debug=y
- quiet=n
- set -x
- ;;
- break=*)
- break=${x#break=}
- ;;
- break)
- break=premount
- ;;
- blacklist=*)
- blacklist=${x#blacklist=}
- ;;
- netconsole=*)
- netconsole=${x#netconsole=}
- ;;
- BOOTIF=*)
- BOOTIF=${x#BOOTIF=}
- ;;
- esac
- done
- echo "=========boot arguments========="
- for i in $(cat /proc/cmdline) ; do
- echo $i
- done
- echo "================================"
- echo "root = $ROOT"
- sleep 10
- exec /sbin/init -i </dev/console >/dev/console 2>&1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement