迅为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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人