// Load common modules
mysystem("/sbin/modprobe iso9660"); // CDROM
- mysystem("/sbin/modprobe ext2"); // Boot patition
+// mysystem("/sbin/modprobe ext2"); // Boot patition
mysystem("/sbin/modprobe vfat"); // USB key
/* German is the default */
}
if (fstype == EXT2) {
- mysystem("/sbin/modprobe ext2");
+// mysystem("/sbin/modprobe ext2");
sprintf(mkfscommand, "/sbin/mke2fs -T ext2");
} else if (fstype == REISERFS) {
mysystem("/sbin/modprobe reiserfs");
sprintf(mkfscommand, "/sbin/mkreiserfs -f");
} else if (fstype == EXT3) {
- mysystem("/sbin/modprobe ext3");
+// mysystem("/sbin/modprobe ext3");
sprintf(mkfscommand, "/sbin/mke2fs -T ext3");
} else if (fstype == EXT4) {
- mysystem("/sbin/modprobe ext4");
+// mysystem("/sbin/modprobe ext4");
sprintf(mkfscommand, "/sbin/mke2fs -T ext4");
}
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
echo "Scanning for possible destination drives"
-# scan IDE devices
-echo "--> IDE"
-for DEVICE in $(kudzu -qps -t 30 -c HD -b IDE | grep device: | cut -d ' ' -f 2 | sort | uniq); do
- if [ "$(grep ${DEVICE} /proc/partitions)" = "" ]; then
- umount /harddisk 2> /dev/null
- echo "${DEVICE} is empty - SKIP"
- continue
- fi
- mount /dev/${DEVICE}1 /harddisk 2> /dev/null
- if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
- umount /harddisk 2> /dev/null
- echo "${DEVICE}1 is source drive - SKIP"
- continue
- else
- umount /harddisk 2> /dev/null
- echo -n "$DEVICE" > /tmp/dest_device
- echo "${DEVICE} - yes, it is our destination"
- exit 0 # IDE / use DEVICE for grub
- fi
-done
-
-# scan USB/SCSI devices
-echo "--> USB/SCSI"
-for DEVICE in $(kudzu -qps -t 30 -c HD -b SCSI | grep device: | cut -d ' ' -f 2 | sort | uniq); do
+# scan sd?
+echo "--> sd?"
+for DEVICE in `find /sys/block/* -maxdepth 0 -name sd* -exec basename {} \; | sort | uniq`
+do
if [ "$(grep ${DEVICE} /proc/partitions)" = "" ]; then
umount /harddisk 2> /dev/null
echo "${DEVICE} is empty - SKIP"
umount /harddisk 2> /dev/null
echo -n "$DEVICE" > /tmp/dest_device
echo "${DEVICE} - yes, it is our destination"
- exit 1 # SCSI/USB (always use /dev/sda as bootdevicename)
+ exit 1 # (always use /dev/sda as bootdevicename)
fi
fi
done
-# scan RAID devices
-echo "--> RAID"
-for DEVICE in $(kudzu -qps -t 30 -c HD -b RAID | grep device: | cut -d ' ' -f 2 | sort | uniq); do
- if [ "$(grep ${DEVICE}p1 /proc/partitions)" = "" ]; then
- umount /harddisk 2> /dev/null
- echo "${DEVICE}p1 is empty - SKIP"
- continue
- fi
+# scan other
+echo "--> other"
+for DEVICE in `find /sys/block/* -maxdepth 0 ! -name sd* ! -name sr* ! -name fd* ! -name loop* ! -name ram* -exec basename {} \; | sort | uniq`
+do
mount /dev/${DEVICE}p1 /harddisk 2> /dev/null
if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
umount /harddisk 2> /dev/null
fi
done
-# Virtio devices
-echo "--> Virtio"
-for DEVICE in vda vdb vdc vdd; do
- if [ ! -e /dev/${DEVICE} ]; then
- continue
- else
- if [ "$(grep ${DEVICE} /proc/partitions)" = "" ]; then
- umount /harddisk 2> /dev/null
- echo "${DEVICE} is empty - SKIP"
- continue
- fi
- mount /dev/${DEVICE} /harddisk 2> /dev/null
- if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
- umount /harddisk 2> /dev/null
- echo "${DEVICE} is source drive - SKIP"
- continue
- else
- umount /harddisk 2> /dev/null
- mount /dev/${DEVICE}1 /harddisk 2> /dev/null
- if [ -n "$(ls /harddisk/ipfire-*.tlz 2>/dev/null)" ]; then
- umount /harddisk 2> /dev/null
- echo "${DEVICE}1 is source drive - SKIP"
- continue
- else
- umount /harddisk 2> /dev/null
- echo -n "$DEVICE" > /tmp/dest_device
- echo "${DEVICE} - yes, it is our destination"
- exit 0 # like ide / use device for grub
- fi
- fi
- fi
-done
-
-
exit 10 # Nothing found
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
echo "Scanning source media"
-# scan CDROM devices
-for DEVICE in $(kudzu -qps -t 30 -c CDROM | grep device: | cut -d ' ' -f 2 | sort | uniq); do
+# scan all Block devices
+for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;`
+do
mount /dev/${DEVICE} /cdrom 2> /dev/null
if [ -n "$(ls /cdrom/ipfire-*.tlz 2>/dev/null)" ]; then
echo -n ${DEVICE} > /tmp/source_device
umount /cdrom 2> /dev/null
done
-# scan HD device part1 (usb sticks, etc.)
-for DEVICE in $(kudzu -qps -t 30 -c HD | grep device: | cut -d ' ' -f 2 | sort | uniq); do
- for DEVICEP in $(ls /dev/${DEVICE}? | sed "s/\/dev\///");do
+# scan all Partitions on block devices
+for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;`
+do
+ for DEVICEP in $(ls /dev/${DEVICE}? | sed "s/\/dev\///" 2> /dev/null);do
mount /dev/${DEVICEP} /cdrom 2> /dev/null
if [ -n "$(ls /cdrom/ipfire-*.tlz 2>/dev/null)" ]; then
echo -n ${DEVICEP} > /tmp/source_device
done
done
-# scan HD device unpart (usb sticks, etc.)
-for DEVICE in $(kudzu -qps -t 30 -c HD | grep device: | cut -d ' ' -f 2 | sort | uniq); do
- mount /dev/${DEVICE} /cdrom 2> /dev/null
+# scan all Partitions on raid/mmc devices
+for DEVICE in `find /sys/block/* -maxdepth 0 ! -name fd* ! -name loop* ! -name ram* -exec basename {} \;`
+do
+ for DEVICEP in $(ls /dev/${DEVICE}p? | sed "s/\/dev\///");do
+ mount /dev/${DEVICEP} /cdrom 2> /dev/null
if [ -n "$(ls /cdrom/ipfire-*.tlz 2>/dev/null)" ]; then
- echo -n ${DEVICE} > /tmp/source_device
- echo "Found tarball on ${DEVICE}"
+ echo -n ${DEVICEP} > /tmp/source_device
+ echo "Found tarball on ${DEVICEP}"
exit 0
else
- echo "Found no tarballs on ${DEVICE} - SKIP"
+ echo "Found no tarballs on ${DEVICEP} - SKIP"
fi
umount /cdrom 2> /dev/null
+ done
done
exit 10