Linux第61步_“buildroot”构建根文件系统第3步_烧写根文件系统到EMMC中_并完善开发板配置

烧录到EMMC测试,还需进一步测试和配置。

1、删除rootfs”目录下的“rootfs.tar压缩包

打开第1个终端

输入“ls回车

输入“cd linux/回车”,切换到“linux”目录

输入“ls回车”,列出“linux”目录下的文件和文件夹

输入“cd nfs/回车”,切换到“nfs”目录

输入“ls回车”,列出“nfs”目录下的文件和文件夹

输入“cd rootfs/回车”,切换到“rootfs”目录

输入“ls回车”,列出“rootfs”目录下的文件和文件夹

输入“rm rootfs.tar/回车”,删除rootfs.tar压缩包

输入“ls回车”,列出“rootfs”目录下的文件和文件夹

输入“cd ../回车”,返回到“nfs”目录

输入“ls回车”,列出“nfs”目录下的文件和文件夹

2、将“rootfs.ext4”挂载在“/mnt/rootfs/”目录下

打开第2个终端

输入“ls回车

输入“cd linux/回车”,切换到“linux”目录

输入“ls回车”,列出“linux”目录下的文件和文件夹

输入“cd rootfs/回车”,切换到“rootfs”目录

输入“ls回车”,列出“rootfs”目录下的文件和文件夹

输入“mv rootfs.ext4 rootfs-busybox.ext4回车,将busybox生成的“rootfs.ext4”根文件系统重命名为“rootfs-busybox.ext4”。

输入“ls回车”,列出“rootfs”目录下的文件和文件夹

输入“dd if=/dev/zero of=rootfs.ext4 bs=1M count=1024回车”,分配1G空间给“rootfs.ext4”

输入“mkfs.ext4 -L rootfs rootfs.ext4回车”,将“rootfs.ext4”格式化

输入“ls -l回车”,查看“/home/zgq/linux/rootfs/”目录下的文件和文件夹

输入“sudo mount rootfs.ext4 /mnt/rootfs/回车”,将“rootfs.ext4”挂载在“/mnt/rootfs/”目录下

3、拷贝系统文件至“/mnt/rootfs/

回到第1个终端

输入“cd rootfs/回车”,切换到“rootfs”目录

输入“ls回车”,列出“rootfs”目录下的文件和文件夹

输入“sudo cp * /mnt/rootfs/ -drf 回车”,执行拷贝

输入密码“123456回车

5、查看挂载文件和和文件夹

输入“ls /mnt/rootfs/ -f回车”,查看“/mnt/rootfs/”目录下的文件和文件夹

输入“ls /mnt/rootfs/ -l回车

6、卸载磁盘

输入“cd /home/zgq/linux/rootfs/

输入“ls回车”,查看“/home/zgq/linux/rootfs/”目录下的文件和文件夹

输入“sudo umount /mnt/rootfs/回车”卸载掉“rootfs”

输入“ls -l回车”,查看“/home/zgq/linux/rootfs/”目录下的文件和文件夹

至此,我们生成新的“rootfs.ext4”,这个文件可以烧录到EMMC中。

7、使用“FileZilla”将“rootfs.ext4”下载到“windows”中。

8、烧录

1)、关闭虚拟机,防止开发板连接到虚拟机

2)、将开发板上拨码开关拨到“000”位置

3)、将USB导线连接电脑的USB3.0接口,另外一端连接开发板的USB OTG接口;

4)、将USB导线连接电脑的USB3.0接口,另外一端连接到开发板的USB TTL接口;

5)、双击“STM32CubeProgrammer”图标

6)、选择上图中的USB,然后点击“Connect”

7)、点击“刷新”,直到出现USB1,表示连接成功。

8)、点击“Open file”,找到

C:\Program Files\STMicroelectronics\images\my-tfa”目录下“tf-a.tsv”打开。

9)、点击“Browse”,打开

“C:\Program Files\STMicroelectronics\images\my-tfa”目录。

10)、点击“选择文件夹”

11)、点击“Download”

12)、点击“确定”

13)、将拨码开关设置为“010”

14)、按下开发板的“复位按钮”,重新启动开发板。

9、从EMMC启动测试

1)、在串口查看EMMC是否烧录了“uImage”和“stm32mp157d-atk.dtb”

输入“ext4ls mmc 1:2回车”查看EMMC分区2“内核镜像”有哪些文件和目录

发现“uImage”和“stm32mp157d-atk.dtb”

输入“ext4ls mmc 1:3回车”查看EMMC分区3“根文件系统”有哪些文件和目录

2)、设置“bootcmd和bootargs”这两个环境变量,从EMMC启动linux系统

输入setenv bootcmd 'ext4load mmc 1:2 c2000000 uImage;ext4load mmc 1:2 c4000000 stm32mp157d-atk.dtb;bootm c2000000 - c4000000'

