#!/bin/sh -i PREREQS="" prereqs() { echo "$PREREQS"; } list_partition_devices() { cat /proc/partitions | grep -v loop | sed -r "s/^[0-9[:space:]]+/\/dev\//" | grep /dev/ } case "$1" in prereqs) prereqs exit 0 ;; esac SEPA="==================================================================" FILECONFIG="" if grep "usbconfig" /proc/cmdline 2>/dev/null; then modprobe sd_mod modprobe ohci_hcd modprobe usb_storage echo "$SEPA" echo "=== Insert USB stick, wait for attached device and press ENTER ===" echo "$SEPA" read tasto #cerca e applica la configurazione list_partition_devices | while read DEVICE; do unset REMOVABLE; DEV="`basename $DEVICE`"; DEV0="`echo $DEV | cut -b 1-3`" if [ "0`cat /sys/block/$DEV0/removable`" -ne 0 ]; then REMOVABLE="_removable" fi # skip this device if not removable if [ "$REMOVABLE" != "_removable" ]; then continue; fi MOUNTDIR="$rootmnt/mnt/$DEV$REMOVABLE" mkdir -p $MOUNTDIR if ! mount -t vfat $DEVICE $MOUNTDIR >/dev/null 2>/dev/null ; then rmdir $MOUNTDIR continue fi FLIST=$(ls $MOUNTDIR/argoconf_*) if echo $FLIST | grep -q argoconf_ ; then echo "$SEPA" echo "== Found config.files in $MOUNTDIR - Please SELECT" echo "$SEPA" i=1 for x in $FLIST do echo "= Config.file $i: $x" i=`expr $i + 1` done echo "$SEPA" read -p "Select conf number: " nconf /dev/console 2>&1 i=1 FILECONFIG="" for x in $FLIST do if [ "$i" = "$nconf" ] ; then FILECONFIG=$x break fi i=`expr $i + 1` done if [ "$FILECONFIG" != "" ]; then tar xvzf $FILECONFIG -C $rootmnt break fi fi done fi # prepara /root/boot/grub per clone mkdir $rootmnt/boot/grub cat <>$rootmnt/boot/grub/menu.lst default 0 splashimage /boot/grub/menu.lst EOF #touch $rootmnt/boot/grub/menu.lst # # cp $rootmnt/live_media/boot/grub/menu.lst $rootmnt/boot/grub/ cp $rootmnt/live_media/boot/grub/splash* $rootmnt/boot/grub/