1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunecho "PREINIT: Start" 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunPATH=/sbin:/bin:/usr/sbin:/usr/bin 6*4882a593Smuzhiyunmount -o remount,rw / 7*4882a593Smuzhiyun 8*4882a593Smuzhiyunmkdir -p /proc 9*4882a593Smuzhiyunmkdir -p /sys 10*4882a593Smuzhiyunmkdir -p /run 11*4882a593Smuzhiyunmkdir -p /var/run 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunmount -t proc proc /proc 14*4882a593Smuzhiyunmount -t sysfs sysfs /sys 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun[ -z "$CONSOLE" ] && CONSOLE="/dev/console" 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunBASE_OVERLAY_ETC_DIR={OVERLAYFS_ETC_MOUNT_POINT}/overlay-etc 19*4882a593SmuzhiyunUPPER_DIR=$BASE_OVERLAY_ETC_DIR/upper 20*4882a593SmuzhiyunWORK_DIR=$BASE_OVERLAY_ETC_DIR/work 21*4882a593SmuzhiyunLOWER_DIR=$BASE_OVERLAY_ETC_DIR/lower 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunmkdir -p {OVERLAYFS_ETC_MOUNT_POINT} 24*4882a593Smuzhiyunif mount -n -t {OVERLAYFS_ETC_FSTYPE} \ 25*4882a593Smuzhiyun -o {OVERLAYFS_ETC_MOUNT_OPTIONS} \ 26*4882a593Smuzhiyun {OVERLAYFS_ETC_DEVICE} {OVERLAYFS_ETC_MOUNT_POINT} 27*4882a593Smuzhiyunthen 28*4882a593Smuzhiyun mkdir -p $UPPER_DIR 29*4882a593Smuzhiyun mkdir -p $WORK_DIR 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun if {OVERLAYFS_ETC_EXPOSE_LOWER}; then 32*4882a593Smuzhiyun mkdir -p $LOWER_DIR 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun # provide read-only access to original /etc content 35*4882a593Smuzhiyun mount -o bind,ro /etc $LOWER_DIR 36*4882a593Smuzhiyun fi 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun mount -n -t overlay \ 39*4882a593Smuzhiyun -o upperdir=$UPPER_DIR \ 40*4882a593Smuzhiyun -o lowerdir=/etc \ 41*4882a593Smuzhiyun -o workdir=$WORK_DIR \ 42*4882a593Smuzhiyun -o index=off,xino=off,redirect_dir=off,metacopy=off \ 43*4882a593Smuzhiyun $UPPER_DIR /etc || \ 44*4882a593Smuzhiyun echo "PREINIT: Mounting etc-overlay failed!" 45*4882a593Smuzhiyunelse 46*4882a593Smuzhiyun echo "PREINIT: Mounting </data> failed!" 47*4882a593Smuzhiyunfi 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunecho "PREINIT: done; starting </sbin/init>" 50*4882a593Smuzhiyunexec {SBIN_INIT_NAME} 51