嵌入式 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 分区:
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的更多相关文章
- 野火 STM32MP157 开发板内核和设备树的编译烧写
一.环境 编译环境:Ubuntu 版本:18.4.6 交叉编译工具:arm-linux-gnueabihf-gcc 版本:7.4.1 开发板:STM32MP157 pro 烧写方式:STM32Cube ...
- TFTP启动内核、设备树,NFS启动FS
一.软硬件平台 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E6321. 二.问题 ...
- 我眼中的Linux设备树(五 根节点)
五 根节点一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是"/",至少需要包含model和compatible两个属性.model属性我们 ...
- Linux设备树(五 根节点)
五 根节点 一个最简单的设备树必须包含根节点,cpus节点,memory节点.根节点的名字及全路径都是“/”,至少需要包含model和compatible两个属性.model属性我们在属性那节已经说过 ...
- 基于tiny4412的Linux内核移植 -- 设备树的展开
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...
- 基于tiny4412的Linux内核移植 -- 设备树的展开【转】
转自:https://www.cnblogs.com/pengdonglin137/p/5248114.html#_lab2_3_1 阅读目录(Content) 作者信息 平台简介 摘要 正文 一.根 ...
- 嵌入式Linux驱动学习之路(八)创建最小的根文件系统
busybox 在配置busybox,在是否选择要静态链接库时,在静态下,busybox中的工具不需要动态链接库,能够直接运行.而用户自己编写的程序如果需要动态链接库,还是依然需要有. 如果是动态链接 ...
- 关于用wubi安装Ubuntu,总是提示“没有定义根文件系统”的问题
用diskgenius测试一下分区问题,就发现一些错误,所以怀疑可能就是因为这个分区参数错误导致WUBI安装不成功,费了大力气转移数据后,重新对硬盘分区,这里称赞一下diskgenius,的确不错,当 ...
- windows系统中在jupyter安装虚拟环境内核
一.在jupyter中安装虚拟环境内核 1.创建Python3虚拟环境 参考本文其他博客 2.进入虚拟环境 3.安装jupyter pip install jupyter 4.添加当前环境到jupyt ...
随机推荐
- Java 编写过滤手机号码或者固定电话的工具类
以下是分享自己编写的用于过滤手机号码.固定电话.黑名单的工具类TelCheckUtils, import java.util.HashSet; import java.util.Set; import ...
- SpringBoot2.x整合定时任务和异步任务处理
SpringBoot2.x整合定时任务和异步任务处理 一.项目环境 springboot2.x本身已经集成了定时任务模块和异步任务,可以直接使用 二.springboot常用定时任务配置 1.在启动类 ...
- Xcode开发时碰到的问题
1.打包成功后,发布到蒲公英上,显示"未签名,只能越狱手机可以安装". 出现这个问题,是因为打包的时候签名没有获取到.下面是配置签名的大概步骤. 打包的时候需要点击左上角选择这个设 ...
- 什么是restful风格?
文章参考 RESTful API 设计指南--阮一峰 概念 一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更 ...
- DNS安装配置主从
准备环境 关闭防火墙 挂载一下 更改配置文件 安装dns服务 更改配置文件 先复制保存一份
- plsql exception
EXCEPTION aligns with BEGIN ... END blocks. There is no BEGIN inside your loop, so there should be n ...
- PyTorch 计算机视觉的迁移学习教程代码详解 (TRANSFER LEARNING FOR COMPUTER VISION TUTORIAL )
PyTorch 原文: https://pytorch.org/tutorials/beginner/transfer_learning_tutorial.html 参考文章: https://www ...
- Java方式bean的注入以及自动配置
Java配置 Java配置的本质上,就是使用一个Java类去代替xml配置,这种配置方式在目前最主流的Spring Boot中得到了广泛的使用.1.引入相关Spring相关依赖 2.创建Java配置类 ...
- 团队冲刺DAY5
团队冲刺DAY5 今天的内容是组件和事件处理这一部分,也就是需要扣一个消息系统的图形界面. 提到这部分,就不得不说Java Swing. 常用组件及部件 JTextField:文本框 JTextAre ...
- 几个可以通过curl查询公网IP的站点
通过命令行获取公网ip 非常实用分享给大家实例: [root@T900 ~]# curl cip.cc IP : 119.29.29.29 地址 : 中国 广东省 广州市 运营商 : 腾讯网络 数据二 ...