40 lines
1.1 KiB
Bash
40 lines
1.1 KiB
Bash
#!/bin/sh
|
|
# Make sure filesystems are available.
|
|
set +e # ignore errors from modprobe
|
|
|
|
FILESYSTEMS='ext2 ext3 ext4 xfs jfs msdos vfat ntfs minix hfs hfsplus qnx4 ufs btrfs'
|
|
# fuse is needed to make grub-mount work.
|
|
FILESYSTEMS="$FILESYSTEMS fuse"
|
|
# The Ubuntu kernel udebs put a number of filesystem modules in
|
|
# fs-{core,secondary}-modules. It's fairly cheap to check for these too.
|
|
FILESYSTEMS="$FILESYSTEMS fs-core fs-secondary"
|
|
|
|
if [ ! -e /var/lib/os-prober/modules ]; then
|
|
# Check for anna-install to make it easier to use os-prober outside
|
|
# d-i.
|
|
if type anna-install >/dev/null 2>&1 && [ -d /lib/debian-installer ]; then
|
|
for fs in $FILESYSTEMS; do
|
|
ANNA_QUIET=1 DEBIAN_FRONTEND=none \
|
|
log-output -t os-prober \
|
|
anna-install "$fs-modules" || true
|
|
done
|
|
depmod -a >/dev/null 2>&1 || true
|
|
fi
|
|
|
|
for fs in $FILESYSTEMS; do
|
|
case "$fs" in
|
|
fs-*)
|
|
;;
|
|
*)
|
|
modprobe "$fs" 2>/dev/null | logger -t os-prober
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# We only want to keep this state inside d-i, so this is as good a
|
|
# check as any.
|
|
if type anna-install >/dev/null 2>&1 && [ -d /lib/debian-installer ]; then
|
|
touch /var/lib/os-prober/modules
|
|
fi
|
|
fi
|