run_hook () { # fix depmod link ln -s /sbin/depmod /bin/depmod ARCH_ADDON="optical storage floppy disk" echo " Waiting for usb/fw devices to come ready ..." sleep 5 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 -A /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 if [ "$RETRIGGER_UDEV" = "1" ]; then echo "Retrigger udev uevents ..." /etc/start_udev uevents fi }