凌云实验室IGKBoard开发板BSP开发相关文件
guowenxue
2023-12-12 62e6aa1425b2d347bebc370f0ca53fec914b3fd6
README.md
@@ -5,10 +5,10 @@
从实验室 git 仓库下载相应版本的 BSP(Board Support Package) 文件.
```
guowenxue@ubuntu22:~$ git clone -b lf-5.15.71-2.2.0 http://main.iot-yun.club:8088/r/bsp-imx.git igkboard-imx6ull
guowenxue@ubuntu22:~$ git clone http://main.iot-yun.club:8088/r/igkboard-bsp.git igkboard-6ull
guowenxue@ubuntu22:~$ cd igkboard-imx6ull && ls
bootloader  config.json  images  kernel  tools  yocto
guowenxue@ubuntu22:~$ cd igkboard-6ull && ls
README.md  bootloader  config.json  images  kernel  tools  yocto
```
@@ -16,7 +16,7 @@
下面是这些文件的说明.
```
guowenxue@ubuntu22:~/igkboard-imx6ull$ tree
guowenxue@ubuntu22:~/igkboard-6ull$ tree
.
├── bootloader              Bootloader源码编译的工作目录
│   ├── build.sh              Bootloader的一键编译脚本
@@ -64,8 +64,8 @@
进入到 tools 目录下,并以 sudo 权限运行该脚本,它将会自动安装编译BSP源码所需要的系统软件和交叉编译器。
```
guowenxue@ubuntu22:~/igkboard-imx6ull$ cd tools/
guowenxue@ubuntu22:~/igkboard-imx6ull/tools$ sudo ./setup_tools.sh
guowenxue@ubuntu22:~/igkboard-6ull$ cd tools/
guowenxue@ubuntu22:~/igkboard-6ull/tools$ sudo ./setup_tools.sh
 --I-- start apt install system tools(commands)
... ...
@@ -91,11 +91,11 @@
根据自己的开发板和实际需求,修改下面的开发板、BSP版本以及系统镜像的相关配置。
```
guowenxue@ubuntu22:~/igkboard-imx6ull$ vim config.json
guowenxue@ubuntu22:~/igkboard-6ull$ vim config.json
{
    "bsp":
    {
        "board":"IGKBoard-6ULL",
        "board":"igkboard-6ull",
        "version":"lf-5.15.71-2.2.0",
        "download":"http://main.iot-yun.club:2211/imx/",
        "crosstool":"/opt/gcc-aarch32-10.3-2021.07/bin/arm-none-linux-gnueabihf-"
@@ -114,29 +114,38 @@
下面是配置文件中 **bsp配置选项** 的说明,该选项将影响 BSP 源码的编译:
* **board**    指定目标开发板,当前支持 ***igkboard-6ull 和  igkboard-8mp***;
* **version**  指定编译的BSP版本,如 ***lf-5.15.71-2.2.0***。具体支持哪些版本,请使用 **`git branch -r`**查看;
* **download** 指定BSP源码压缩包或其他相关文件的下载服务器;
* **board**      指定目标开发板。当前支持 ***igkboard-6ull 和  igkboard-8mp***;
* **version**    指定编译的BSP版本。具体支持哪些版本,请查看`kernel/patches/`文件夹下相应开发板补丁文件;
* **download**   指定BSP源码压缩包或其他相关文件的下载服务器;
* **crosstool**  指定Bootloader和Linux内核的交叉编译器,前面的编译环境搭建中已安装;
下面是配置文件中 **system配置选项** 的说明,该选项将影响烧到eMMC/TF卡上的系统镜像文件。
* **distro**    指定Linux系统发行版本,当前支持 ***buildroot、yocto 和  debian***;
* **version**  指定相应发行版本的版本,具体支持见下表;
* **imgsize** 指定制作生成的系统镜像大小;
* **distro**    指定Linux系统发行版本,当前支持 ***yoctot、debian 和  buildroot***;
* **version**   指定相应发行版本的版本,具体支持见下表;
* **imgsize**   指定制作生成的系统镜像大小;
* **bootsize**  指定生成的系统镜像的BOOT(FAT32)分区大小;
下面是当前各发行版本支持的版本:
下面是IGKBoard当前支持BSP版本及它与Yocto/Android的对应版本关系:
| 发行版本(distro) | 版本号(version)                |
| ---------------- | ------------------------------ |
| yocto            | hardknott、honister、kirkstone |
| buildroot        | v2023.02                       |
| debian           |                                |
| IMX BSP Version  | Yocto Version       | Android Version |
| ---------------- | ------------------- | --------------- |
| lf-6.1.36-2.1.0  | Mickledore(4.2) NEW | 13.0.0-2.2.0    |
| lf-5.15.71-2.2.0 | Kirkstone(4.0) LTS  | 13.0.0-1.2.0    |
下面是IGKBoard当前支持的发行版本及相应版本号:
| 发行版本(distro) | 版本号(version)                     |
| ---------------- | ----------------------------------- |
| **Yocto**        | *kirkstone(4.0)*、*mickledore(4.2)* |
| **Debian**       | *bullseye(11)*、*bookworm(12)*      |
| **Buildroot**    | *v2023.02*                          |
@@ -147,14 +156,14 @@
到 **bootloader** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载源码文件、打补丁、编译,并将编译生成的相关文件拷贝到 **install** 文件夹下。
```
guowenxue@ubuntu22:~/igkboard-imx6ull$ cd bootloader && ls
guowenxue@ubuntu22:~/igkboard-6ull$ cd bootloader && ls
build.sh  patches
guowenxue@ubuntu22:~/igkboard-imx6ull/bootloader$ ./build.sh
guowenxue@ubuntu22:~/igkboard-6ull/bootloader$ ./build.sh
 start build bootloader for igkboard-6ull
 start fetch uboot-imx source code
 ... ...
