【问题标题】:uEnv.txt boot file confusion with embedded LinuxuEnv.txt 引导文件与嵌入式 Linux 混淆
【发布时间】:2019-04-19 12:28:31
【问题描述】:

我正在使用存储在可插拔 SD 卡上的 Debian 映像重新刷新 BeagleBone Green 板上的内部 emmc。

我收到的说明是修改 SD 卡映像中的 /boot/uEnv.txt 文件,该文件必须刷新并取消最后一行的注释:cmdline=init=/opt/scripts/tools/eMMC /init-eMMC-flasher-v3.sh

这可以正常工作并按预期闪烁内部存储器。我不明白的是,当我在刷新图像时检查 /boot/uEnv.txt 文件时,该行再次被注释掉。这是什么原因造成的?

另外,我认为 /boot/uEnv.txt 文件是引导加载程序的一部分,而不是内核映像。我在这里真的很困惑。

另外,如果问题不止一个,抱歉。如果我想修改 SD 卡镜像上的 uEnv.txt 文件,然后将修改后的镜像发送给其他人,该怎么做?

【问题讨论】:

    标签: embedded-linux beagleboneblack bootloader u-boot beagleboard


    【解决方案1】:

    /boot/uEnv.txt 文件正在被 eMMC flasher 脚本修改,该脚本在您使用包含行 cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh 的 uEnv.txt 文件启动板时执行:该文件中的 cmdline 参数表示内核命令行,U-Boot 在启动时传递给 Linux 内核。

    因此,使用 uEnv.txt 中的那一行,您基本上是在告诉 U-Boot 告诉内核启动“非常规”应用程序而不是默认的 init 程序(它将“正常”启动系统)。此应用程序在 Linux 下运行,可以访问整个 SD 卡和 eMMC 内存,包括包含 uEnv.txt 文件的分区,并且可以根据需要更改文件内容。

    关于您的最后一个问题,您可以使用dd 工具从 Linux shell 创建一个包含修改后的 SD 卡映像的文件,例如:

    dd if=/dev/mmcblk0 of=mySDcard.img

    在上述命令中,将/dev/mmcblk0替换为插入SD卡时在系统中创建的块设备文件(必须不挂载其分区才能正常工作);图像文件将被创建为mySDcard.img

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 2020-09-18
      • 2011-11-25
      • 1970-01-01
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多