Hice un script bash que funcionaba en Ubuntu, pero ahora no funciona en Manjaro. Falla en este método:
#!/bin/bash
dev_block="/dev/sdb"
createPartitions(){
echo "Creating Partitions on "$dev_block"..."
sfdisk $dev_block -uS <<-EOF
start=63, size=409600, type=c, bootable
start=411648, type=af
EOF
}
createPartitions
Obtengo este resultado...
Creating Partitions on /dev/sdb...
Checking that no-one is using this disk right now ... OK
Disk /dev/sdb: 28.84 GiB, 30966546432 bytes, 60481536 sectors
Disk model: USB FLASH DRIVE
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: EB88C926-F304-6D45-82C8-0BAC5E73A2CB
Old situation:
Device Start End Sectors Size Type
/dev/sdb1 2048 411585 409538 200M EFI System
/dev/sdb2 413633 60481502 60067870 28.6G Apple HFS/HFS+
>>> Created a new GPT disklabel (GUID: 0EBA642D-3CB5-8841-A150-D18AC387D65F).
/dev/sdb1: Failed to add #1 partition: Invalid argument
Leaving.
También intenté mover el EOF hacia atrás para que no haya ninguna pestaña delante.
createPartitions(){
echo "Creating Partitions on "$dev_block"..."
sfdisk $dev_block -uS <<-EOF
start=63, size=409600, type=c, bootable
start=411648, type=af
EOF
}
Revisé y no hay ninguna pestaña ni espacio en blanco DESPUÉS del cierre del EOF. Pero también en Ubuntu no tuve que mover hacia atrás el EOF de cierre.
¿Cómo depuro esto? ¿Quizás sfdisk se comporta de manera diferente en Arch?
Salud.
Respuesta1
Encontré la respuesta... mientras estaba probando el código en Manjaro, había comentado este método necesario que elimina las particiones y los sistemas de archivos en la unidad antes de cada ejecución del comando sfdisk:
wipeFilesystems(){
echo "Wiping filesystems on "$dev_block"..."
sfdisk --delete $dev_block
wipefs --all $dev_block
}