迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

时间:2022-01-25 20:05:39

1 烧写:

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

烧写和4412默认镜像的烧写类似,使用fastboot。

先更新uboot,用4412默认uboot更新支持设备树的uboot

用支持设备树的uboot烧写。

进入支持设备树的uboot控制台

支持设备树的uboot控制台,使用命令:fastboot 0

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

这里可能需要更新一下驱动,使用驱动精灵自动安装即可。

在cmd命令行,用fastboot烧写:

fastboot.exe flash bootloader u-boot-iTOP-4412.bin

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

fastboot.exe flash kernel uImage

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

fastboot.exe flash dtb exynos4412-itop-elite.dtb

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

fastboot.exe flash system system.img(文件系统用系统编程中,搭建好的最小linux系统)

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

fastboot reboot(可以直接断电重启)

启动测试:

开发板启动之后,会发现文件系统挂载不了,不能进入控制台提示找不到root device

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

2 修改配置文件arch/arm/configs/iTop-4412_scp_defconfig:

CONFIG_CMDLINE="root=/dev/mmcblk0p2 console=ttySAC2,115200 init=/linuxrc rootwait"

改为:

CONFIG_CMDLINE="root=/dev/mmcblk1p2 console=ttySAC2,115200 init=/linuxrc rootwait"

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

重新烧写,可以挂载,但是控制台一直有pid报错的信息打印。需要处理最小linux系统。

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

3 最小linux系统,重新编译烧写:

编译命令:make_ext4fs -s -l 314572800 -a root -L Linux system.img system

可以启动文件系统,但是控制台一直有打印信息

修改最小linux系统的启动文件,屏蔽掉。

vim etc/init.d/rcS 屏蔽:/dev/tty2~4

最小linux的控制台可以正常使用了。

发现新的问题,文件系统上无法新建文件夹:

在root=/dev/mmcblk1p2 后面添加 rw,

表示文件系统可读可写,否则只能读,就不能新建文件夹和文件。

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

4 再次烧写。

测试下tf卡(tf卡挂载OK)

mkdir /mnt/udisk1

mount /dev/mmcblk0p1 /mnt/udisk1(mmcblk0p1根据系统系统真实识别情况来选择)

 
迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程

完成到这一步,后面就可以开始正式学习设备树的主体知识了。

支持的功能:

1 uboot烧写功能正常;

2 内核和设备树正常;

3 文件系统可以正常使用。

topeetboard.com