迅为4412开发板Linux设备树的镜像烧写和源码简单优化教程
1 烧写:
烧写和4412默认镜像的烧写类似,使用fastboot。
先更新uboot,用4412默认uboot更新支持设备树的uboot
用支持设备树的uboot烧写。
进入支持设备树的uboot控制台
支持设备树的uboot控制台,使用命令:fastboot 0
这里可能需要更新一下驱动,使用驱动精灵自动安装即可。
在cmd命令行,用fastboot烧写:
fastboot.exe flash bootloader u-boot-iTOP-4412.bin
fastboot.exe flash kernel uImage
fastboot.exe flash dtb exynos4412-itop-elite.dtb
fastboot.exe flash system system.img(文件系统用系统编程中,搭建好的最小linux系统)
fastboot reboot(可以直接断电重启)
启动测试:
开发板启动之后,会发现文件系统挂载不了,不能进入控制台提示找不到root device
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"
重新烧写,可以挂载,但是控制台一直有pid报错的信息打印。需要处理最小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,
表示文件系统可读可写,否则只能读,就不能新建文件夹和文件。
4 再次烧写。
测试下tf卡(tf卡挂载OK)
mkdir /mnt/udisk1
mount /dev/mmcblk0p1 /mnt/udisk1(mmcblk0p1根据系统系统真实识别情况来选择)
完成到这一步,后面就可以开始正式学习设备树的主体知识了。
支持的功能:
1 uboot烧写功能正常;
2 内核和设备树正常;
3 文件系统可以正常使用。
topeetboard.com