From e8a7f91c44d7c2d600ab56b1a2d1a0cc9adbfb2a Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Mon, 06 Nov 2023 11:02:27 +0800 Subject: [PATCH] Add driver user space test code --- README.md | 88 ++++++++++++++++++++++++++++++++++--------- 1 files changed, 69 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index af4082d..bb7e6fb 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ 从实验室 git 仓库下载相应版本的 BSP(Board Support Package) 文件. ``` -guowenxue@ubuntu22:~$ git clone -b lf-5.15.71-2.2.0 http://guowenxue@main.iot-yun.club:8088/r/bsp-imx.git igkboard-imx6ull +guowenxue@ubuntu22:~$ git clone http://main.iot-yun.club:8088/r/bsp-imx.git igkboard-imx6ull guowenxue@ubuntu22:~$ cd igkboard-imx6ull && ls bootloader config.json images kernel tools yocto @@ -32,8 +32,10 @@ │ ├── gen_patch.sh 生成补丁文件的Shell脚本 │ └── igkboard-6ull IGKBoard-6ULL开发板补丁文件存放目录 ├── tools 编译系统工具脚本存放目录 - ├── imgmnt 挂载系统镜像的工具脚本 - └── setup_tools.sh 编译环境安装的脚本 +| ├── imgmnt 挂载系统镜像的工具脚本 +| └── setup_tools.sh 编译环境安装的脚本 +├── yocto Yocto源码编译的工作目录 + └── build.sh Yocto源码一键编译脚本 ``` @@ -128,25 +130,33 @@ -下面是当前各发行版本支持的版本: +下面是IGKBoard当前支持BSP版本及它与Yocto/Android的对应版本关系: -| 发行版本(distro) | 版本号(version) | -| ---------------- | ------------------------------ | -| yocto | hardknott、honister、kirkstone | -| buildroot | v2023.02 | -| debian | | +| IMX BSP Version | Yocto Version | Android Version | +| ---------------- | ------------------ | --------------- | +| lf-6.1.22-2.0.0 | Langdale(4.1) EOL | | +| lf-5.15.71-2.2.0 | Kirkstone(4.0) LTS | 13.0.0_1.2.0 | -## 3.3 编译Bootloader +下面是IGKBoard当前支持的发行版本及相应版本号: + +| 发行版本(distro) | 版本号(version) | +| ---------------- | --------------------------------- | +| **Yocto** | *kirkstone(4.0)*、*langdale(4.1)* | +| **Buildroot** | *v2023.02* | +| **Debian** | *bullseye(11)*、*bookworm(12)* | + + + +## 2.3 编译Bootloader 到 **bootloader** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载源码文件、打补丁、编译,并将编译生成的相关文件拷贝到 **install** 文件夹下。 ``` -guowenxue@ubuntu22:~/igkboard-imx6ull$ cd bootloader/ -guowenxue@ubuntu22:~/igkboard-imx6ull/bootloader$ ls +guowenxue@ubuntu22:~/igkboard-imx6ull$ cd bootloader && ls build.sh patches guowenxue@ubuntu22:~/igkboard-imx6ull/bootloader$ ./build.sh @@ -159,15 +169,14 @@ -## 3.4 编译Linux内核 +## 2.4 编译Linux内核 到 **kernel** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载源码文件、打补丁、编译,并将编译生成的相关文件拷贝到 **install** 文件夹下。 ``` -guowenxue@ubuntu22:~/igkboard-imx6ull$ cd kernel/ -guowenxue@ubuntu22:~/igkboard-imx6ull/kernel$ ls +guowenxue@ubuntu22:~/igkboard-imx6ull$ cd kernel && ls build.sh patches guowenxue@ubuntu22:~/igkboard-imx6ull/kernel$ ./build.sh @@ -180,15 +189,14 @@ -## 3.5 制作系统镜像 +## 2.5 制作系统镜像 到 **images** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载相应发行版本的根文件系统源码,并将编译生成的镜像文件拷贝到 **install** 文件夹下。需要注意的是,该脚本必须以 root 权限来执行。 ``` -guowenxue@ubuntu22:~/igkboard-imx6ull$ cd images/ -guowenxue@ubuntu22:~/igkboard-imx6ull/images$ ls +guowenxue@ubuntu22:~/igkboard-imx6ull$ cd images && ls build.sh guowenxue@ubuntu22:~/igkboard-imx6ull/images$ sudo ./build.sh @@ -202,5 +210,47 @@ -# 3. Yocto源码编译 +## 2.6 编译Yocto源码 + + +如果想要源码编译Yocto系统的话,则Linux主机服务器需满足如下条件: + +* 系统能够代理翻墙访问 github; +* 推荐使用 8核以上CPU、16GB以上内存; +* 硬盘空闲空间至少要求 200GB+; +* 推荐使用 Ubuntu 20.04 系统及以上; + + + +首先运行 ***`proxy`*** 命令使能代理翻墙访问 github,因为编译的过程中会从 github 上下载大量的源代码. + +``` +guowenxue@ubuntu22:~$ proxy +``` + +注:该命令并不是标准的Linux系统命令,而是我们服务器上翻墙访问 github 的命令. + + + +到 **yocto** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载Yocto源码并编译生成系统镜像,相关文件将会安装到 **install** 文件夹下。 + +``` +guowenxue@ubuntu22:~/igkboard-imx6ull$ cd yocto && ls +build.sh + +guowenxue@ubuntu22:~/igkboard-imx6ull/yocto$ ./build.sh + start build Yocto kirkstone for igkboard-6ull + start fetch Yocto kirkstone source code + start fetch source code +... ... + Yocto(kirkstone) installed to '/home/guowenxue/igkboard-imx6ull/yocto/install' +rootfs-yocto-kirkstone.tar.zst u-boot-igkboard-6ull.imx yocto-image-kirkstone.wic.zst +``` + + + +* **u-boot-igkboard-6ull.imx** U-boot镜像文件 +* **yocto-image-kirkstone.wic.zst** 烧录到 eMMC或TF 卡上的系统镜像压缩文件 + +* **rootfs-yocto-kirkstone.tar.zst** 根文件系统树源码压缩包 -- Gitblit v1.9.1