Seite 1 von 1

popen4 und fdisk

Verfasst: Samstag 30. Juli 2005, 00:29
von mitsuhiko
Ich habe mir jetzt etwas vorgenommen. Ich habe mir hierein Shellscript gebastelt, dass eine Umpartitionierung am iPod durchführt.
Herzstück ist das hier:

Code: Alles auswählen

#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 ""
Nur würde ich jetzt gerne diese ganzen Skripte in einer gtk Anwendung zusammenfassen.
Da ich das jetzt in python lösen möchte stehe ich aber vor einem Problem.
Ich habe keine Ahnung, wie ich fdisk von einem Python programm aus steuern kann.
Alle meine Bemühungen mit popen4 sind kläglich gescheitert, weil ich nur lesen konnte, und dem ding keine Daten übermitteln.
Hat da jemand eine Idee?

Verfasst: Samstag 30. Juli 2005, 21:41
von BlackJack
Vorweg: In aktuellen Python Versionen gibt's das Modul `subprocess`, das die Funktionen von den ganzen `popen()`s einheitlicher und plattformunabhängiger bereitstellen soll.

Was hast Du denn probiert? Hast Du den Abschnitt 6.9.2 Flow Control Issues in der Doku gelesen?

Verfasst: Sonntag 31. Juli 2005, 12:30
von Leonidas
Es gibt ja auch noch PExpect was ja genau für solche Aufgaben gedacht ist.