Der Versuch einer Automatisierung fdiskist 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 mkpartdefiniert:
mkpart[ Teiltyp fs-Typ Name ] Start Ende
wo die Dinge in eckigen Klammern sind optional, aber Sie wollen wahrscheinlich primaryfür Ihren Teil-Typen , beginnen an 0%und enden an 4096MBoder aber große USB - Stick ist.
sfdisk
Die Eingabe in sfdiskist wohl nicht viel einfacher zu verstehen als die Eingabe in, fdiskaber 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.