一般调试嵌入式开发板喜欢选择  利用 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

嵌入式 emmc 中 安装 烧录 内核 kernel,设备树 devicetree ,根文件系统 rootfs的更多相关文章

  1. 野火 STM32MP157 开发板内核和设备树的编译烧写

    一.环境 编译环境:Ubuntu 版本:18.4.6 交叉编译工具:arm-linux-gnueabihf-gcc 版本:7.4.1 开发板:STM32MP157 pro 烧写方式:STM32Cube ...

  2. TFTP启动内核、设备树,NFS启动FS

    一.软硬件平台 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E6321. 二.问题 ...

  3. 我眼中的Linux设备树(五 根节点)

    五 根节点一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是"/",至少需要包含model和compatible两个属性.model属性我们 ...

  4. Linux设备树(五 根节点)

    五 根节点 一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是“/”,至少需要包含model和compatible两个属性.model属性我们在属性那节已经说过 ...

  5. 基于tiny4412的Linux内核移植 -- 设备树的展开

    作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...

  6. 基于tiny4412的Linux内核移植 -- 设备树的展开【转】

    转自:https://www.cnblogs.com/pengdonglin137/p/5248114.html#_lab2_3_1 阅读目录(Content) 作者信息 平台简介 摘要 正文 一.根 ...

  7. 嵌入式Linux驱动学习之路(八)创建最小的根文件系统

    busybox 在配置busybox,在是否选择要静态链接库时,在静态下,busybox中的工具不需要动态链接库,能够直接运行.而用户自己编写的程序如果需要动态链接库,还是依然需要有. 如果是动态链接 ...

  8. 关于用wubi安装Ubuntu,总是提示“没有定义根文件系统”的问题

    用diskgenius测试一下分区问题,就发现一些错误,所以怀疑可能就是因为这个分区参数错误导致WUBI安装不成功,费了大力气转移数据后,重新对硬盘分区,这里称赞一下diskgenius,的确不错,当 ...

  9. windows系统中在jupyter安装虚拟环境内核

    一.在jupyter中安装虚拟环境内核 1.创建Python3虚拟环境 参考本文其他博客 2.进入虚拟环境 3.安装jupyter pip install jupyter 4.添加当前环境到jupyt ...

随机推荐

  1. 选择 NoSQL 需要考虑的 10 个问题

    那么我为什么要写这篇文章呢? 是因为我认为NoSQL解决方案不如RDBMS解决方案吗?当然不! 是因为我专注于SQL的做事方式,而不想陷入一种相对较新的技术的不确定性吗?不,也不是!事实上,我非常兴奋 ...

  2. layui修改表格行高

    .layui-table-cell { height: auto !important; white-space: normal; }

  3. 安装双系统Windows+Centos安装完成之后提示双系统选项菜单!

    原因:在windows下安装centos系统完成之后重启无法显示windows系统菜单选项 1.安装Windows系统 2.安装Centos系统 3.在Centos系统中安装ntfs-3g yum i ...

  4. JavaSE---IO体系

    1.BIO 1.1 Block IO,同步阻塞IO: 1.2 eg:java.io   包下的      InputStream . OutputStream.  Writer.Reader... j ...

  5. PHP filter_var() 函数

    定义和用法 filter_var() 函数通过指定的过滤器过滤一个变量. 如果成功,则返回被过滤的数据.如果失败,则返回 FALSE. 语法 filter_var(variable, filter, ...

  6. 【已转移】【Java架构:基础技术】一篇文章搞掂:Spring

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------ ...

  7. 一起探讨下POST、GET请求

    以下的讨论都是基于java和Spring MVC,主要记录自己的一些练习心得. 做web网站开发HTTP请求必不可少,一直在使用写好的Utils没有考虑过如何以及为什么,现在闲下来想着捋一捋java的 ...

  8. ABP的新旧版本

    新版本 https://abp.io/documents/abp/latest/Index https://github.com/abpframework/abp ABP is an open sou ...

  9. python format函数的使用

    转载自:http://www.cnblogs.com/kaituorensheng/p/5709970.html python自2.6后,新增了一种格式化字符串函数str.format(),威力十足, ...

  10. ylbtech-公司-滴滴出行:滴滴出行

    ylbtech-公司-滴滴出行:滴滴出行 滴滴出行是涵盖出租车. 专车.  滴滴快车.  顺风车. 代驾及 大巴等多项业务在内的一站式出行平台,2015年9月9日由“滴滴打车”更名而来. 2月1日起, ...