Linux系統(tǒng)文件替換說明
本章節(jié)基于NAND FLASH配置評估板,提供固化Linux系統(tǒng)文件至Linux系統(tǒng)啟動卡和NAND FLASH的方法。若使用eMMC配置評估板,替換方法請參考eMMC版本核心板使用說明文檔。
替換SPL
我司已提供SPL鏡像boot0_sdcard.fex和boot0_nand.fex文件,位于產(chǎn)品資料“4-軟件資料LinuxSPLimagespl-pub-[版本號]-[Git系列號]nand”目錄下。其中boot0_sdcard.fex文件僅支持Micro SD啟動,可通過評估板文件系統(tǒng)固化至Linux系統(tǒng)啟動卡;boot0_nand.fex文件僅支持NAND FLASH啟動,請參考本文相關(guān)章節(jié),并將其替換至LinuxSDK開發(fā)包,重新打包生成新的Linux系統(tǒng)鏡像,再將Linux系統(tǒng)鏡像固化至NAND FLASH。
請將SPL鏡像boot0_sdcard.fex文件拷貝至評估板文件系統(tǒng)root目錄下,執(zhí)行如下命令固化至Linux系統(tǒng)啟動卡。
Target# dd if=boot0_sdcard.fexof=/dev/mmcblk0seek=16
Target# dd if=boot0_sdcard.fexof=/dev/mmcblk0seek=256
圖 58
替換U-Boot鏡像、boot_package.fex
boot_package.fex文件由U-Boot鏡像、設(shè)備樹鏡像和sys_config配置文件合并生成。我司提供多個boot_package_xxx.fex文件,位于產(chǎn)品資料“4-軟件資料LinuxBoot_packageboot_package-AA_BBnand”目錄下。如需替換boot_package_xxx.fex,請將目標(biāo)boot_package_xxx.fex文件拷貝至評估板文件系統(tǒng)root目錄下。以HDMI顯示固件(boot_package_hdmi.fex)為例,執(zhí)行如下命令固化至Linux系統(tǒng)啟動卡。
備注:如需單獨(dú)替換U-Boot、設(shè)備樹或boot_package.fex至NAND FLASH,請參考《Linux系統(tǒng)啟動卡制作及系統(tǒng)固化》“Linux系統(tǒng)OTA升級說明”章節(jié)。
Target# dd if=boot_package_hdmi.fex of=/dev/mmcblk0seek=32800 conv=fsync
Target# dd if=boot_package_hdmi.fex of=/dev/mmcblk0seek=24576 conv=fsync
圖 59
替換內(nèi)核、內(nèi)核模塊
我司同時提供了Linux內(nèi)核鏡像(boot_xxx.fex)、Linux內(nèi)核模塊壓縮包(modules文件夾)、Linux-RT內(nèi)核鏡像(boot-rt.fex)、Linux-RT內(nèi)核模塊壓縮包(modules-rt文件夾),位于產(chǎn)品資料“4-軟件資料LinuxKernelimagelinux-5.4-[版本號]-[Git系列號]nand”目錄下。如需替換為Linux-RT系統(tǒng),或替換新的內(nèi)核鏡像,請參考如下方法同時替換對應(yīng)的內(nèi)核鏡像和內(nèi)核模塊至Linux系統(tǒng)啟動卡或NAND FLASH。
備注:我司提供了不同顯示方式的Linux內(nèi)核鏡像boot_xxx.fex文件。如需更換不同的顯示方式,請?zhí)鎿Q相應(yīng)的內(nèi)核鏡像。
替換內(nèi)核鏡像
請將內(nèi)核鏡像文件拷貝至評估板文件系統(tǒng)root目錄下,執(zhí)行如下命令固化至Linux系統(tǒng)啟動卡,以HDMI顯示的內(nèi)核鏡像為例。
備注:如需固化至NAND FLASH,請將設(shè)備節(jié)點(diǎn)修改為"/dev/mtdblock8"。
Target# dd if=boot_hdmi.fex of=/dev/mmcblk0p4 conv=fsync
圖 60
替換內(nèi)核模塊
內(nèi)核模塊需與內(nèi)核版本保持一致,否則會因版本不一致而導(dǎo)致內(nèi)核模塊無法加載。因此替換內(nèi)核鏡像后,請按如下方法替換對應(yīng)版本的內(nèi)核模塊。
將內(nèi)核模塊壓縮包解壓后拷貝至評估板文件系統(tǒng)root目錄下,執(zhí)行如下命令,替換Linux系統(tǒng)啟動卡或NAND FLASH原有的內(nèi)核模塊。
Target# rm -rf /lib/modules/*
Target# cp -r 5.4.61-rt37-gb1bd4aa/ /lib/modules/
Target# sync
Target# reboot
圖 61
替換環(huán)境變量
如需修改環(huán)境變量,請修改LinuxSDK開發(fā)包"tina5.0_v1.0/device/config/chips/t113_i/configs/tlt113-evm-nand/buildroot/env.cfg"文件。修改完成后,請重新執(zhí)行"./build.sh pack"命令生成新的系統(tǒng)鏡像文件,同時將會在"tina5.0_v1.0/out/pack_out/"目錄下生成env.fex文件。
圖 62
請將env.fex文件拷貝至評估板文件系統(tǒng)root目錄下,執(zhí)行如下命令將其固化至Linux系統(tǒng)啟動卡。
備注:如需固化至NAND FLASH,請將設(shè)備節(jié)點(diǎn)修改為"/dev/mtdblock7"。
Target# dd if=env.fex of=/dev/mmcblk0p3
圖 63
U-Boot命令和環(huán)境變量說明
評估板上電啟動后,在U-Boot倒計時結(jié)束之前按下空格鍵進(jìn)入U-Boot命令行模式,執(zhí)行help或者?命令,可查看當(dāng)前U-Boot所支持的命令。
U-Boot# help
圖 64
圖 65

