U-Boot bootdelay 0 환경 변수를 사용하여 U-Boot CLI에 접근하는 사람들의 여러 블로그 게시물을 보았습니다. 예는 다음과 같습니다여기. 제가 이해하는 일반적인 프로세스는 다음과 같습니다.
- U-Boot가 액세스할 수 없도록 납땜 제거/짧은 플래시 칩
- 장치 전원 켜기
U-Boot가 플래시 칩을 찾을 수 없어 CLI로 이동합니다.
eth1 up eth0, eth1 Qualcomm Atheros SPI NAND Driver, Version 0.1 (c) 2014 Qualcomm Atheros Inc. ath_spi_nand_ecc: Couldn't enable internal ECC Setting 0x181162c0 to 0x3061a100 Hit any key to stop autoboot: 0 ** Device 0 not available ath>
bootdelay를 0이 아닌 값으로 변경합니다.
ath> setenv bootdelay 3 ath> saveenv Saving Environment to Flash... Protect off 9F040000 ... 9F04FFFF Un-Protecting sectors 4..4 in bank 1 Un-Protected 1 sectors Protect off 9F050000 ... 9F05FFFF Un-Protecting sectors 5..5 in bank 1 Un-Protected 1 sectors Erasing Flash... 9F050000 ... 9F05FFFF ...Erasing flash... First 0x5 last 0x5 sector size 0x10000 5 Erased 1 sectors Writing to Flash... 9F050005 ... 9F060000 ...write addr: 9f050000 write addr: 9f040004 done Protecting sectors 5..5 in bank 1 Protected 1 sectors Protecting sectors 4..4 in bank 1 Protected 1 sectors ath>
- 장치의 전원을 끄고 플래시 칩을 다시 연결하십시오.
내가 아는 한, U-Boot와 해당 환경 변수는 플래시에 있습니다. 플래시 칩이 CPU에서 분리된 경우 U-Boot는 어떻게 로드되며 bootdelay 변수는 어떻게 영구 저장소에 저장될 수 있습니까?
답변1
이것은 매우 구체적인 예입니다. 이 특정 예에서 진행 중인 작업은 U-Boot가 NOR 플래시(1개의 칩)에 있고 Linux 커널이 NAND 플래시(두 번째 칩)에 있다는 것입니다. 참조된 가이드에서는 부팅이 실패하도록 보드에서 NAND 칩을 제거하고 U-Boot 명령줄로 이동한 다음 U-Boot가 NOR에 환경을 저장하도록 구성되어 있으므로 부팅 지연을 변경하고 저장할 수 있습니다. 플래시도 그렇고.