如何使裸盒程式碼的更改反映在建構中?
問題:減少引導載入程序原始碼中的 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 $$