diff --git a/docs/emmc-multiboot.md b/docs/emmc-multiboot.md index 869fc53..2c797bc 100644 --- a/docs/emmc-multiboot.md +++ b/docs/emmc-multiboot.md @@ -1,6 +1,8 @@ # eMMC Multi-Boot Setup — Orange Pi 3B -**Status:** Revised 2026-06-02. Replaces earlier version that used the eMMC hardware boot partition — that approach failed because the SPL cannot find u-boot.itb on a 4MB boot partition (it looks at sector 16384, which is past the end). This version uses the **by-the-book** Rockchip user-area boot method. +**Status:** Revised 2026-06-02. Replaces earlier version that used the eMMC hardware boot partition — that approach failed because the SPL cannot find u-boot.itb on a 4MB boot partition (it looks at sector 16384, which is past the end). + +This version uses the **by-the-book** Rockchip user-area boot method. ## Boot Architecture @@ -88,14 +90,7 @@ p1 starts at sector **32768** (16MB boundary), leaving the entire 0-32767 area f ## Step 3: Create Filesystems -```bash -sudo mkfs.vfat -F 32 -n BOOT /dev/mmcblk0p1 -sudo mkfs.ext4 -L root_opios /dev/mmcblk0p2 -sudo mkfs.ext4 -L root_armbian /dev/mmcblk0p3 -sudo mkfs.ext4 -L root_nixos /dev/mmcblk0p4 -``` - -**Order doesn't matter here** — the bootloader sectors (64-683 and 16384-19400) are in the gap between GPT and p1 (which starts at sector 32768). mkfs only touches the partition itself, not the gap. But writing the bootloader first and verifying it's there before moving on makes debugging easier. +```bashsudo mmc bootpart enable 7 1 /dev/mmcblk0 ## Step 4: Write Bootloader to User Data Area @@ -205,13 +200,11 @@ If it doesn't boot, see troubleshooting below. | Nothing on screen at all | Power? HDMI connection? | Check USB-C power, HDMI cable, try different monitor | | Boots only when SD inserted | SD card takes priority | Boot flow checks SD first. Remove SD card for eMMC-only test | -## Step 2: Install Armbian +## Later: Install Armbian and NixOS -(To be documented — Armbian rootfs goes into root_armbian, kernel+DTB added to shared /boot, next LABEL added to extlinux.conf.) +To be documented — Armbian rootfs goes into root_armbian, kernel+DTB added to shared /boot, next LABEL added to extlinux.conf. -## Step 3: Install NixOS - -(To be documented — NixOS rootfs goes into root_nixos. Likely the trickiest since NixOS generates its own /boot structure.) +NixOS rootfs goes into root_nixos. Likely the trickiest since NixOS generates its own /boot structure. ## References