输入setenv bootargs 'console=ttySTM0,115200 root=/dev/mmcblk1p3 rootwait rw'

输入saveenv,保存“bootcmd和bootargs”的值

输入boot,启动 Linux 系统

4)、查看运行结果:

输入“ifconfig -a”

输入“ifconfig eth0 up”

输入“ifconfig”

输入“udhcpc”,自动申请IP地址

输入“ifconfig”

至此,系统移植全部学习完了。

10、设置“bootcmd和bootargs”这两个环境变量,从网络启动linux系统

输入setenv bootcmd 'tftp c2000000 uImage;tftp c4000000 stm32mp157d-atk.dtb;bootm c2000000 - c4000000',设置从网络启动linux系统

输入“setenv bootargs 'console=ttySTM0,115200 root=/dev/nfs nfsroot=192.168.2.180:/home/zgq/linux/nfs/rootfs,proto=tcp rw ip=192.168.2.178:192.168.2.180:192.168.2.1:255.255.255.0::eth0:off'

回车

输入: saveenv,保存bootcmd的值

输入: boot,启动 Linux 系统

至此根文件系统学习完了,后面要学习linux驱动开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/475451.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue的生命周期图解

vue的生命周期图解 添加链接描述 vue的生命周期函数及过程的简述: vue的生命周期函数,其实就是vm的生命周期; 创建:beforeCreate、created 挂载:beforeMount、mounted 更新:beforeUpdate、updated [ˌʌpˈ…

Anaconda虚拟环境管理:指令总结!

哈喽大家好,我是chowley,这次来记录一个经典问题——python虚拟环境咋配? 当我们需要在同一台机器上同时运行多个项目时,经常会遇到Python环境不兼容的问题。比如,一个项目需要Python 2.7,而另一个项目需要…

RAG 排坑指南001——文档解析

序言 RAG搜索增强是一个极其简单的概念。简而言之就是将搜索召回的内容,送给模型润色,重新生成更好的答案。看似简单,实际做起来,就极其的复杂。想要做个演示demo也很简单,复杂的是如何把回答正确率提升到90以…

MOS管故障排查(G极电阻篇)

我们经常看到,在电源电路中,功率MOS管的G极经常会串联一个小电阻,几欧姆到几十欧姆不等,那么这个电阻用什么作用呢? 如上图开关电源,G串联电阻R13这个电阻的作用有2个作用:限制G极电流&#x…

在 CentOS 平台下安装与配置 MySQL 5.7.36

CentOS平台常用有三种MySQL安装方式,即RPM安装包、二进制压缩包和源码包。一般来讲,建议使用二进制压缩包,因为该版本比其他的分发版使用起来要简单灵活。本次实验在 CentOS 7.6 平台上选用二进制压缩包安装方式。 1、清理MySQL安装环境 Cent…

【C++杂货铺】string详解

目录 1. 基本概念: 1.1 本质: 1.2 string和char*区别: 1.3 特点: 2. 构造函数(初始化) 3. 赋值操作 4. 字符串拼接 5 查找 和 替换 6. 字符串比较 7. 字符存取 8. 插入和删除 ​9. 子串获取 🌈前言&#x…

JRT监听-PDF-Excel-Img

依赖全新设计,我们无需再顾虑历史兼容性的束缚;同时,基于多年来累积的深入需求理解,JRT监听机制巧妙地借助CMD命令模式,达成了监听的全面统一。无论是PDF、Excel还是图片文件,都不再需要特殊对待或额外区分…

[计算机网络]深度学习传输层TCP协议

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录专栏:深度学习传输层TCP协议 🎉欢迎大家点赞👍评论📝收藏⭐文章 [计算机网络]深度学习传输层TCP协议 前提概括一: TCP协议段格式二:确认应答三:超时重传四:…

JS进阶——垃圾回收机制以及算法

版权声明 本文章来源于B站上的某马课程,由本人整理,仅供学习交流使用。如涉及侵权问题,请立即与本人联系,本人将积极配合删除相关内容。感谢理解和支持,本人致力于维护原创作品的权益,共同营造一个尊重知识…

MySQL系列之索引入门(下)

前言 通过上文,我想各位盆友已熟悉MySQL的索引分类及其含义,那么如何合理的使用呢? 请继续围观此文,一探究竟! 一、创建索引 首先,我们一起学习索引是如何创建的,又有哪些方式。 1. create t…

P3817 小A的糖果题解

题目 小A有n个糖果盒,第i个盒中有颗糖果。 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中糖的个数之和都不大于x,至少得吃掉几颗糖。 输入输出格式 输入格式 输入的第一行是两个用空格隔开的整数&…

VQ23 请按城市对客户进行排序,如果城市为空,则按国家排序(order by和case when的连用)

代码 select * from customers_info order by (case when city is null then country else city end)知识点 order by和case when的连用