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”目录下的文件和文件夹

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

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/”目录下

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

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

回到第1个终端

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

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

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

输入密码“123456回车

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

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

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

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

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

6、卸载磁盘

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

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

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

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

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

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

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

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

8、烧录

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

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

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

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

5)、双击“STM32CubeProgrammer”图标

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

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)、点击“选择文件夹”

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

11)、点击“Download”

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

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“根文件系统”有哪些文件和目录

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

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)、查看运行结果:

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

输入“ifconfig -a”

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

输入“ifconfig eth0 up”

输入“ifconfig”

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

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

输入“ifconfig”

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

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

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第61步_“buildroot”构建根文件系统第3步_烧写根文件系统到EMMC中_并完善开发板配置_第15张图片

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

你可能感兴趣的:(产品研发,linux,STM32MP157,ubuntu,经验分享,烧录)