【问题标题】:Running scripts in u-boot with qemu on arm在 u-boot 中使用 arm 上的 qemu 运行脚本
【发布时间】:2014-06-06 02:34:16
【问题描述】:

我正在使用 QEMU 在 ARM 上使用 u-boot。我正在使用“versatilepb”机器,因为 Linux 和 u-boot 都可以很好地使用它。我想写一个script 来处理一些启动过程(设置内核参数,计算CRC,等等)——但我似乎找不到如何运行我的脚本。我在内存中有脚本,我可以用 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 构建)而不是实际的独立应用程序。

我的测试脚本非常简单,只是用来启动 Linux 内核:

#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 命令行输入 bootm 0x34000000 成功启动 Linux 内核

我是否遗漏了有关如何运行 u-boot 脚本的内容?

【问题讨论】:

  • 您应该添加您正在使用的 u-boot 版本。对于“运行”命令,验证配置中是否定义了 CONFIG_CMD_RUN。我不知道“autoscr”可用的最新 u-boot 版本不使用这个。
  • 验证配置中是否定义了 CONFIG_CMD_SOURCE。 denx.de/wiki/view/DULG/UBootCmdGroupExec#Section_5.9.4.1.
  • 这些选项的组合让我可以做我想做的事。非常感谢!我正在尝试 u-boot 2013.10 和 2014.1 有人想发布一个答案让我接受吗?我不想“关闭”它,因为我仍然认为这对于 u-boot 新手来说是一个有效的问题

标签: arm qemu u-boot


【解决方案1】:

这是一个社区 wiki 答案。

您应该添加您正在使用的 u-boot 版本。对于“运行”命令,验证 CONFIG_CMD_RUN 是否已在您的配置中定义。 sessyargc.jp

命令autoscr 是通过在您的配置中定义CONFIG_CMD_SOURCE 来启用的,如U-boot command documetnationJoe Kul

这些脚本不能像普通 ascii 一样运行,必须由 mkimage 根据文档进行预处理。

【讨论】:

    猜你喜欢
    • 2016-07-19
    • 2020-05-03
    • 2022-11-04
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2016-04-19
    • 2016-08-30
    • 2014-08-28
    相关资源
    最近更新 更多