fdisk automatisiert
fdisk automatisiert
Hallo,
ich versuche fdisk in einem script automatisiert ablaufen zu lassen, es soll eine fat16 partition mit 1024MB erstellen,
auf der dann (leider) WinCE laufen soll.
Die Zielplattformen (200 Stück) sind mit 2GB jungfräulichen FlashDrives bestückt.
Alle Versuche durch das here document fdisk laufen zu lasssen sind gescheitert. Händisches Ausführen von fdiskt läuft problemlos.
Das Partitionieren läuft über ein Debian squeeze von einer CF-Card in einem USB-Adapter ab.
#! /bin/sh
fdisk /dev/sda <<ende
n
p
<enter>
+1024MB
t
6
a
1
w
ende
Mit parted geht es nicht, da mit parted vor der ersten Partition ein freier Block entsteht, den WinCE zu Booten nicht akzeptiert.
Kann jemand sagen, warum fdisk nicht im Script zuende läuft?
Fdisk bleibt hängen und kann nur durch Beenden des Prozessen bended werden.
ich versuche fdisk in einem script automatisiert ablaufen zu lassen, es soll eine fat16 partition mit 1024MB erstellen,
auf der dann (leider) WinCE laufen soll.
Die Zielplattformen (200 Stück) sind mit 2GB jungfräulichen FlashDrives bestückt.
Alle Versuche durch das here document fdisk laufen zu lasssen sind gescheitert. Händisches Ausführen von fdiskt läuft problemlos.
Das Partitionieren läuft über ein Debian squeeze von einer CF-Card in einem USB-Adapter ab.
#! /bin/sh
fdisk /dev/sda <<ende
n
p
<enter>
+1024MB
t
6
a
1
w
ende
Mit parted geht es nicht, da mit parted vor der ersten Partition ein freier Block entsteht, den WinCE zu Booten nicht akzeptiert.
Kann jemand sagen, warum fdisk nicht im Script zuende läuft?
Fdisk bleibt hängen und kann nur durch Beenden des Prozessen bended werden.
Re: fdisk automatisiert
EDIT: Wer lesen kann ist klar im Vorteil... rendegast hat die bessere Lösung...
Hi.
in diesem Thread: http://debianforum.de/forum/search.php? ... r_id=30739
ging es um automatisierte Passworteingaben.
Ich hab das mit /usr/bin/expect versucht.
Mein Testscript sieht so aus:
Wenn ich das dann aufrufe kommt das hier dabei raus.
Vielleicht hilft dir das...
Hi.
in diesem Thread: http://debianforum.de/forum/search.php? ... r_id=30739
ging es um automatisierte Passworteingaben.
Ich hab das mit /usr/bin/expect versucht.
Mein Testscript sieht so aus:
Code: Alles auswählen
#!/usr/bin/expect
spawn fdisk /dev/sda
match_max 10000
expect "?ommand*"
send -- "p\r"
expect "?ommand*"
send -- "q\r"
expect eof
Code: Alles auswählen
ox-replace:~# ./ex.sh
spawn fdisk /dev/sda
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000c6d63
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2496 20049088+ 83 Linux
/dev/sda2 2497 2610 915705 5 Extended
/dev/sda5 2497 2610 915673+ 82 Linux swap / Solaris
Command (m for help): q
Zuletzt geändert von gbotti am 12.11.2010 13:24:25, insgesamt 1-mal geändert.
Georg
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
RTFM, LMGTFY, Orakel... Ach... Warum muss man suchen...
Schrödingers Backup --- "Der Zustand eines Backups ist unbekannt, solange man es nicht wiederherstellt" --- Quelle: Nixcraft
Re: fdisk automatisiert
Eventuell mußt Du den jungfräulichen Platten erst eine Partitionstabelle verpassen:
Code: Alles auswählen
fdisk /dev/sda <<ende
o
n
p
...
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: fdisk automatisiert
Hallo
sorry, ich vergas zu schreiben, dass ich die Variante mit dem Erstellen einer DOS-Tabelle auch schon getestet hatte.
fdisk /dev/sda <<ende
o
n
p
...
Ohne Erfolg.
Wie schon geschildert, das Problem ist nicht fdisk selbst, da ja die händische Erstellung einer Partition funktioniert, sondern das Abarbeiten der simulierten Taseneingabe mit dem here document.
Ich werde mir mal den Vorschlag von gbotti anschauen.
sorry, ich vergas zu schreiben, dass ich die Variante mit dem Erstellen einer DOS-Tabelle auch schon getestet hatte.
fdisk /dev/sda <<ende
o
n
p
...
Ohne Erfolg.
Wie schon geschildert, das Problem ist nicht fdisk selbst, da ja die händische Erstellung einer Partition funktioniert, sondern das Abarbeiten der simulierten Taseneingabe mit dem here document.
Ich werde mir mal den Vorschlag von gbotti anschauen.
Re: fdisk automatisiert
Da fehlt die Angabe der Partitionsnummer:Code: Alles auswählen
fdisk /dev/sda <<ende n p <enter> +1024MB ...
Code: Alles auswählen
fdisk /dev/sda <<ende
n
p
1
<enter>
+1024MB
...
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: fdisk automatisiert
Nebenbei: viel einfacher als mit dem traditionellen "fdisk" würde das Ganze mit "sfdisk" klappen, denn da ist von vornherein vorgesehen, die Spezifikation für anzulegende Partitionen aus einer Datei zu lesen ...hoppla hat geschrieben: ich versuche fdisk in einem script automatisiert ablaufen zu lassen, es soll eine fat16 partition mit 1024MB erstellen,
Re: fdisk automatisiert
wir nutzen eine Mischung von sfdisk und fdisk, um sowas zu machen - hier ein Scriptausschnitt:
Code: Alles auswählen
82 # Partitionierung übertragen
83 sfdisk -d /dev/${SRCDSK} | sfdisk --force /dev/${DSTDSK}
84
85 # Partitionstypen auf RAID (0xfd) ändern (neue Platte)
86 ! echo "t
87 1
88 fd
89 t
90 2
91 fd
92 w" | fdisk /dev/${DSTDSK}
93 ! partprobe