diff options
Diffstat (limited to 'core/openrc/modloop.initd')
-rw-r--r-- | core/openrc/modloop.initd | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/core/openrc/modloop.initd b/core/openrc/modloop.initd deleted file mode 100644 index c32e1f49f5..0000000000 --- a/core/openrc/modloop.initd +++ /dev/null @@ -1,87 +0,0 @@ -#!/sbin/runscript - -# script that will mount image with modules - -depend() { - need dev - before checkfs fsck hwdrivers modules hwclock - keyword novserver -} - -# read kernel options -init_KOPT() { - eval set -- $(cat /proc/cmdline 2>/dev/null) - while [ $# -gt 0 ]; do - case "$1" in - *=*) eval "KOPT_${1%%=*}='${1#*=}'" ;; - *) eval "KOPT_$(echo $1 | sed 's: :_:g')=yes" ;; - esac - shift - done -} - -find_mnt() { - local dev="$1" - local fsfile="$2" - awk "\$ == \"$dev\" {print \$2}\"" "$fsfile" 2>/dev/null -} - -# initialies: alpine_dev, alpine_mnt, alpine_fs, alpine_mounted -find_media() { - init_KOPT - alpine_mounted= - alpine_dev=${KOPT_alpine_dev%%:*} - alpine_fs=${KOPT_alpine_dev#*:} - [ "$alpine_fs" = "$KOPT_alpine_dev" ] && unset alpine_fs - # first we check if alpine_dev is mounted and use this - alpine_mnt=$(find_mnt /dev/$alpine_dev /proc/mounts) - if [ -z "$alpine_mnt" ]; then - # then we check fstab - alpine_mnt=$(find_mnt /dev/$alpine_dev /etc/fstab) - else - alpine_mounted=yes - fi - # finally we fallback to /media/<devicename> - [ -z "$alpine_mnt" ] && alpine_mnt=/media/$alpine_dev -} - -start() { - local modloop mount_opts - find_media - if [ -z "$alpine_dev" ] ; then - ebegin "Skipping mount module loopback (specify with alpine_dev)" - eend 0 - return 0 - fi - - modloop=${KOPT_modloop:-$KOPT_BOOT_IMAGE.cmg} - [ -n "$alpine_fs" ] && mount_opts="-t $alpine_fs" - - ebegin "Mounting loopback device for kernel modules" - if [ -z "$alpine_mounted" ]; then - mount $mount_opts /dev/$alpine_dev $alpine_mnt 2>/dev/null - fi - mkdir -p /.modloop /lib - - mount -o loop,ro -t cramfs $alpine_mnt/$modloop /.modloop &&\ - rm -rf /lib/modules &&\ - ln -sf /.modloop/modules /lib/ - eend $? || return 1 - - # copy firmware if there are any - if [ -d $alpine_mnt/firmware ]; then - ebegin "Copying firmware from $alpine_mnt/firmware" - cp -R -a $alpine_mnt/firmware /lib/ - eend $? - fi -} - -stop() { - find_media - [ -z "$alpine_dev" ] && return 0 - ebegin "Unmounting loopback device for kernel modules" - umount -d /.modloop &&\ - umount $alpine_mnt 2>/dev/null - eend $? -} - |