현재 부팅 되고 있는 전체 이미지에 kernel zImage, Device Tree Binary 파일을 보드 내 특정 RAM sector에 올려 그 부분만 Image를 바꾸어 실행하여 kernel 수정사항을 즉각적으로 확인할 수 있게 한다.
U-Boot > setenv ipaddr <EVB's IP>
U-Boot > setenv serverip <Ubuntu IP>
U-Boot > saveenv
# /srv/tftp로 이미지파일을 옮겨놔야 인식
U-Boot > tftp 85000000 ma35d1-som-256m.dtb
U-Boot > tftp 82000000 Image.gz
#0x82000000은 임시 load_memory
U-Boot > unzip 82000000 80080000
U-Boot > booti 80080000 85000000
[0.598015] Kernel panic - not syncing: synchronous external abort: Fatal exception
[0.605642] SMP: stopping secondary CPUs
[0.609550] Rebooting in 1 seconds..
U-Boot > setenv ipaddr <EVB's IP>
U-Boot > setenv serverip <Ubuntu IP>
U-Boot > saveenv
# /srv/tftp로 이미지파일을 옮겨놔야 인식
U-Boot > tftp 85000000 ma35d1-som-256m.dtb
U-Boot > tftp 80080000 Image-numaker-som-ma35d16a81.bin
# 압축파일이 아니므로 바로 부팅 가능
U-Boot > booti 80080000 85000000
[0.598015] Kernel panic - not syncing: synchronous external abort: Fatal exception
U-Boot > setenv ipaddr <EVB's IP>
U-Boot > setenv serverip <Ubuntu IP>
U-Boot > saveenv
# /srv/tftp로 이미지파일을 옮겨놔야 인식
U-Boot > tftp 85000000 ma35d1-som-256m--5.10.140-r0-numaker-som-ma35d16a81-20250911055909.dtb
U-Boot > tftp 80080000 Image-5.10.140-r0-numaker-som-ma35d16a81-20250911055909.bin
# 압축파일이 아니므로 바로 부팅 가능
U-Boot > booti 80080000 85000000
ubi0:rootFs 루트 파일 시스템을 마운트하려고 했으나 실패 : -19 → 장치 존재하지 않음ubi.mtd=4 root=ubi0:rootFs에 따라 MTD 파티션 4번 (nand-rootFs)을 UBI 장치 0으로 attach함 [3.318694] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0): error -19
[3.326647] Please append a correct "root=" boot option; here are the available partitions:
[3.511061] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
U-Boot > printenv bootargs
bootargs=noinitrd ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs rw rootwait=1 console=ttyS0,115200n8 rdinit=/sbin/init mem=248M
U-Boot > printenv boot_targets
boot_targets=mmc0 mmc1 ubifs0 legacy_mmc0 nand0 mtd0
U-Boot> printenv bootcmd
bootcmd=run distro_bootcmd
`bootargs` : 커널에 전달될 부팅 매개변수 → NAND 플래시 부팅을 가리키는 설정으로 고정되어 있음`root=ubi0:rootfs`
`boot_targets` = mmc0 mmc1 → U-Boot가 자동으로 부팅을 시도하는 저장 장치 목록
자동 부팅 시 : U-Boot는 `boot_targets` 변수에 정의된 순서대로 부팅을 시도 NAND는 1순위가 아님
수동 부팅 시 : `booti` 명령어를 수동으로 실행하면 `boot_targets`를 무시하고 현재 `bootargs` 변수에 저장된 값(NAND 부팅 설정)을 커널에 전달함
`booti` 명령어를 입력하는 순간, `boot_targets`를 따르지 않고 자동 부팅 스크립트 중단 → 메모리에 올려놓은 커널과 현재 U-Boot에 로드된 bootargs 변수 값만을 사용해 부팅을 시도
Solution
U-Boot > setenv bootargs 'root=/dev/mmcblk1p1 rootfstype=ext4 rw rootwait console=ttyS0,115200n8 rdinit=/sbin/init mem=248M'
U-Boot > saveenvU-Boot > setenv boot_targets 'mmc1 mmc0 ubifs0 legacy_mmc0 nand0 mtd0'
U-Boot > saveenvResult
[3.110220] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[3.113022] #0: ma35d1_IIS
[3.121582] cfg80211: failed to load regulatory.db
[4.490191] systemd[1]: psplash-start.service: Failed with result 'exit-code'.
[4.514651] systemd[1]: Failed to start Start psplash boot splash screen.
[FAILED] Failed to start Start psplash boot splash screen.
See 'systemctl status psplash-start.service' for details.
[4.542086] systemd[1]: Dependency failed for Start psplash-systemd progress communication helper.
[DEPEND] Dependency failed for Star…progress communication helper.
[4.567766] systemd[1]: psplash-systemd.service: Job psplash-systemd.service/start failed with result 'dependency'.
[6.164707] viv-dc 40260000.display: Failed to read bpp, pixel_fmt and buswidth from DT
[6.322847] viv-dc: probe of 40260000.display failed with error -22
[FAILED] Failed to start Start psplash boot splash screen.
See 'systemctl status psplash-start.service' for details.
[DEPEND] Dependency failed for Star…progress communication helper
```
status=255/EXCEPTIONviv-dc → 디바이스 트리 관련 설정 누락cfg80211 → wi-fi 드라이버 구성요소conclusion