[2020.09.12 - xhr4412] 移植 u-boot-2020.07 & linux-5.8.5 & BusyBox-1.31.1 到 iTOP-4412 汇总
文章目录2020-09-12前言一、链接二、源码使用三、注意事项2020-09-12前言开始移植:2020-07-25初版发布:2020-09-12 通过一段时间的移植,学到了不少东西,目前的初版还不算完美,可以完整的启动 linux kernel 到根文件系统。还有很多设备还不能使用,以后再将其他设备用起来。 如果有问题,请私信我,谢谢。一、链接[u-boot 2020.07] READ
2020-09-12
前言
开始移植:2020-07-25
初版发布:2020-09-12
通过一段时间的移植,学到了不少东西,目前的初版还不算完美,可以完整的启动 linux kernel 到根文件系统。还有很多设备还不能使用,以后再将其他设备用起来。
如果有问题,请私信我,谢谢。
一、链接
- [u-boot 2020.07] README
- 移植 u-boot-2020.07 到 iTOP-4412(一)地址无关码点灯
- 移植 u-boot-2020.07 到 iTOP-4412(二)地址相关码 boot
- 移植 u-boot-2020.07 到 iTOP-4412(三)电源管理、时钟、内存初始化
- 移植 u-boot-2020.07 到 iTOP-4412(四)重定位、UART
- 移植 u-boot-2020.07 到 iTOP-4412(五)支持中断
- 移植 u-boot-2020.07 到 iTOP-4412(六)使用 UART 中断进行优化
- 移植 u-boot-2020.07 到 iTOP-4412(七)DM
- 移植 u-boot-2020.07 到 iTOP-4412(八)fastboot & boot from EMMC
- 移植 linux-5.8.5 到 iTOP-4412(一)build & config
- 移植 linux-5.8.5 到 iTOP-4412(二)boot from emmc
- 移植 u-boot-2020.07 到 iTOP-4412(九)eMMC partition
- 移植 BusyBox-1.31.1 到 iTOP-4412(一)下载 & 编译 & rootfs
- 移植 BusyBox-1.31.1 到 iTOP-4412(二)问题联调
二、源码使用
-
提取码:请评论留下邮箱或 加Q群(903586155验证码xhr4412)
源码包含:
- compiler:gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf
- u-boot:xhr4412-u-boot-2020.07
- linux:xhr4412-linux-5.8.5
- rootfs:xhr4412-busybox-1.31.1
- bin:已经编译好的镜像
- ADB 驱动、串口工具、win-fastboot、其他
- 将来所有扩展及更新
如果已经安装 DTC 等工具,解压后使用 . build_all.sh
即可,如果遇到报错可能需要手动安装一些工具,编译成功后会在当前目录生成四个 bin 文件。
需要准备:
- 安装 ADB 驱动
- 如果
tools/win-fastboot/cmd.exe
打不开或是其他情况,可以找到本机的cmd.exe
复制过去。 - 串口工具波特率设置为 460800 !!!
- TF - card,otg data line
windows 上太难装adb了,不如用Ubuntu来的方便:
sudo apt-get install android-tools-adb android-tools-fastboot
使用方法是一样的:
fastboot flash kernel xhr4412-uImage.bin
烧写镜像:
1. 烧写 u-boot
将 TF 插入 Linux,使用 shell ./sdflush /dev/sdx
,sdx
为 TF 的设备文件。
2. 烧写所有
将开发板设置为 TF 启动,进入 u-boot 后,首先进行分区,然后连接 otg 数据线使用 fastboot 烧写。
2.1 u-boot
- 分区:
fdisk -c 0
- fastboot:
fastboot 0
此时 u-boot 已经准备好,在 windows 上进行连接。
2.2 win-fastboot
- 将上面的四个 bin 文件拷贝到
tools/win-fastboot
目录下,然后打开cmd.exe
- u-boot -
fastboot.exe flash bootloader xhr4412-uboot.bin
- linux -
fastboot.exe flash kernel xhr4412-uImage.bin
- dts -
fastboot.exe flash dtb xhr4412-dts.bin
- rootfs -
fastboot.exe flash system xhr4412-system.bin
并且观察 u-boot 和 cmd 上的显示,看是否都有烧写成功。
如果都成功,就可以将开发板设置为 emmc 启动。
u-boot
linux kernel
rootfs
三、注意事项
itop4412 的板子好像还有支持 16G emmc,因为我的是 8G,我没有去适配 16G,不知道会不会影响使用。
串口使用 UART2,波特率为 460800,无校验,一停止位。如果你的串口无法使用比较高的波特率,请自行修改。
修改方法:
- u-boot:编译前修改
configs/xhr4412_defconfig
,找到 460800,改为 115200 。 - dts:编译前,在 linux 源码中,将
arch/arm/boot/dts/exynos4412-xhr-elite.dts
中的stdout-path
改为 115200 。
以上内容做为基础版本不再修改,以后有其他拓展功能更新会汇总在下面。
2020-09-24
- [xhr4412][extension 1] 网络环境配置,ping 外网
- [xhr4412][extension 2] NFS & NFS rootfs
- [xhr4412][extension 3] u-boot partition enhancement
- [xhr4412][extension 4] u-boot-2020.07 DM9621 网卡驱动移植
更新主要内容:
- 根文件系统配置网络,能够使用 NFS
- u-boot 分区子系统
- u-boot 支持网络命令,使用 usb 网口下载程序
u-boot 使用网络命令:
- 使用
run usb
命令,会看到扫描到三个设备 - 修改
path_
开头的几个环境变量路径 - 服务器端打开 nfs 服务
- 运行
run getuboot
run getkernel
等命令下载 image
2020-11-07
- [xhr4412][extension 5] 使用 SSH 登录 xhr4412
- [xhr4412][practice] 设备树 GPIO 操作
- [xhr4412][practice] 设备树 GPIO 中断
- [xhr4412][practice] 设备树 GPIO 总结
- [xhr4412][abandon] 移植 mt6620 到 xhr4412
- [xhr4412][extension 6] 使用 Ralink USB_DEVICE(0x148f, 0x3070) 无线网卡
更新主要内容:
- 根文件系统可以使用 ssh 登录,用户名 root,密码 xhr
- 内核支持 rt2870 无线网卡
- 根文件系统可以使用 wpa_supplicant 连接 wifi
2020-11-29
- [xhr4412][extension 7] hostapd-2.9 dhcp-4.4.2 xhr4412 AP 模式 ,自动分配/获取IP地址
- [xhr4412][bug fix] Stuck in “Starting kernel …“ when boot linux-5.8.5 & DTS study
- [xhr4412][practice] pinctrl 流水灯
更新主要内容:
- 支持 DHCP,AP mode
- 修复启动 linux 时卡住的 BUG
2021-01-16
更新主要内容:
- 支持 LCD-4.3 & 触摸屏,可用 tslib 测试
2021-03-26
更新主要内容:
- 第一版可用的 ubuntu 20.04 文件系统,方便安装软件
- 启动 ssh 后,使用体验和 pc ubuntu 完全一致,飞一般的感觉
更多推荐
所有评论(0)