嵌入式 emmc 中 安裝 燒錄 內核 kernel,設備樹 devicetree ,根文件系統 rootfs
一般調試嵌入式開發板喜歡選擇 利用 TFTP 傳送 內核與 設備樹, 利用 nfs 加載根文件系統。
uboot 環境變量 設置如下:
bootargs=root=/dev/nfs rw nfsroot=192.168.1.4:/exports/rfs ip=192.168.1.200 video=HDMI-A-2:1280x800
Bootcmd tftp 0x48080000 Image;tftp 0x48000000 XXXXXXXXXXX.dtb;booti 0x48080000 - 0x48000000
如果內核調試完成 ,不再需要利用上位機調試,可以把 Image dtb rootfs 燒錄到板子的emmc中或者SD卡中,快速啟動。
uboot環境變量 設置如下:
bootargs=root=/dev/mmcblk0p2 video=HDMI-A-2:1280x800 console=ttySC0
bootcmd ‘ext4load mmc 1:1 0x48080000 Image;ext4load mmc 1:1 0x48000000 r8a7795-salvator-xs.dtb;booti 0x48080000 - 0x48000000‘
其中 exit4load 為uboot自帶的程序 可以在uboot 命令 敲? 查看 。ext4load mmc 1:1 0x48080000 Image
(Image *.dtb 為已經燒錄到emmc中的文件 1:1 為第一個mmc下的第一個分區 p1 前提是分區 p1 已經格式化為 ext4 系統)
TIPS :
可以將bootcmd賦值為run bootcmd_xxx 就可以輕松的切換啟動方式,比如要nfs啟動,就在uboot中設置 set bootcmd run bootcmd_nfs,然後保存重啟就可以了,emmc啟動也是同理。
格式化工具為 e2fsprogs 地址 https://sourceforge.net/projects/e2fsprogs/?source=typ_redirect
tar -zxvf /mnt/hgfs/linuxbak/e2fsprogs-1.43.7.tar.gz
sourc 交叉工具編譯腳本
生成 makefile ./configure --host=aarch64-poky-linux --prefix=/exports/rfs/usr
make install
NFS 進入系統》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
首先需要使用fdisk 進行emmc 分區:
fdisk /dev/mmcblk0 ( 分區的大小 依據 自己的 emmc 大小 進行分區 ) Command (m for help): m ---輸入m獲取fdisk工具的使用說明 Command (m for help): n ---輸入n創建新的分區 Select (default p): p ---輸入p創建primary分區 Partition number (1-4, default 1): 1 ---輸入分區號 First sector (2048-31116287, default 2048): ---輸入該分區的起始地址,回車使用默認值 Last sector, +sectors or +size{K,M,G} (2048-31116287, default 31116287): 10000000 ---輸入該分區的結束地址Command (m for help): n ---創建第二個分區
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (10000001-31116287, default 10000001):
Using default value 10000001
Last sector, +sectors or +size{K,M,G} (10000001-31116287, default 31116287): 20000000
Command (m for help): p ---打印mmcblk0的分區情況
Command (m for help): w ---保存分區設置並退出
<<<<<<<<<<<<<<<<<<<<<<<<<< EMMC 分區完成 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
。。。。。。。。。。。。。。給分區格式化 文件系統 。。。。。。。。。。。。。。。。。。。。。。。
mkfs.ext4 /dev/mmcblk0p1
mkfs.ext4 /dev/mmcblk0p2 給 分區 1 分區 2 格式化 ext4 系統
mount 分區
mkdir /mnt/emmc1
mkdir /mnt/emmc2
mount /dev/mmcblk0p1 /mnt/emmc1
mount /dev/mmcblk0p2 /mnt/emmc2
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
通過 NFS 登錄 linux 系統中 ,
把 包含 Image dtb 文件 拷貝到 /mnt/emmc1 中
把 根文件目錄 拷貝到 /mnt/emmc2 中
完成 emmc 燒錄 。
至此 修改 uboot 啟動 args 完成 emmc 啟動 內核 ,加載 emmc中的文件系統 。
參考網址 :
http://blog.csdn.net/u011975319/article/details/51803126
https://www.cnblogs.com/zero2nine/p/5138950.html
嵌入式 emmc 中 安裝 燒錄 內核 kernel,設備樹 devicetree ,根文件系統 rootfs