βš™οΈ MOCHABIN β€” EMMC / UEFI Tow-Boot GUIDE πŸš€

πŸ“… Créé le : 10 octobre 2025
πŸ’» MatΓ©riel testΓ© : Mochabin (Armada 7040 – MVEBU ARM64)
πŸ”— RΓ©fΓ©rence : Luke Granger-Brown β€” UEFI Boot for Mochabin


🧭 Objectif 🎯

Configurer et démarrer un système UEFI Tow-Boot sur eMMC, SSD ou USB pour Mochabin.
Le but : disposer d’un environnement UEFI propre, capable de dΓ©marrer Debian, OpenWrt ou toute image ARM64 via GPT + ESP.

β€”

🧩 1️⃣ PrΓ©paration de la carte et environnement

⚑ Chargement Tow-Boot :

1
mvebu64boot -t -b result/binaries/Tow-Boot.spi.bin /dev/ttyUSB0

πŸ”§ RΓ©glage des adresses MAC dans U-Boot :

1
2
3
4
setenv ethaddr  F0:AD:4E:27:88:99
setenv eth1addr F0:AD:4E:27:88:9A
setenv eth2addr F0:AD:4E:27:88:9B
saveenv

βœ… Environnement sauvegardΓ© dans la flash SPI (/dev/mtdblock2).


🧠 2️⃣ Diagnostic initial πŸ”

Si Tow-Boot affiche :

1
2
No EFI system partition
EFI boot manager: Cannot load any image

πŸ‘‰ Cela signifie qu’il ne trouve aucune partition FAT32 GPT contenant un fichier EFI/BOOT/BOOTAA64.EFI.


πŸ’Ύ 3️⃣ CrΓ©er la table GPT + partition EFI

Sur ton disque cible (/dev/mmcblk0 pour eMMC, /dev/sda pour SSD SATA) :

1
2
3
4
5
6
7
8
9
10
11
sudo wipefs -a /dev/sdX
sudo sgdisk --zap-all /dev/sdX

# 🧱 Créer 2 partitions :
# 1️⃣ ESP FAT32 (512 MiB)
# 2️⃣ Rootfs Linux (reste du disque)
sudo sgdisk -n1:0:+512M -t1:EF00 -c1:"EFI System" /dev/sdX
sudo sgdisk -n2:0:0 -t2:8300 -c2:"rootfs" /dev/sdX

sudo mkfs.vfat -F32 -n EFI /dev/sdX1
sudo mkfs.ext4 -L rootfs /dev/sdX2

πŸ’‘ Astuce : utilise lsblk -f pour vΓ©rifier les Γ©tiquettes avant de dΓ©monter.


πŸ—‚οΈ 4️⃣ CrΓ©er l’arborescence EFI

Monte la partition EFI :

1
2
3
sudo mkdir -p /mnt/esp
sudo mount /dev/sdX1 /mnt/esp
sudo mkdir -p /mnt/esp/EFI/BOOT

πŸ“‚ Place ton bootloader ici :

1
/mnt/esp/EFI/BOOT/BOOTAA64.EFI

πŸ’‘ Le nom exact BOOTAA64.EFI est obligatoire pour l’amorΓ§age UEFI ARM64.


🧰 5️⃣ Choisir ton bootloader

πŸ… GRUB (Debian/Ubuntu ARM64) 🐧

1
2
apt install grub-efi-arm64
grub-install --target=arm64-efi --efi-directory=/mnt/esp --bootloader-id=debian

πŸ…‘ systemd-boot βš™οΈ

1
cp /usr/lib/systemd/boot/efi/systemd-bootaa64.efi /mnt/esp/EFI/BOOT/BOOTAA64.EFI

πŸ“ CrΓ©e /mnt/esp/loader/entries/mochabin.conf :

1
2
3
4
title Mochabin Debian
linux /boot/Image
initrd /boot/initrd.img
options root=PARTUUID=<UUID>-02 rw rootwait net.ifnames=0 biosdevname=0

🌳 6️⃣ Ajouter le DTB (Device Tree)

πŸ“¦ Copie le fichier DTB Γ  jour :

1
/boot/dtb/marvell/armada-7040-mochabin.dtb

🧠 Tow-Boot et UEFI l’utiliseront automatiquement avec ton kernel ARM64.


πŸ”„ 7️⃣ Premier boot Tow-Boot

🧭 Menu Tow-Boot :

1
2
3
Boot from eMMC
Boot from USB
Boot from (scsi0) # pour SSD SATA

⚠️ Erreurs courantes

🚨 Message ❓ Cause πŸ› οΈ Solution
No EFI system partition ESP manquante / mal formatΓ©e RecrΓ©e /dev/sdX1 FAT32 + BOOTAA64.EFI
No partition table – scsi 0 Pas de GPT sur le disque Refaire sgdisk
0 Storage Device(s) ClΓ© USB exFAT ou non reconnue Utiliser FAT32 ou EXT2

🌐 8️⃣ RΓ©seau Tow-Boot

DΓ©finir les adresses MAC une seule fois :

1
2
3
4
setenv ethaddr  F0:AD:4E:27:88:99
setenv eth1addr F0:AD:4E:27:88:9A
setenv eth2addr F0:AD:4E:27:88:9B
saveenv

🌍 Les ports LAN ne sont pas actifs au boot : utiliser WAN pour PXE/HTTP boot.


🧩 9️⃣ CompatibilitΓ© et firmware

  • 🧠 Tow-Boot SPI persiste sur la flash interne
  • 🧾 /dev/mtdblock2 contient l’environnement (fw_env.config)
  • 🧬 Les kernels rΓ©cents (β‰₯ 6.6) amΓ©liorent eMMC & PCIe Mochabin

πŸ”§ Rappel BootFlow

1
[ BootROM ] β†’ [ Tow-Boot SPI ] β†’ [ UEFI / BOOTAA64.EFI ] β†’ [ Kernel + DTB + RootFS ]

🧰 Commandes utiles πŸ’‘

Afficher les variables Tow-Boot :

1
fw_printenv

Modifier :

1
fw_setenv bootcmd ...

Retour menu Tow-Boot :

1
run menucmd

βœ… RΓ©sumΓ©

🧱 Γ‰lΓ©ment πŸ“‹ Valeur
Bootloader Tow-Boot 2022.07 SPI
Support eMMC / SSD SATA / USB
Partition table GPT
ESP FAT32 – 512 MiB
Boot file /EFI/BOOT/BOOTAA64.EFI
DTB armada-7040-mochabin.dtb
OS supportΓ©s Debian / OpenWrt / Ubuntu / Armbian
RΓ©seau mvpp2-{0,1,2} (eth0/1/2)
Console sΓ©rie ttyS0,115200

🧾 Crédits ✍️

RΓ©daction et validation : KuBoX Studio @ CyberMind # KERMA’s project (2025)
BasΓ© sur le travail original de Luke Granger-Brown

β€œUEFI Boot for Mochabin” β†’ https://lukegb.com/posts/2023-08-08-uefi-boot-for-mochabin/