From b0f23d1e562e753cb78a473fdade956a25cc337b Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 20 Nov 2016 17:42:34 +0100 Subject: finalize systemd as alternative init system Most important is the fix in patch-src_journal_journald-server_c, which breaks startup of systemd-journald when code is compiled with -DNDEBUG. A lot of base-files reorganizing to only install required files on sysv systems. --- package/base-files/files/mdev/fs | 67 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100755 package/base-files/files/mdev/fs (limited to 'package/base-files/files/mdev') diff --git a/package/base-files/files/mdev/fs b/package/base-files/files/mdev/fs new file mode 100755 index 000000000..86c4cee2f --- /dev/null +++ b/package/base-files/files/mdev/fs @@ -0,0 +1,67 @@ +#!/bin/sh +# skip root disk here, will be handled in /etc/init.d/fs +rootdisk=$(readlink /dev/root) +if [ "x${rootdisk}" = "x${MDEV}" ];then + exit 0 +fi +uuid=$(blkid /dev/${MDEV} | sed -n '/^.*UUID="\([^"]*\)".*$/s//\1/p') +if [ -z $uuid ];then + fs=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $3 }') + mnt=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $2 }') + disk="${MDEV}" +else + fs=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $3 }') + mnt=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $2 }') + disk="${MDEV} (${uuid})" +fi +if [ -z $fs ];then + logger -t mdev "Disk $disk not registered in /etc/fstab" + exit 0 +fi + +procfs=$fs +if [ $fs = "ntfs-3g" ];then + procfs=fuse +fi + +# check if already mounted via /etc/init.d/fs +adk_check() { + mount | grep "${MDEV}[[:blank:]]" + if [ $? -eq 0 ];then + logger -t mdev "Filesystem on ${MDEV} already mounted" + exit 0 + fi +} + +# filesystem check +adk_fsck() { + [ -x /usr/sbin/fsck.$fs ] && { + logger -t mdev "Checking $fs filesystem on ${MDEV}" + fsck -p ${MDEV} >/dev/null + } +} + +# mount filesystem +adk_mount() { + mkdir -p $mnt >/dev/null 2>&1 + grep $procfs /proc/filesystems >/dev/null 2>&1 + if [ $? -eq 0 ];then + logger -t mdev "Mounting $disk to $mnt" + mount $mnt 2>> /tmp/mount.err + if [ $? -ne 0 ]; then + logger -t mdev "Mounting $disk failed with $?" + fi + else + logger -t mdev "Required filesystem $procfs not available" + fi +} + +case "${ACTION}" in +add) + logger -t mdev "Device ${MDEV} added to the system" + adk_check + adk_fsck + adk_mount + ;; +esac +exit 0 -- cgit v1.2.3