Linux

如何使裸盒程式碼的更改反映在建構中?

  • February 16, 2021

問題:減少引導載入程序原始碼中的 autoboot_timeout 參數。

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

目前啟動時間約為 14 秒,自動啟動超時,額外 3 秒。必須將超時減少到 1。

方法一:

@引導載入程序:

cd /env/nv

ls

barebox@Phytec phyCORE-i.MX6 Ultra Lite SOM with 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 with NAND:/env/nv

我將 autoboot_timeout 編輯為 1。

保存環境。

這個方法有效,我已經驗證過了。現在我希望在裸盒原始碼中進行相同的更改並讓它反映

$$ As per Project requirement, the same change should not be made here but rather in the source code $$ 還原此處所做的所有更改。

方法二:

bitbake barebox -c devshell

cd defaultenv/defaultenv-2-base/bin/

我編輯初始化文件,將自動啟動超時參數更改為 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

導出 PATH=/env/bin

global hostname global user global autoboot_timeout global autoboot_abort_key global boot.default global linux.bootargs.base global linux.bootargs.console #linux.bootargs.dyn.*會在啟動開始時清除 global linux.bootargs.dyn.ip global linux .bootargs.dyn.root 全域編輯命令

$$ -z “${global.hostname}” $$&& global.hostname=通用$$ -z “${global.user}” $$&& global.user=none magicvar -a global.user “使用者名(用於網路文件名)"$$ -z “${global.autoboot_timeout}” $$&& global.autoboot_timeout=1 magicvar -a global.autoboot_timeout “自動開機前的超時秒數”$$ -z “${global.autoboot_abort_key}” $$&& global.autoboot_abort_key=any magicvar -a global.autoboot_abort_key “中止自動啟動的鍵(有效選項:any,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

保存更改後

$$ highlighted the parameter which i have changed $$,我執行以下命令。

bitbake barebox -c 編譯 –force

bitbake barebox -c 部署

bitbake <圖像名稱>

在這裡,當我驗證時,所做的更改不會反映。

所需的場景 - 超時應為 1,並且板應啟動。

獲得場景-仍然需要3s然後啟動。

經過深思熟慮和探勘,我發現了。我忘記更新引導載入程序中的環境以反映更改。

對路徑 defaultenv/defaultenv-2-base/bin/init 中的文件進行上述更改

保存更改。

狀態

git add <路徑中的相應文件名>

git 送出 -m "

$$ insert proper message for the commit $$” git show 或 git status

$$ this is to see the whether the changes made are present $$ 出口

bitbake barebox -c compile –force && bitbake barebox && bitbake barebox -c deploy

bitbake <圖像名稱>

快閃記憶體 SD 卡映像。

在 yocto 中走以下路徑:

cd /部署/圖像/

$$ version $$/ cp barebox.bin /home/<名稱>/boot

@引導載入程序:

barebox_update -t​​ 和 barebox.bin

擦除 /dev/nand0.barebox-environment.bb

$$ we need to erase the old environment $$ 保存環境

重置

現在所做的更改將被反映。

我們可以交叉檢查引導載入程序。

cd /env/bin/

貓初始化

$$ check the autoboot_timeout. Default was 3, it has been changed to 1 $$

引用自:https://unix.stackexchange.com/questions/633262