bootloader installed to '/home/guowenxue/igkboard-imx6ull/bootloader/install'
bootloader installed to '/home/guowenxue/igkboard-6ull/bootloader/install'
u-boot-igkboard-6ull.imx
```
@@ -167,14 +176,14 @@
到 **kernel** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载源码文件、打补丁、编译,并将编译生成的相关文件拷贝到 **install** 文件夹下。
```
guowenxue@ubuntu22:~/igkboard-imx6ull$ cd kernel && ls
guowenxue@ubuntu22:~/igkboard-6ull$ cd kernel && ls
build.sh  patches
guowenxue@ubuntu22:~/igkboard-imx6ull/kernel$ ./build.sh
guowenxue@ubuntu22:~/igkboard-6ull/kernel$ ./build.sh
 start build linux kernel for igkboard-6ull
 start fetch linux-imx source code
 ... ...
linux kernel installed to '/home/guowenxue/igkboard-imx6ull/kernel/install'
linux kernel installed to '/home/guowenxue/igkboard-6ull/kernel/install'
igkboard-6ull.dtb  lib  overlays  zImage
```
@@ -187,14 +196,14 @@
到 **images** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载相应发行版本的根文件系统源码,并将编译生成的镜像文件拷贝到 **install** 文件夹下。需要注意的是,该脚本必须以 root 权限来执行。
```
guowenxue@ubuntu22:~/igkboard-imx6ull$ cd images && ls
guowenxue@ubuntu22:~/igkboard-6ull$ cd images && ls
build.sh
guowenxue@ubuntu22:~/igkboard-imx6ull/images$ sudo ./build.sh
guowenxue@ubuntu22:~/igkboard-6ull/images$ sudo ./build.sh
 start build yocto-kirkstone for igkboard-6ull
 start fetch rootfs-yocto-kirkstone source code
... ...
system images installed to '/home/guowenxue/igkboard-imx6ull/images/install'
system images installed to '/home/guowenxue/igkboard-6ull/images/install'
igkboard-6ull-yocto-kirkstone-lf-5.15.71-2.2.0.img  u-boot-igkboard-6ull.imx
... ...
```
@@ -227,21 +236,20 @@
到 **yocto** 文件夹下执行 ***build.sh*** 脚本,它将会自动下载Yocto源码并编译生成系统镜像,相关文件将会安装到  **install** 文件夹下。
```
guowenxue@ubuntu22:~/igkboard-imx6ull$ cd yocto && ls
guowenxue@ubuntu22:~/igkboard-6ull$ cd yocto && ls
build.sh
guowenxue@ubuntu22:~/igkboard-imx6ull/yocto$ ./build.sh
guowenxue@ubuntu22:~/igkboard-6ull/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'
 Yocto(kirkstone) installed to '/home/guowenxue/igkboard-6ull/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 卡上的系统镜像压缩文件
* **u-boot-igkboard-6ull.imx**           U-boot镜像文件
* **yocto-image-kirkstone.wic.zst**      烧录到 eMMC或TF 卡上的系统镜像压缩文件
* **rootfs-yocto-kirkstone.tar.zst**     根文件系统树源码压缩包