本文講解了,如何設(shè)置uboot環(huán)境變量和編譯linux內(nèi)核,實現(xiàn)將uboot和系統(tǒng)同時放置到SD卡或eMMC后,從SD或者eMMC啟動uboot,引導(dǎo)系統(tǒng)啟動的過程。
同時使用E2000Q-demo,演示了從SD卡啟動和從eMMC啟動的過程。
? ? ? ? ?? ? ? ? ?
1、制作MMC(eMMC/SD卡)啟動鏡像文件
1.1、重新編譯u-boot.bin,實現(xiàn)U-boot環(huán)境變量存儲在MMC(eMMC/SD卡)
在交叉編譯環(huán)境(Ubuntu20.04_X86虛擬機(jī)),進(jìn)入Uboot源碼目錄,運行make?menuconfig配置環(huán)境參數(shù)保存在MMC設(shè)備,偏移地址為0x300000(這里0x00000-0x300000地址空間預(yù)留存放BIOS固件fip-all.bin,偏移地址必須大于fip-all.bin),然后重新make得到u-boot.bin。
進(jìn)入E2000打包工具image-fix目錄,更新bl33_new.bin指向重新make得到的u-boot.bin,然后執(zhí)行腳本打包得到新的BIOS固件文件fip-all.bin。
? ? ? ? ??
1.2、重新編譯linux內(nèi)核,實現(xiàn)bootargs傳遞分區(qū)信息
E2000配置從MMC(eMMC/SD卡)啟動的模式,上電啟動需要從MMC設(shè)備(eMMC/SD卡)起始地址加載BIOS固件,BIOS固件會覆蓋分區(qū)表信息,因此需要開啟“u-boot通過bootargs重新傳遞分區(qū)表”的功能。
在交叉編譯環(huán)境(Ubuntu20.04_X86虛擬機(jī)),進(jìn)入linux?kernel源碼目錄,運行make?menuconfig開啟command?line?partition?support,然后重新make得到內(nèi)核鏡像Image.gz。
? ? ? ? ?
? ? ? ? ?
1.3、打包MMC(eMMC/SD卡)啟動鏡像文章來源:http://www.zghlxwxcb.cn/news/detail-677349.html
第1步:在交叉編譯環(huán)境(Ubuntu20.04_X86虛擬機(jī)),使用命令 mkimage將當(dāng)前目錄下的內(nèi)核Image.gz、設(shè)備樹e2000q-demo-board.dtb進(jìn)行打包,得到啟動鏡像文件u文章來源地址http://www.zghlxwxcb.cn/news/detail-677349.html
到了這里,關(guān)于飛騰E2000從eMMC或SD啟動U-boot和系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!