mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 12:00:37 +02:00
54 lines
2.1 KiB
Text
54 lines
2.1 KiB
Text
run_hook ()
|
|
{
|
|
if grep -qw arch-addons /proc/cmdline; then
|
|
ARCH_ADDON="optical storage floppy disk"
|
|
### exclude kernel ntfs it seems broken!
|
|
echo "Disabling kernel NTFS module for mounting, due to known issues!"
|
|
mv /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko.old
|
|
echo " Waiting 10 seconds for usb/fw devices to come ready ..."
|
|
sleep 10
|
|
for i in $ARCH_ADDON; do
|
|
echo "Checking $i devices for addons ..."
|
|
for k in $(find /dev -maxdepth 1 -group "$i"); do
|
|
if mount $k /addons > /dev/null 2>&1; then
|
|
echo "Looking for new config files on $k, checking /config directory ..."
|
|
if [ -d "/addons/config" ]; then
|
|
echo "Copying new config files to /etc install environment ..."
|
|
cp -r /addons/config/* /etc/
|
|
echo "Finished."
|
|
RETRIGGER_UDEV="1"
|
|
else
|
|
echo "No files found to copy in /config directory on media $i."
|
|
fi
|
|
echo "Looking for new packages to install on $k, checking /packages directory ..."
|
|
if [ -d "/addons/packages" ]; then
|
|
mkdir /tmp/packages/
|
|
echo "Copying new packages to /tmp/packages/ install environment ..."
|
|
cp /addons/packages/*.pkg.tar.gz /tmp/packages/
|
|
echo "Installing new packages to install environment ..."
|
|
pacman -U /tmp/packages/* || echo "Dependency resolution failed!"
|
|
RETRIGGER_UDEV="1"
|
|
else
|
|
echo "No new files found to copy and install in /packages directory on media $k."
|
|
fi
|
|
umount /addons
|
|
sleep 2
|
|
fi
|
|
done
|
|
done
|
|
mv /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko.old /lib/modules/$(uname -r)/kernel/fs/ntfs/ntfs.ko
|
|
if [ "$RETRIGGER_UDEV" = "1" ]; then
|
|
echo "Retrigger udev uevents ..."
|
|
udevadm trigger
|
|
udevadm settle
|
|
fi
|
|
else
|
|
echo "ARCH_ADDONS USAGE:"
|
|
echo "------------------"
|
|
echo "In order to load external addon packages or configs"
|
|
echo "into the install environment, please append arch-addons to boot prompt."
|
|
echo "Place external addon packages in /packages directory."
|
|
echo "Place external configs in /config directory."
|
|
echo "------------------"
|
|
fi
|
|
}
|