歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

基於FS4412嵌入式系統移植(3) eMMC加載系統啟動linux體驗

上一節中體驗了一下如何通過tftp加載內核和設備樹,並掛載nfs文件系統啟動linux,這樣的方法很時候調試階段,可以把需要的執行的代碼或者鏡像文件放在虛擬機上就可以了,不需要每次都燒寫到開發板中。但是在開發完成後不可能一直在使用一台電腦來給開發板加載系統使用,所以今天我們就學習一下如何將系統文件燒寫到eMMC中,並讓開發板上電後從eMMC中加載系統文件。
這一節中的內容相比與上一節就要少很多:
1、將內核鏡像文件、設備樹鏡像文件、文件系統文件燒寫到開發板的eMMC中。
2、設置uboot的bootcmd環境變量,讓uboot上電後從eMMC中加載鏡像文件。
1、拷貝鏡像文件ramdisk.img 拷貝到虛擬機/tftpboot 目錄下,ramdisk.img文件下載地址:ramdisk
燒寫內核鏡像到 EMMC 上
tftp 41000000 uImage
movi write kernel 41000000
第一條指令是將tftp共享文件夾中的uImage加載到41000000內存地址中,第二條指令是將41000000內存地址的數據寫入到kernel標號的emmc地址中。
燒寫設備樹文件到 EMMC 上
tftp 41000000 exynos4412-fs4412.dtb
movi write dtb 41000000
燒寫文件系統鏡像到 EMMC 上
tftp 41000000 ramdisk.img
movi write rootfs 41000000 300000
以上就是將啟動linux所需要的文件都燒寫到emmc當中了。
2、設置bootcmd環境變量
設置啟動參數
setenv bootcmd movi read kernel 41000000\;movi read dtb 42000000\;movi read rootfs 43000000 300000\;bootm 41000000 43000000 42000000
saveenv
從新上電開發板,就可以看到系統從emmc中啟動。
這裡提示一個小技巧
加入在開發的某一段時間可能會頻繁的切換nfs啟動和emmc啟動,每次都去修改uboot的bootcmd命令實在是有點繁瑣,下面說一個小技巧可以簡單的切換bootcmd。
首先在uboot中創建bootcmd_nfs變量,並將變量賦值為nfs啟動的參數,再創建bootcmd_emmc變量,賦值為emmc啟動的參數。然後將bootcmd賦值為run bootcmd_xxx
就可以輕松的切換啟動方式,比如要nfs啟動,就在uboot中設置 set bootcmd run bootcmd_nfs,然後保存重啟就可以了,emmc啟動也是同理。
Copyright © Linux教程網 All Rights Reserved