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驱动开发。

  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值