ubuntuusers.de

Anhang: convert.sh

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/bin/sh
#  IPod HSF2FAT32 Converter
#   Author  Armin Ronacher <armin.ronacher@active-4.com>
#  Bei Fragen und Problemen:
#       www.ubuntuusers.de/wiki/Benutzer:blackbird
 
#Meldung ausgeben
echo "iPod Converter"
echo "Dieses Skript formatiert einen HFS+ iPod mit FAT32 und spielt die"
echo "Firmware wieder ein."
echo ""
 
#Wenn wir kein root sind, dann müssen wir das erst werden
if [ "$(id -u)" != "0" ]; then
    echo "Der iPod Converter muss mit root Rechten gestartet werden"
    exit
fi
 
#iPod abfragen
echo "Gib nun den Pfad ein, auf dem der iPod angeschlossen wurde."
echo "Das ist in den meisten Fällen sda"
echo -n "Pfad [sda]: "
read -e IPOD_PATH
 
#Default Daten eingeben
if [ ! -n "$IPOD_PATH" ]; then
    IPOD_PATH="sda" 
fi
 
#Haben wir überhaupt einen iPod angeschlossen?
if [ -n "$(dmesg | grep 'iPod')" ]; then
    echo "es wurde ein iPod gefunden:"
    echo -n "   "
    dmesg | grep 'iPod'
else
    echo "FEHLER:"
    echo "   Der iPod wurde nicht richtig angeschlossen."
    echo "   Bitte überprüfe, ob das Kabel fest sitzt."
    exit
fi
 
#ist der iPod unter IPOD_PATH angeschlossen?
if [ -n "$(ls /dev | grep $IPOD_PATH )" ]; then
    echo "Es wurde ein Gerät mit dem Namen $IPOD_PATH gefunden."
else
    echo "FEHLER:"
    echo "   Es wurde kein Gerät mit dem Namen $IPOD_PATH gefunden!"
    exit
fi

#Haben wir es mit einem iPod oder mit der Shuffle Version zu tun?
echo "Bitte gib nun an, ob du einen iPod oder einen iPod shuffle"
echo "angeschlossen hast."
echo ""
echo "    1         iPod"
echo "    2         iPod shuffle"
echo ""
echo -n "Auswahl: "
read -e IPOD_TYPE
if [ "$IPOD_TYPE" == "1" ]; then
    FIRMWARE_SIZE="42M"
elif [ "$IPOD_TYPE" == "2" ]; then
    FIRMWARE_SIZE="2M"
else
    echo "Abbruch"
    exit
fi
 
#Wenn wir immer noch da sind, fangen wir mal and
#die alte Firmware sichern
echo ""
echo "Das Skript sichert nun die Firmware auf dem lokalen Computer"
dd if=/dev/${IPOD_PATH}2 of=firmware.backup
echo "Die Firmware wurde erfolgreich gesichert:"
du -h firmware.backup
 
#Jetzt leeren wir die Partition
#Und erzeugen ein neues Partitionslayout
dd if=/dev/zero of=/dev/$IPOD_PATH bs=1M count=10
 
#Jetzt müssen wir fdisk steuern
#Diese Befehle werden einfach nach der Reihe abgegrast
#Entnommen von
#  http://www.gnu.org/software/gnupod/gnupod.html#SEC6
 
echo "n
p
1
1
+$FIRMWARE_SIZE
n
p
2
 
 
t
1
 
t
2
b
w
q" | fdisk /dev/$IPOD_PATH
 
#Firmware zurückspielen
echo "Die Firmware wird zurückgespielt..."
dd if=firmware.backup of=/dev/${IPOD_PATH}1
echo "Firmware wurde erfolgreich hochgeladen!"
echo ""
 
#Partition formatieren
echo "Der iPod wird nun mit FAT32 formatiert..."
mkdosfs -F 32 /dev/${IPOD_PATH}2
echo "Formatierung abgeschlossen"
 
#Fertig
echo ""
echo "Der iPod wurde erfolgreich auf FAT32 umformatiert" 
Anhang herunterladen

Diese Revision wurde am 28. November 2021 14:54 von ubuntuusers erstellt.