Der Versuch einer Automatisierung fdisk
ist möglich, aber nicht einfach zu warten. Wie andere Antworten vermerken, sind entweder parted oder sfdisk so konzipiert, dass sie das tun, was Sie wollen, und einfacher zu automatisieren.
getrennt
So erstellen Sie eine Partition in einer Zeile mit parted
:
parted -a optimal /dev/usb mkpart primary 0% 4096MB
wie in diesem UNIX SE-Beitrag zu sehen . Jeder der Teile ist ziemlich selbsterklärend, aber nur für den Fall, hier ist wie mkpart
definiert:
mkpart
[ Teiltyp fs-Typ Name ] Start Ende
wo die Dinge in eckigen Klammern sind optional, aber Sie wollen wahrscheinlich primary
für Ihren Teil-Typen , beginnen an 0%
und enden an 4096MB
oder aber große USB - Stick ist.
sfdisk
Die Eingabe in sfdisk
ist wohl nicht viel einfacher zu verstehen als die Eingabe in, fdisk
aber sie ist für die Automatisierung gedacht .
#!/bin/sh
# Example Usage: create_sd /dev/sdb
DRIVE=$1
dd if=/dev/zero of=$DRIVE bs=1024 count=1024
SIZE=`fdisk -l $DRIVE | grep Disk | awk '{print $5}'`
echo DISK SIZE - $SIZE bytes
CYLINDERS=`echo $SIZE/255/63/512 | bc`
echo CYLINDERS - $CYLINDERS
{
echo ,9,0x0C,*
echo ,,,-
} | sfdisk -D -H 255 -S 63 -C $CYLINDERS $DRIVE
mkfs.vfat -F 32 -n "boot" ${DRIVE}1
mke2fs -j -L "rootfs" ${DRIVE}2
kommt von The Linux Daily und obwohl es nicht der einzeiligen Anfrage entspricht, zeigt es, wie es gemacht werden könnte.