mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
91 lines
2.9 KiB
Text
91 lines
2.9 KiB
Text
run_hook ()
|
|
{
|
|
# fix reiserfs symlinks
|
|
ln -s /sbin/debugfs.reiserfs /sbin/debugreiserfs
|
|
ln -s /sbin/mkfs.reiserfs /sbin/mkreiserfs
|
|
ln -s /sbin/reiserfsck /sbin/fsck.reiserfs
|
|
ln -s /sbin/resizefs.reiserfs /sbin/resize_reiserfs
|
|
ln -s /sbin/tunefs.reiserfs /sbin/reiserfstune
|
|
|
|
# fix ext2/ext3 symlinks
|
|
ln -s /sbin/e2fsck /sbin/fsck.ext2
|
|
ln -s /sbin/e2fsck /sbin/fsck.ext3
|
|
ln -s /sbin/findfs /sbin/e2label
|
|
ln -s /sbin/findfs /sbin/tune2fs
|
|
ln -s /sbin/mkfs.ext2 /sbin/mkfs.ext3
|
|
ln -s /sbin/mkfs.ext2 /sbin/mke2fs
|
|
|
|
# fix jfs symlinks
|
|
ln -s /sbin/jfs_fsck /sbin/fsck.jfs
|
|
ln -s /sbin/jfs_mkfs /sbin/mkfs.jfs
|
|
|
|
# fix vfat symlink
|
|
ln -s /sbin/mkdosfs /sbin/mkfs.vfat
|
|
ln -s /sbin/mkdosfs /sbin/mkfs.msdos
|
|
ln -s /sbin/dosfsck /sbin/fsck.msdos
|
|
ln -s /sbin/dosfsck /sbin/fsck.vfat
|
|
# fix ntfs symlinks
|
|
ln -s /usr/sbin/mkntfs /sbin/mkfs.ntfs
|
|
ln -s /usr/bin/ntfsmount /sbin/mount.ntfs-fuse
|
|
ln -s /usr/bin/ntfsmount /sbin/mount.fuse.ntfs
|
|
|
|
# fix ntfs-3g symlink
|
|
ln -s /bin/ntfs-3g /sbin/mount.ntfs-3g
|
|
|
|
# fix nfs
|
|
ln -s /sbin/mount.nfs /sbin/mount.nfs4
|
|
ln -s /sbin/mount.nfs /sbin/umount.nfs
|
|
ln -s /sbin/mount.nfs /sbin/umount.nfs4
|
|
|
|
# fix cifs
|
|
ln -s /sbin/mount.cifs /sbin/mount.smbfs
|
|
ln -s /sbin/umount.cifs /sbin/umount.smbfs
|
|
|
|
|
|
#needed for switching
|
|
if ! [ "${root}" = "" ]; then
|
|
msg -n ":: Loading root filesystem module..."
|
|
if [ "x${rootfstype}" != "x" ]; then
|
|
FSTYPE="${rootfstype}"
|
|
else
|
|
if [ ! -e "${root}" ]; then
|
|
msg -e "\nAttempting to create root device '${root}'"
|
|
|
|
if [ "x${rootdelay}" != "x" ]; then
|
|
msg -n "Waiting for devices to settle..."
|
|
/bin/sleep "${rootdelay}"
|
|
msg "done."
|
|
export rootdelay=0
|
|
kinit_params="${kinit_params} rootdelay=0"
|
|
fi
|
|
|
|
eval $(/bin/parseblock "${root}")
|
|
if [ "${BLOCKNAME}" = "unknown" ]; then
|
|
FSTYPE="unknown"
|
|
echo "ERROR: Failed to parse block device name for '${root}'"
|
|
elif [ "x${BLOCKDEVICE}" = "x" ]; then
|
|
FSTYPE="unknown"
|
|
echo "ERROR: Failed to parse block device ids for '${root}'"
|
|
else
|
|
export root="${BLOCKNAME}"
|
|
echo "/bin/mknod \"${BLOCKNAME}\" b ${BLOCKDEVICE}"
|
|
/bin/mknod "${BLOCKNAME}" b ${BLOCKDEVICE} >/dev/null
|
|
fi
|
|
fi
|
|
|
|
if [ -e "${root}" ]; then
|
|
eval $( /bin/fstype < "${root}" )
|
|
else
|
|
FSTYPE="unknown"
|
|
fi
|
|
|
|
fi
|
|
msg " ${FSTYPE}"
|
|
if [ "${FSTYPE}" = "unknown" ]; then
|
|
echo "ERROR: root fs cannot be detected. Try using the rootfstype= kernel parameter."
|
|
else
|
|
kinit_params="${kinit_params} rootfstype=${FSTYPE}"
|
|
/sbin/modprobe -q "${FSTYPE}" >/dev/null 2>&1
|
|
fi
|
|
fi
|
|
}
|