Skip to content

Instantly share code, notes, and snippets.

@piratecarrot
Last active February 8, 2022 06:01
Show Gist options
  • Save piratecarrot/5b51fbb979988d79f2b062b8f85b0549 to your computer and use it in GitHub Desktop.
Save piratecarrot/5b51fbb979988d79f2b062b8f85b0549 to your computer and use it in GitHub Desktop.
Flashing STM32MP1 eMMC for Seeed Odyssey board
# Put contents of $BUILDROOT/output/images onto Debian SD in /home/debian
# Run from /home/debian
cat<<__EOF__ | sudo sfdisk -f /dev/mmcblk1
label: gpt
label-id: 8180153F-48CF-4520-BB44-AF0F881C8679
device: /dev/sdc
unit: sectors
first-lba: 34
/dev/mmcblk1p1 : start= 34, size= 412, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=7AB96C94-9AAA-4736-A97F-4950BC078562, name="fsbl1"
/dev/mmcblk1p2 : start= 446, size= 412, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=11545F02-F1E2-460C-95B9-8DA6F7FB5BA5, name="fsbl2"
/dev/mmcblk1p3 : start= 858, size= 2023, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=E853AE95-ED54-41DA-948D-9DC10F506593, name="ssbl"
/dev/mmcblk1p4 : start= 2881, size= 262144, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=2BD7AC10-78D6-4674-AA90-63975DA57570, name="rootfs", attrs="LegacyBIOSBootable"
__EOF__
echo 0 | sudo tee /sys/class/block/mmcblk1boot0/force_ro
echo 0 | sudo tee /sys/class/block/mmcblk1boot1/force_ro
sudo mmc bootbus set single_backward x1 x1 /dev/mmcblk1
sudo dd if=/dev/zero of=/dev/mmcblk1boot0 conv=fdatasync
sudo dd if=tf-a-stm32mp157c-odyssey.stm32 of=/dev/mmcblk1boot0 conv=fdatasync
sudo mmc bootpart enable 1 1 /dev/mmcblk1
sudo dd if=/dev/zero of=/dev/mmcblk1boot1 conv=fdatasync
sudo dd if=tf-a-stm32mp157c-odyssey.stm32 of=/dev/mmcblk1boot1 conv=fdatasync
sudo mmc bootpart enable 2 1 /dev/mmcblk1
sudo dd if=/dev/zero of=/dev/mmcblk1p3 conv=fdatasync
sudo dd if=u-boot.stm32 of=/dev/mmcblk1p3 conv=fdatasync
sudo dd if=rootfs.ext4 of=/dev/mmcblk1p4 bs=1M status=progress
sudo mkdir -p /mnt/tmp/
sudo mount /dev/mmcblk1p4 /mnt/tmp/
sudo sed -i 's/mmcblk0p4/mmcblk1p4/' /mnt/tmp/boot/extlinux/extlinux.conf
sudo umount /mnt/tmp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment