QEMU를 사용하여 ARM에서 u-boot로 작업하고 있습니다. Linux와 u-boot가 잘 작동하기 때문에 'versatilepb'머신을 사용하고 있습니다. 부트 절차 중 일부를 처리하기 위해 script을 쓰고 싶습니다. (커널 args를 설정하고 CRC를 계산하는 등 ...) -하지만 스크립트를 실행하는 방법을 찾지 못하는 것 같습니다. 내가 메모리에서 스크립트를 가지고 내가 U-부팅을 식별 할 수 그러나arm에서 qemu로 u-boot에서 스크립트 실행
VersatilePB # iminfo 0x285EC
## Checking Image at 000285ec ...
Legacy image found
Image Name: Test Linux Boot
Image Type: ARM Linux Script (uncompressed)
Data Size: 300 Bytes = 300 Bytes
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 292 Bytes = 292 Bytes
Verifying Checksum ... OK
, 나는 그것을 실행하는 방법을 알아낼 수 없습니다 :
VersatilePB # run 0x285EC
Unknown command 'run' - try 'help'
VersatilePB # autoscr 0x285EC
Unknown command 'autoscr' - try 'help'
VersatilePB # go 0x285EC
## Starting application at 0x000285EC ...
qemu: fatal: Trying to execute code outside RAM or ROM at 0x56190526
내가 마지막으로 이해 스크립트 이미지 (mkimage -A arm -T script -C none -n "Test Linux Boot" -d myscript.sh ./boot-commands.img
을 사용하여 빌드 됨)가 있고 실제 독립형 응용 프로그램이 아니기 때문에 명령이 실패했습니다.
내 테스트 스크립트는 매우 간단 단지 리눅스 커널 부팅하기위한 것입니다 :
U 자 부팅 명령 줄에서bootm 0x34000000
을 입력하면
#Global Variables
FLASH_ADDR=0x34000000
BOOT_ARGS="console=ttyAMA0"
#Now we'll try booting it from the beginning of flash
setenv bootcmd bootm $FLASH_ADDR
setenv bootargs $BOOT_ARGS
이 성공적으로
내가 뭔가를 놓치고 있습니까 리눅스 커널을 부팅을 u-boot 스크립트를 실행하는 방법?
사용중인 u-boot 버전을 추가해야합니다. "run"명령의 경우 구성에 CONFIG_CMD_RUN이 정의되어 있는지 확인하십시오. 나는 "autoscr"에 대해 전혀 모른다. 사용 가능한 최신 u-boot 버전은 이것을 사용하지 않는다. –
구성에 CONFIG_CMD_SOURCE가 정의되어 있는지 확인하십시오. http://www.denx.de/wiki/view/DULG/UBootCmdGroupExec#Section_5.9.4.1. –
이러한 옵션을 조합하면 내가 원하는 것을 할 수 있습니다. 정말 고마워! 2013.5와 2014.1을 모두 시험해 보았습니다. 누군가 나를 받아들이라는 대답을 올리시겠습니까? 나는 그것이 u-boot 초심자를위한 유효한 질문이었다고 아직도 믿기 때문에 나는 그것을 닫고 싶지 않다. – zje