1. 程式人生 > >嵌入式 emmc 中 安裝 燒錄 內核 kernel,設備樹 devicetree ,根文件系統 rootfs

嵌入式 emmc 中 安裝 燒錄 內核 kernel,設備樹 devicetree ,根文件系統 rootfs

進入 切換 art e2fsprogs 獲取 man mage 喜歡 and

  一般調試嵌入式開發板喜歡選擇 利用 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