Как создать EXT4 раздел с U-Boot?

У меня имеется SD карта с U-Boot. Записывал так:

 ~ # dd if=uboot-with-spl.bin of=/dev/sdd bs=1024 seek=8

Я хочу прямо рядом с U-boot создать ext4 раздел, чтобы из него загружать zImage через bootz. (да, я пошёл по сложному пути, а именно - что-то вроде LFS, только для ARM плат). Сам zImage есть, UART могу себе обеспечить, создать ramdisk с нуля мне труда никакого не составит, даже init свой напишу. Вопрос: как мне из Linux и чем создать раздел на карте, чтобы в дальнейшем именно туда поместить, ядро, ramdisk, а в дальнейшем остальную систему?

UPD: пробовал метод отсюда, U-Boot не загружался: https://linux-sunxi.org/Bootable_SD_card

UPD2:

0andriy, вы говорите про offset для ext4. Ничего подобного там и близко нету:

lфото1

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Zt.
B=1
K=$[1024*B]
M=$[1024*K]

MicroSD=/dev/sdd
MNT=/mnt
UBOOT=uboot-with-spl.bin # путь к
SECTOR_SIZE=$[512*B]
START_BOOT_RECORD=$[8*K]
PARTITION_START=$[1*M]

dd if=/dev/zero of=$MicroSD bs=$[PARTITION_START] count=1 conv=fsync oflag=direct status=progress
echo -e "label:dos\nstart=$[PARTITION_START/SECTOR_SIZE]" | sfdisk $MicroSD
dd if="$UBOOT" of=$MicroSD bs=$[START_BOOT_RECORD] seek=1 conv=fsync oflag=direct status=progress

yes | mkfs.ext4 -O '^metadata_csum,^64bit' -m1 ${MicroSD}1
mount           ${MicroSD}1 "$MNT"
...
umount          "$MNT"

кода-то развлекался с одноплатоником чем-то подобным, это часть изысканий по подготовке диска под дальнейшую установку, возможно подойдёт под вашу задачу

→ Ссылка