• 嵌入式 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

  • 相关阅读:
    关于Spring和Struts2的整合
    有关Transaction not successfully started问题解决办法
    两种页面跳转
    jdbc连接mysql
    change和modify
    Navicat Premium 15连接Oracle时提示oracle library is not loaded的解决方案
    Oracle创建本地数据库实例及配置监听
    下载Visual Studio 2019离线安装包
    简单的数据库
    未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序
  • 原文地址:https://www.cnblogs.com/hutiann/p/8006899.html
Copyright © 2020-2023  润新知