mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-07-12 18:19:42 -07:00
0689a89c47
Issue archr-linux/Arch-R#34: ao inserir um segundo cartão SD em TF2, o boot falha com "cannot find mmcblk1p1" + countdown para poweroff. Causa: - Linux enumera os controladores MMC do RK3326 por ordem do DT: ff380000.mmc -> mmc0 -> /dev/mmcblk0 (TF2, slot secundário) ff370000.mmc -> mmc1 -> /dev/mmcblk1 (TF1, slot com o OS) - U-Boot enumera por ordem de probe dos slots; com TF2 populado o devnum repassado para a sysboot pode acabar diferente do que o kernel apresenta como /dev/mmcblk1. - clone_boot.ini e original_boot.ini montavam o kernel cmdline como `boot=/dev/mmcblk${devnum}p1 root=...p2 disk=...p3`, então a troca de devnum quebrava o /init busybox. Fix: Substituir o path hardcoded por LABEL=@DISTRO_BOOTLABEL@ (sed do package.mk já existia mas não tinha onde substituir; agora cobre ARCHR / ARCHR_ROOT / STORAGE). O /init busybox já trata LABEL= via findfs + fallback de blkid scan em mmcblk0/mmcblk1, então a partição certa é encontrada independente da ordem de enumeração — sobrevive a 2-SD, troca de slot, ou qualquer reorder que U-Boot decida fazer. Kernel cmdline antes: boot=/dev/mmcblk1p1 root=/dev/mmcblk1p2 disk=/dev/mmcblk1p3 Depois: boot=LABEL=ARCHR root=LABEL=ARCHR_ROOT disk=LABEL=STORAGE Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>