嵌入式 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 分區完成 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

。。。。。。。。。。。。。。給分區格式化 文件系統  。。。。。。。。。。。。。。。。。。。。。。。

格式化FAT32

mkfs.vfat -F 32 /dev/sdb1

格式化ext
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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM