如何使裸机代码中的更改反映在构建中?

如何使裸机代码中的更改反映在构建中?

问题:减少引导加载程序源代码中的 autoboot_timeout 参数。

加固板---> phyBoard-Segin i.MX6UL/ULL

当前启动时间约为 14 秒,加上自动启动超时,会额外增加 3 秒。必须将超时减少到 1。

方法一:

@引导加载程序:

cd /env/nv

LS

barebox@Phytec phyCORE-i.MX6 Ultra Lite SOM,带 NAND:/env/nv ls
。 ..allow_color
autoboot_timeout
bootchooser.state_prefix bootchooser.system0.boot
bootchooser.system1.boot bootchooser.targets
dev.eth0.ipaddr dev.eth0.linux.devname
dev.eth0.mode dev.eth0.netmask
dev.eth0.serverip dhcp.vendor_id
linux.bootargs.base linux.bootargs.rootfs
net.gateway 用户
barebox@Phytec phyCORE-i.MX6 Ultra Lite SOM(带 NAND):/env/nv

我将 autoboot_timeout 编辑为 1。

保存环境。

这个方法有效,我已经验证过。现在我希望在裸机源代码中进行相同的更改并使其反映[根据项目要求,不应在此处进行相同的更改,而应在源代码中进行]

恢复此处所做的所有更改。

方法二:

bitbake barebox -c devshell

cd defaultenv/defaultenv-2-base/bin/

我编辑 init 文件,将自动启动超时参数更改为 1。

片段:

root@hp15t:~/yocto/build/tmp/work/phyboard_segin_imx6ul_2-phytec-linux-gnueabi/barebox/2019.01.0-phy7-r7.0/git/defaultenv/defaultenv-2-base/bin# cat init #! /bin/sh

导出路径=/env/bin

全局主机名 全局用户 全局 autoboot_timeout 全局 autoboot_abort_key 全局 boot.default 全局 linux.bootargs.base 全局 linux.bootargs.console #linux.bootargs.dyn.* 启动开始时会被清除 全局 linux.bootargs.dyn.ip 全局 linux .bootargs.dyn.root 全局 editcmd

[ -z "${global.hostname}" ] && global.hostname=generic [ -z "${global.user}" ] && global.user=none magicvar -a global.user "用户名(在网络文件名中使用) " [ -z "${global.autoboot_timeout}" ] &&全局.autoboot_timeout=1 magicvar -a global.autoboot_timeout "自动启动前的超时秒数" [ -z "${global.autoboot_abort_key}" ] && global.autoboot_abort_key=any magicvar -a global.autoboot_abort_key "中止自动启动的键(有效选项:任意, ctrl-c)" [ -z "${global.boot.default}" ] && global.boot.default=net [ -z "${global.editcmd}" ] && global.editcmd=sedit

[ -e /env/config-board ] && /env/config-board /env/config

保存更改后[突出显示我已更改的参数],我运行以下命令。

bitbake barebox -c 编译 --force

bitbake barebox -c 部署

bitbake <图像名称>

当我验证时,所做的更改没有反映出来。

所需场景 - 超时应为 1,并且板应启动。

获得的场景 - 仍然需要 3 秒然后启动。

答案1

经过深思熟虑和四处挖掘后我发现了。我忘记更新引导加载程序中的环境以反映更改。

对路径defaultenv/defaultenv-2-base/bin/init中的文件进行上述更改

保存更改。

git 状态

git add <路径中各自的文件名>

git commit -m“[为提交插入正确的消息]”

git show 或 git status [这是为了查看所做的更改是否存在]

出口

bitbake barebox -c 编译 --force && bitbake barebox && bitbake barebox -c 部署

bitbake <图像名称>

刷新 SD 卡映像。

在 yocto 中走以下路径:

cd /部署/图像/ [版本]/

cp barebox.bin /home/<名称>/boot

@引导加载程序:

barebox_update -t​​ nand barebox.bin

擦除/dev/nand0.barebox-environment.bb [我们需要擦除旧环境]

保存环境

重置

现在所做的更改将得到反映。

我们可以在引导加载程序中交叉检查。

cd /env/bin/

cat init [ 检查 autoboot_timeout。默认为3,已更改为1]

相关内容