#!/bin/bash
ls /usr/sbin|grep hwinfo >> /dev/null
if [ $? == "0" ] ;then
 device=$(hwinfo --usb|grep "Device File"|cut -d " " -f5|cut -d "," -f1|uniq)
else
device= #/dev/sda  #falls Der stick nicht gefunfen wird bitte das device vom USB-Stick (z.B. /dev/sda oder /dev/sdb) hier eintragen! 
 fi


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)
 ROOT=$(mount|grep "$device"|cut -d" " -f3)
#####
video=$(ls /|grep video)
mtab=$(cat /etc/mtab|grep video|cut -d" " -f2|sed -e 's#/var/lib/video.0#/video#g') #f�r ct wichtig!
clear
echo "####################################"


 echo "device(z.B. /dev/sda)= $device"
 echo "usbdevice(z.B. /media/sda1)= $usbdevice"
 echo "devusbdevice(z.B. /dev/sda1)= $devusbdevice "
 echo "video(z.B. /video0)= $video"
 echo "mtab= $mtab"
 echo "ROOT(/)fuer den USB-Stick= $ROOT"
 echo "Maximale groesse von $device $volume MB"
####Sicherheitabfrage!
if [ ! "$ROOT" ]|| [ ! "$usbdevice" ] || [ ! "$part" ] || [ ! "$devusbdevice" ] || [ ! "$device" ] ; then
echo "Nicht alle parameter vergeben.(kein Stick?) Ich mache nicht weiter."
exit 0
fi
echo "Alle n�tigen Parameter vorhanden"
sleep 5
#########
 



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 kopiert 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


