本帖最后由 风精灵 于 2025-1-10 16:51 编辑
在数字多媒体应用领域,RK3588处理器以其低功耗和高性能的特点,正逐渐成为众多基于ARM的设备核心。然而,设备的启动方式对于其整体性能和用户体验至关重要。TF卡(Micro SD卡)启动作为一种灵活、经济的解决方案。通过TF卡启动,开发者可以轻松地更换或更新系统镜像,提高设备的灵活性和适应性。本文将详细介绍如何在ELF 2设备上实现TF卡启动。 为了更直观地观察启动现象,我们采用了以下配置:板卡通过eMMC启动的是基于Buildroot构建的文件系统,而通过TF卡启动的则是Desktop系统。
一、拷贝源码程序源码:ELF 2开发板资料包\02-Linux源代码\02-0 SDK源码\ELF2-linux-source.tar.bz2.0* 在家目录下创建work工作目录。 elf@ubuntu:~$ mkdir work //按照顺序创建工作目录 将用户资料中的源码文件ELF2-linux-source.tar.bz2.0* 拷贝到虚拟机/home/elf/work目录。
elf@ubuntu:~$ cd work/ //切换到工作目录 elf@ubuntu:~/work$ cat ELF2-linux-source.tar.bz2.0* > ELF2-linux-source.tar.bz2 elf@ubuntu:~/work$ tar -xvf ELF2-linux-source.tar.bz2 //在当前位置解压压缩包 运行命令后等待完成即可。
二、修改设备树文件TF卡中文件系统所在分区为/dev/mmcblk1p6 emmc文件系统所在分区为/dev/mmcblk0p6 TF卡启动需要修改在设备树文件,将设备树中定义的文件系统的分区改为/dev/mmcblk1p6 elf@ubuntu:~/work$ cd ELF2-linux-source/ elf@ubuntu:~/work/ELF2-linux-source$ vi kernel/arch/arm64/boot/dts/rockchip/elf2-kernel.dts 修改之后全编译,生成新的update.img制作启动卡。
三、编译在源码路径内,提供了编译脚本build.sh,运行该脚本对整个源码进行编译, elf@ubuntu: ~/work/ELF2-linux-source$ ./build.sh chip
①首先选择编译平台,输入 1 选择 ELF 2板卡; ②接着选择编译的文件系统:ELF2支持两种文件系统。若要编译Ubuntu 22.04文件系统,请输入1,选择对应的 elf2_desktop_defconfig 配置文件;若要编译buildroot来构建文件系统,请输入2,选择对应的 elf2_sdkbuild_defconfig 配置文件。 ③选择之后,使用build.sh进行全编译。 elf@ubuntu: ~/work/ELF2-linux-source$ ./build.sh
编译时间比较久,请耐心等待,编译成功后,系统镜像将在rockdev文件夹下生成。 rockdev文件夹中的镜像文件均为软链接,目标文件所在路径如下: update.img | ELF2-linux-source/output/update/Image/update.img | | ELF2-linux-source/u-boot/uboot.img | | ELF2-linux-source/kernel/boot.img | | Ubuntu22.04文件系统:ELF2-linux-source/ubuntu/jammy-rootfs.img Buildroot文件系统:ELF2-linux-source/buildroot/output/elf2_fs/images/rootfs.ext2 |
四、制作启动卡将ELF 2开发板资料包\06-常用工具\06-3 烧写工具\TF卡烧写\SDDiskTool_v1.78.zip拷贝到windows任意目录。以管理员权限运行SD_Firmware_Tool.exe。 将TF卡通过读卡器连接至电脑的USB接口,选择磁盘设备,点击恢复磁盘,会将磁盘设备格式化为FAT32格式。
注意:本次测试使用的为16GB的TF卡,建议使用32GB以下的TF卡。
格式化完成之后,勾选SD卡启动,选择全编译生成的固件update.img,点击开始创建。 五、TF卡启动板卡默认是emmc,eMMC启动的是基于Buildroot构建的文件系统,如下图所示: 将制好的启动卡插到板卡上,重新启动,接上调试串口,显示的是elf2-desktop login,如下图所示,说明成功启动TF卡中的系统, 至此,就已完成了通过TF卡启动ELF 2学习板的介绍。 |