2014-04-21 5 views
0

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 스크립트를 실행하는 방법?

+1

사용중인 u-boot 버전을 추가해야합니다. "run"명령의 경우 구성에 CONFIG_CMD_RUN이 정의되어 있는지 확인하십시오. 나는 "autoscr"에 대해 전혀 모른다. 사용 가능한 최신 u-boot 버전은 이것을 사용하지 않는다. –

+1

구성에 CONFIG_CMD_SOURCE가 정의되어 있는지 확인하십시오. http://www.denx.de/wiki/view/DULG/UBootCmdGroupExec#Section_5.9.4.1. –

+0

이러한 옵션을 조합하면 내가 원하는 것을 할 수 있습니다. 정말 고마워! 2013.5와 2014.1을 모두 시험해 보았습니다. 누군가 나를 받아들이라는 대답을 올리시겠습니까? 나는 그것이 u-boot 초심자를위한 유효한 질문이었다고 아직도 믿기 때문에 나는 그것을 닫고 싶지 않다. – zje

답변

1

이것은 커뮤니티 위키 답변입니다.

사용중인 u-boot 버전을 추가해야합니다. "실행"명령의 경우 CONFIG_CMD_RUN이 구성에 정의되어 있는지 확인하십시오. sessyargc.jp

명령 autoscr에 의해 U-boot command documetnation에 따라 구성에 CONFIG_CMD_SOURCE를 정의하여 사용할 수 있습니다.

Joe Kul에 의해 스크립트는 일반 아스키으로 실행하지 않고 문서에 따라 mkimage에 의해 사전 처리해야합니다.