執(zhí)行命令setenv或"env default -f -a"修改的是運(yùn)行空間中的環(huán)境變量值,須使用saveenv命令將修改后的環(huán)境變量保存起來。否則U-Boot重啟后,將會使用修改前的環(huán)境變量值。環(huán)境變量修改完成后,執(zhí)行reset命令,即可使用修改后的U-Boot環(huán)境變量啟動。
U-Boot# env default -f -a
U-Boot# saveenv
U-Boot# reset
圖 66
在U-Boot命令行執(zhí)行printenv命令可查看環(huán)境變量,以下提供評估板從NAND FLASH啟動時主要U-Boot環(huán)境變量的解析說明。不同啟動方式(如Micro SD、eMMC啟動)、不同版本的U-Boot,環(huán)境變量會有所不同,內(nèi)容僅供參考。
/*dsp0啟動參數(shù),sunxi_flash會根據(jù)當(dāng)前啟動介質(zhì)(如eMMC、Micro SD等)讀取對應(yīng)的文件。例如,評估板從eMMC啟動,boot_dsp0環(huán)境變量指定讀取eMMC dsp0分區(qū)的數(shù)據(jù)至DDR的43000000*/
boot_dsp0=sunxi_flash read 43000000 ${dsp0_partition};bootr 43000000 0 0
/*網(wǎng)絡(luò)啟動參數(shù),板卡從TFTP服務(wù)端獲取boot.fex文件。至DDR的43000000*/
boot_net=tftpboot 43000000 boot.fex;run setargs_netboot;bootm 43000000
/*fastboot模式*/
boot_fastboot=fastboot
/*normal模式啟動參數(shù),sunxi_flash會根據(jù)當(dāng)前啟動介質(zhì)(如eMMC、Micro SD等)讀取對應(yīng)的文件。例如,評估板從eMMC啟動,boot_normal環(huán)境變量指定讀取eMMC boot分區(qū)的數(shù)據(jù)至DDR的0x43000000*/
boot_normal=sunxi_flash read 43000000 boot;bootm 43000000
/*recovery模式啟動參數(shù),sunxi_flash會根據(jù)當(dāng)前啟動介質(zhì)(如eMMC、Micro SD等)讀取對應(yīng)的文件。例如,評估板從eMMC啟動,boot_recovery環(huán)境變量指定讀取eMMC recovery分區(qū)的數(shù)據(jù)至DDR的0x43000000*/
boot_recovery=sunxi_flash read 43000000 recovery;bootm 43000000
/*啟動命令*/
bootcmd=run boottestcount;run setargs_nand_ubi boot_normal
/*啟動次數(shù)*/
bootcount=0
/*是否啟用計數(shù)功能*/
boottest=0
/*啟動延時為1秒*/
bootdelay=1
/*調(diào)試串口為UART0,波特率為115200*/
console=ttyS0,115200
/*dsp0模式啟動鏡像分區(qū)名*/
dsp0_partition=dsp0
/*初始化串口控制臺之前,使用uart8250,mmio32,0x02500000打印啟動信息*/
earlycon=uart8250,mmio32,0x02500000
/*從nand的ubi0_5分區(qū)掛載根文件系統(tǒng)*/
nand_root=ubi0_5 rootwait rw
/*分區(qū)表參數(shù)*/
partitions=mbr@ubi0_0:boot-resource@ubi0_1:env@ubi0_2:env-redund@ubi0_3:boot@ubi0_4:rootfs@ubi0_5:userdata@ubi0_6:dsp0@ubi0_7:private@ubi0_8:UDISK@ubi0_9
/*從Linux系統(tǒng)啟動卡的第5個分區(qū)掛載根文件系統(tǒng)*/
sd_root=/dev/mmcblk0p5 rootwait rw
/*NAND啟動參數(shù)*/
setargs_nand=setenv bootargs ubi.mtd=${mtd_name} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
/*nand ubi啟動參數(shù)*/
setargs_nand_ubi=setenv bootargs ubi.mtd=${mtd_name} clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=${nand_root} rootfstype=${rootfstype} init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
/*網(wǎng)絡(luò)啟動參數(shù)*/
setargs_netboot=setenv bootargs clk_ignore_unused initcall_debug=${initcall_debug} console=${console} loglevel=${loglevel} root=/dev/nfs rootwait ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}::eth0:off nfsroot=${serverip}:${nfsroot},nolock,v3,tcp init=${init} partitions=${partitions} cma=${cma} snum=${snum} mac_addr=${mac} wifi_mac=${wifi_mac} bt_mac=${bt_mac} specialstr=${specialstr} gpt=1
由于篇幅過長等原因,部分內(nèi)容均不逐一展示,如需獲取完整版詳細(xì)資料,請關(guān)注創(chuàng)龍科技微信公眾號或官網(wǎng),或者評論區(qū)留言,感謝您的支持!
審核編輯 黃宇
-
Linux
+關(guān)注
關(guān)注
88文章
11786瀏覽量
219325 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6345瀏覽量
119445
發(fā)布評論請先 登錄
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—雙屏異顯方案演示
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—eMMC配置核心板使用說明(二)
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Linux系統(tǒng)使用手冊(二)
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—視頻開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—ARM + FPGA通信案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—ARM + DSP、RISC-V核間通信開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—RISC-V案例開發(fā)手冊(上)
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—DSP案例開發(fā)手冊
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—物聯(lián)網(wǎng)模塊開發(fā)案例(上)
【創(chuàng)龍TLT113-MiniEVM開發(fā)板試用體驗(yàn)】開箱評測
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—GDB程序調(diào)試方法說明
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—IgH EtherCAT主站開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—MQTT通信協(xié)議案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Linux-RT應(yīng)用開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—LVGL應(yīng)用開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Linux系統(tǒng)使用手冊(三)
評論