TinyVision 手动构建 Linux 6.1 + Debian 12 镜像
构建 SyterKit 作为 Bootloader
SyterKit 是一个纯裸机框架,用于 TinyVision 或者其他 v851se/v851s/v851s3/v853 等芯片的开发板,SyterKit 使用 CMake 作为构建系统构建,支持多种应用与多种外设驱动。同时 SyterKit 也具有启动引导的功能,可以替代 U-Boot 实现快速启动
获取 SyterKit 源码
SyterKit 源码位于GitHub,可以前往下载。
git clone https://github.com/YuzukiHD/SyterKit.git
从零构建 SyterKit
构建 SyterKit 非常简单,只需要在 Linux 操作系统中安装配置环境即可编译。SyterKit 需要的软件包有:
gcc-arm-none-eabi
CMake
对于常用的 Ubuntu 系统,可以通过如下命令安装
sudo apt-get update
sudo apt-get install gcc-arm-none-eabi cmake build-essential -y
然后新建一个文件夹存放编译的输出文件,并且进入这个文件夹
mkdir build
cd build
然后运行命令编译 SyterKit
cmake ..
make
编译后的可执行文件位于 build/app
中,这里包括 SyterKit 的多种APP可供使用。
这里我们使用的是 syter_boot
作为启 动引导。进入 syter_boot 文件夹,可以看到这些文件
由于 TinyVision 是 TF 卡启动,所以我们需要用到 syter_boot_bin_card.bin
编译 Linux-6.1 内核
由于 Debian 12 配套的内核是 Linux 6.1 LTS,所以这里我们选择构建 Linux 6.1 版本内核。
搭建编译环境
安装一些必要的安装包
sudo apt-get update && sudo apt-get install -y gcc-arm-none-eabi gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf build-essential libncurses5-dev zlib1g-dev gawk flex bison quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lsof
获取内核源码
内核源码托管在 Github 上,可以直接获取到,这里使用 --depth=1
指定 git 深度为 1 加速下载。
git clone http://github.com/YuzukiHD/TinyVision --depth=1
然后进入内核文件夹
cd kernel/linux-6.1
配置内核选项
应用 defconfig
CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm tinyvision_defconfig
进入 menuconfig
配置选项
CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm menuconfig
进入 General Setup ->
,选中 Control Group Support
前往 File Systems
找到 FUSE (Filesystem in Userspace) support
前往 File Systems
找到 Inotify support for userspace
编译内核
CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm