| | |
| | | 从实验室 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 |
| | |
| | | │ ├── gen_patch.sh 生成补丁文件的Shell脚本 |
| | | │ └── igkboard-6ull IGKBoard-6ULL开发板补丁文件存放目录 |
| | | ├── tools 编译系统工具脚本存放目录 |
| | | ├── imgmnt 挂载系统镜像的工具脚本 |
| | | └── setup_tools.sh 编译环境安装的脚本 |
| | | | ├── imgmnt 挂载系统镜像的工具脚本 |
| | | | └── setup_tools.sh 编译环境安装的脚本 |
| | | ├── yocto Yocto源码编译的工作目录 |
| | | └── build.sh Yocto源码一键编译脚本 |
| | | ``` |
| | | |
| | | |
| | |
| | | |
| | | |
| | | |
| | | 下面是当前各发行版本支持的版本: |
| | | 下面是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 |
| | |
| | | |
| | | |
| | | |
| | | ## 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 |
| | |
| | | |
| | | |
| | | |
| | | ## 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 |
| | |
| | | |
| | | |
| | | |
| | | # 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** 根文件系统树源码压缩包 |