#!/bin/bash function parameter { device=$(hwinfo --usb|grep "Device Files"|cut -d " " -f5|cut -d "," -f1) [ -n "$device" ] || device=dummy usbdevice=$(mount|grep "$device"|cut -d" " -f3) devusbdevice=$(mount|grep "$device"|cut -d" " -f1) volume=$(fdisk -l $device|grep MB|cut -d" " -f3) part=$(fdisk -l $device|grep "/dev/"|grep -v ":"|cut -d" " -f1) echo "$device device" echo "$usbdevice usbdevice" echo "$devusbdevice devusbdevice" echo "Maximale größe von $device $volume MB" } parameter if [ "$1" = "-h" ] || [ "$1" = "--help" ] || [ "$1" = "" ] ; then echo "Syntax: is mkusb.sh [-m] [-u] [-c] [-a] " echo " -a : ALLES!!" echo " -m : Formatiert den USB-Stick" echo " -u : Erstellt Dateisystem auf /" echo " -c : Kopiert alles auf den USB-Stick" echo " -g : Installiert und kpoiert Grub auf den USB-Stick" exit fi if [ "$1" = "-m" ] || [ "$1" = "-a" ] ; then if [ "$device" = "dummy" ] ; then echo "kein Stick gefunden" exit 0 else echo "Bereite USB-Stick vor!!" echo "Warnung alle Dateien werden auf $device gelöscht" sleep 2 echo "3" sleep 2 echo "2" sleep 2 echo "1" sleep 2 echo "Geht..Los...!" #Das mit parted hat nicht geklappt danach ließ sich grub nicht installieren!mal cfdisk /dev/sda probieren! #umount $devusbdevice #parted $device mklabel gpt mkpart primary ext2 0 $volume sleep 1 umount $devusbdevice mkfs.ext3 $devusbdevice||echo "Fehler Konnte kein Filesystem erstellen!" sleep 1 mount $devusbdevice $usbdevice||echo "Fehler konnte nicht mounten" sleep 1 echo "Fertig.." fi fi if [ "$1" = "-b" ] || [ "$1" = "-a" ] ; then echo "Erstelle Dateistruktur" stopvdr #Wer es nicht mag kan das ja ändern!Ich habe es drin damit der VDR nicht plötzlich aus geht! rm -Rf /usbboot echo "Lösche.. alte /usbboot" echo "Erstelle /usbboot" mkdir /usbboot echo "Kopiere /boot" cp -af /boot /usbboot echo "Kopiere /bin" cp -af /bin /usbboot echo "Kopiere /data" cp -af /data /usbboot echo "Kopiere /dev" cp -af /dev /usbboot echo "Kopiere /etc" cp -af /etc /usbboot echo "Kopiere /home" cp -af /home /usbboot echo "Kopiere /lib" cp -af /lib /usbboot echo "Kopiere /opt" cp -af /opt /usbboot echo "Kopiere /root" cp -af /root /usbboot echo "Kopiere /sbin" cp -af /sbin /usbboot echo "Kopiere /srv" cp -af /srv /usbboot echo "Kopiere /tftpboot" cp -af /tftpboot /usbboot echo "Kopiere /usr" cp -af /usr /usbboot echo "Kopiere /var" cp -af /var /usbboot echo "Kopiere /mnt" cp -rs /mnt /usbboot echo "Erstelle notwendige Ordner" mkdir /usbboot/proc mkdir /usbboot/ramdisk mkdir /usbboot/media #<-- die Aufnahmen wollen wir ja auch von HD sehen! mkdir /usbboot/devfs mkdir /usbboot/sysfs mkdir /usbboot/sys ln -s /media/video0 /usbboot/video0 ln -s /ramdisk /usbboot/tmp echo "manipuliere die fstab für USBboot" sed -i 's/hda3/sda1/g' /usbboot/etc/fstab echo "/dev/hda3 /mnt/hda3 ext3" >> /usbboot/etc/fstab echo "Bereite das Spätere /boot vor" title=$(grep -m1 title /usbboot/boot/grub/menu.lst) kernel=$(grep -m1 vmlinuz /usbboot/boot/grub/menu.lst) root=$(grep -m1 root /usbboot/boot/grub/menu.lst) titleplus="title USB Debian GNU/Linux, kernel USB-2.6.22.5" kernelplus="kernel /boot/vmlinuz-2.6.22.5-usb root=$devusbdevice ro pci=routeirq vga=788 rootdelay=10" rootplus="root (hd0,0)" sed -i "s#$kernel#$kernelplus#" /usbboot/boot/grub/menu.lst sed -i "s#$title#$titleplus#" /usbboot/boot/grub/menu.lst sed -i "s#$root#$rootplus#" /usbboot/boot/grub/menu.lst echo "(hd0) $device" > /usbboot/boot/grub/device.map cd /usbboot/boot/ wget http://www.easy-vdr.de/~dauser/USB-boot/vmlinuz-2.6.22.5-usb || echo "Fehler konnte den Kernel nicht herunterladen" echo "Fertig!" fi if [ "$1" = "-c" ] || [ "$1" = "-a" ] ; then echo "Kopiere die Dateien auf den Stick" cp -af /usbboot/* $usbdevice || echo "Fehler beim kopieren" fi if [ "$1" = "-g" ] || [ "$1" = "-a" ] ; then cp -af /usbboot/boot $usbdevice umount $devusbdevice mount $devusbdevice $usbdevice grub-install --root-directory=$usbdevice $device fi echo "Fertig..." startvdr