| | |
| | |
|
| | | guowenxue@9d57f9229b66:~$ cd ~/igkboard-imx6ull/
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ ls bsp
|
| | | bootloader config.json debian drivers images kernel tools yocto
|
| | | ```
|
| | |
|
| | |
|
| | |
|
| | | 下面是编译系统各文件的简单介绍。
|
| | | 下面是BSP编译系统各文件的简单介绍。
|
| | |
|
| | | | 文件/文件夹 | 描述 |
|
| | | | --------------- | ------------------------------------------ |
|
| | |
| | | 下面是顶层编译系统的配置文件,默认为 ***IGKBoard-IMX6ULL*** 开发板的配置。
|
| | |
|
| | | ```json
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ cat config.json |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ cat config.json
|
| | | {
|
| | | "bsp":
|
| | | {
|
| | |
| | | * ***bsp.board*** 该选项指定要编译的目标开发板,具体支持哪些可以查看 `kernel/patches/` 文件夹下有哪些开发板文件夹.
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ ls kernel/patches/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ ls kernel/patches/
|
| | | alientek-imx6ull-v20 alientek-imx6ull-v24 gauguin-imx8mp gen_patch.sh igkboard-imx6ull igkboard-imx8mp
|
| | | ```
|
| | |
|
| | |
| | | * ***bsp.version*** 该选项指定要编译的Linux BSP版本,具体支持哪些可以查看 `kernel/patches/` 相应开发板下支持哪些补丁.
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ ls kernel/patches/igkboard-imx6ull/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ ls kernel/patches/igkboard-imx6ull/
|
| | | linux-imx-lf-6.1.36-2.1.0.patch
|
| | | ```
|
| | |
|
| | |
| | | 在开始编译之前,我们首先确定当前编译系统支持哪些BSP版本,这点可以通过查看相应开发板的补丁文件来获取。如下所示,当前 IGKBoard-IMX6ULL 只支持 lf-6.1.36-2.1.0 这个版本。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ ls kernel/patches/igkboard-imx6ull/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ ls kernel/patches/igkboard-imx6ull/
|
| | | linux-imx-lf-6.1.36-2.1.0.patch
|
| | | ```
|
| | |
|
| | |
| | | 下面是我配置的代理命令 **proxy** 用来代理访问 github,设置好后可以使用 **curl** 命令访问 google.com 来测试代理是否生效。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ proxy
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ proxy
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ curl google.com
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ curl google.com
|
| | | <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
|
| | | <TITLE>301 Moved</TITLE></HEAD><BODY>
|
| | | <H1>301 Moved</H1>
|
| | |
| | | 另外,也可以使用 **unproxy** 命令来取消命令行代理。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ unproxy |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ unproxy
|
| | | ```
|
| | |
|
| | |
|
| | |
| | | 在嵌入式BSP系统开发过程中,依赖很多的Linux系统命令及交叉编译器。在该编译系统的 ***tools*** 文件夹下,有一个 ***setup_tools.sh*** 脚本可以用来一键安装它们。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ ls tools/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ ls tools/
|
| | | imgmnt setup_tools.sh
|
| | | ```
|
| | |
|
| | |
| | | 接下来以 root 权限执行 ***tools/setup_tools.sh*** 脚本,来安装BSP源码编译所依赖的系统工具和交叉编译器,如果之前已经安装过则会自动跳过。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ cd tools/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ cd tools/
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/tools$ sudo ./setup_tools.sh |
| | | All system tools already installed, skip it |
| | | All development tools already installed, skip it |
| | | start download cross compiler from ARM Developer for Cortex-A core |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/tools$ sudo ./setup_tools.sh
|
| | | All system tools already installed, skip it
|
| | | All development tools already installed, skip it
|
| | | start download cross compiler from ARM Developer for Cortex-A core
|
| | | ... ...
|
| | | start decompress cross compiler for Cortex-A core
|
| | | ... ...
|
| | | cross compiler for Cortex-A installed to "/opt/gcc-aarch32-10.3-2021.07" successfully |
| | | cross compiler for Cortex-A installed to "/opt/gcc-aarch32-10.3-2021.07" successfully
|
| | | ```
|
| | |
|
| | |
|
| | |
| | | 在做好前面的配置后,编译 bootloader 的工作就非常简单了,我们只需要切换到 ***bootloader*** 文件夹下,执行 `build.sh` 脚本即可。它将会自动从配置的源码服务器上下载源码,并打上相应的补丁文件,开始漫长的编译工作。
|
| | |
|
| | | ``` bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ cd bootloader/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ cd bootloader/
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ ls
|
| | | build.sh patches
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ ./build.sh |
| | | start build bootloader for igkboard-imx6ull |
| | | start fetch uboot-imx source code |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ ./build.sh
|
| | | start build bootloader for igkboard-imx6ull
|
| | | start fetch uboot-imx source code
|
| | | ... ...
|
| | | do patch for uboot-imx now... |
| | | do patch for uboot-imx now...
|
| | | ... ...
|
| | | start build uboot-imx |
| | | start build uboot-imx
|
| | | ... ...
|
| | | MKIMAGE u-boot-dtb.imx
|
| | | OFCHK .config
|
| | | + cp u-boot-igkboard-imx6ull.imx /home/guowenxue/igkboard-imx6ull/bootloader/install
|
| | | + cp u-boot-igkboard-imx6ull.imx /home/guowenxue/igkboard-imx6ull/bsp/bootloader/install
|
| | | + set +x
|
| | |
|
| | | bootloader installed to '/home/guowenxue/igkboard-imx6ull/bootloader/install' |
| | | u-boot-igkboard-imx6ull.imx |
| | | bootloader installed to '/home/guowenxue/igkboard-imx6ull/bsp/bootloader/install'
|
| | | u-boot-igkboard-imx6ull.imx
|
| | | ```
|
| | |
|
| | |
|
| | |
| | | 编译完成后,生成的 bootloader 文件将会存放到自动创建的 ***install*** 文件夹下。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ ls install/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ ls install/
|
| | | u-boot-igkboard-imx6ull.imx
|
| | | ```
|
| | |
|
| | |
| | | 如果对 bootloader 源码有新的修改,我们可以使用 `./patches/gen_patch.sh` 脚本生成新的 patch 补丁文件。如果想保存该补丁文件,则可以替换 ***patches*** 文件夹下的相应文件。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ ./patches/gen_patch.sh uboot-imx/
|
| | | generate patch file |
| | | |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ ls |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ ./patches/gen_patch.sh uboot-imx/
|
| | | generate patch file
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ ls
|
| | | build.sh install patches tarballs uboot-imx uboot-imx-lf-6.1.36-2.1.0.patch
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ mv uboot-imx-lf-6.1.36-2.1.0.patch patches/igkboard-imx6ull/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ mv uboot-imx-lf-6.1.36-2.1.0.patch patches/igkboard-imx6ull/
|
| | | ```
|
| | |
|
| | |
|
| | |
| | | 另外使用 `build.sh -c` 命令可以一键清除所有编译产生的文件和源码。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ ./build.sh -c
|
| | | start clean bootloader |
| | | |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bootloader$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ ./build.sh -c
|
| | | start clean bootloader
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/bootloader$ ls
|
| | | build.sh patches
|
| | | ```
|
| | |
|
| | |
| | | 同样地,编译 Linux内核源码的工作也非常简单,我们只需要切换到 ***kernel*** 文件夹下,执行 `build.sh` 脚本即可。它将会自动从配置的源码服务器上下载源码,并打上相应的补丁文件,开始漫长的编译工作。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ cd kernel/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ cd kernel/
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ ls
|
| | | build.sh patches
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ ./build.sh |
| | | start build linux kernel for igkboard-imx6ull |
| | | start fetch linux kernel source code |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ ./build.sh
|
| | | start build linux kernel for igkboard-imx6ull
|
| | | start fetch linux kernel source code
|
| | | ... ...
|
| | | do patch for linux-imx now... |
| | | do patch for linux-imx now...
|
| | | ... ...
|
| | | start build linux-imx |
| | | start build linux-imx
|
| | | ... ...
|
| | | linux kernel installed to '/home/guowenxue/igkboard-imx6ull/kernel/install' |
| | | linux kernel installed to '/home/guowenxue/igkboard-imx6ull/bsp/kernel/install'
|
| | | igkboard-imx6ull.dtb lib overlays zImage
|
| | | ```
|
| | |
|
| | |
| | | 同样地,编译完成后生成的 linux内核文件将会存放到自动创建的 ***install*** 文件夹下。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ ls install/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ ls install/
|
| | | igkboard-imx6ull.dtb lib overlays zImage
|
| | | ```
|
| | |
|
| | |
| | | 如果对 Linux内核源码有新的修改,我们可以使用 `./patches/gen_patch.sh` 脚本生成新的 patch 补丁文件。如果想保存该补丁文件,则可以替换 ***patches*** 文件夹下的相应文件。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ ./patches/gen_patch.sh linux-imx/
|
| | | generate patch file |
| | | |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ ./patches/gen_patch.sh linux-imx/
|
| | | generate patch file
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ ls
|
| | | build.sh install linux-imx linux-imx-lf-6.1.36-2.1.0.patch patches tarballs
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ mv linux-imx-lf-6.1.36-2.1.0.patch patches/igkboard-imx6ull/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ mv linux-imx-lf-6.1.36-2.1.0.patch patches/igkboard-imx6ull/
|
| | | ```
|
| | |
|
| | |
|
| | |
| | | 另外使用 `build.sh -c` 命令可以一键清除所有编译产生的文件和源码。
|
| | |
|
| | | ```
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ ./build.sh -c
|
| | | start clean linux kernel |
| | | |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/kernel$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ ./build.sh -c
|
| | | start clean linux kernel
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/kernel$ ls
|
| | | build.sh patches
|
| | | ```
|
| | |
|
| | |
| | | 因为 Linux 系统镜像需要使用 **sudo** 和 **loop** 设备,所以这个需要在自己的虚拟机或实验室的编译服务器具有相应权限的账号下工作。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ cd images/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ cd images/
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/images$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/images$ ls
|
| | | build.sh
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/images$ sudo ./build.sh |
| | | Build system image yocto-mickledore-lf-6.1.36-2.1.0.img |
| | | INFO: download rootfs-yocto-mickledore.tar.zst form http://studio.xxx.com:2211 |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/images$ sudo ./build.sh
|
| | | Build system image yocto-mickledore-lf-6.1.36-2.1.0.img
|
| | | INFO: download rootfs-yocto-mickledore.tar.zst form http://studio.xxx.com:2211
|
| | | ... ...
|
| | | start generate empty system image |
| | | start generate empty system image
|
| | | ... ...
|
| | | start partition system image |
| | | losetup system image on loop4 |
| | | start partition system image
|
| | | losetup system image on loop4
|
| | | ... ...
|
| | | start format system image |
| | | start format system image
|
| | | ... ...
|
| | | start install u-boot image |
| | | start install u-boot image
|
| | | ... ...
|
| | | start install linux kernel images |
| | | update drivers in root filesystem |
| | | start install root filesystem |
| | | Build system image yocto-mickledore-lf-6.1.36-2.1.0.img done |
| | | Start bzip2 compress yocto-mickledore-lf-6.1.36-2.1.0.img |
| | | start install linux kernel images
|
| | | update drivers in root filesystem
|
| | | start install root filesystem
|
| | | Build system image yocto-mickledore-lf-6.1.36-2.1.0.img done
|
| | | Start bzip2 compress yocto-mickledore-lf-6.1.36-2.1.0.img
|
| | | ... ...
|
| | | Shell script exit now, do some clean work
|
| | | |
| | | kpartx -dv /dev/loop4 |
| | |
|
| | | kpartx -dv /dev/loop4
|
| | | del devmap : loop4p1
|
| | | del devmap : loop4p2
|
| | | losetup -d /dev/loop4 |
| | | losetup -d /dev/loop4
|
| | | ```
|
| | |
|
| | |
|
| | |
| | | 编译完成后,系统镜像和烧录所需要的文件将会存放到自动创建的 ***install*** 文件夹下。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/images$ ls install/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/images$ ls install/
|
| | | u-boot-igkboard-imx6ull.imx yocto-mickledore-lf-6.1.36-2.1.0.img.bz2
|
| | | ```
|
| | |
|
| | |
| | | 下面是 Yocto 源码编译的过程。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull$ cd yocto/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp$ cd yocto/
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/yocto$ ls
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/yocto$ ls
|
| | | build.sh meta-igkboard
|
| | |
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/yocto$ ./build.sh |
| | | start build Yocto mickledore for igkboard-imx6ull |
| | | start download fetch Yocto mickledore source code |
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/yocto$ ./build.sh
|
| | | start build Yocto mickledore for igkboard-imx6ull
|
| | | start download fetch Yocto mickledore source code
|
| | | ... ...
|
| | | Build directory is igkboard-imx6ull
|
| | | /home/guowenxue/igkboard-imx6ull/yocto/mickledore-lf-6.1.36-2.1.0
|
| | | /home/guowenxue/igkboard-imx6ull/bsp/yocto/mickledore-lf-6.1.36-2.1.0
|
| | | Welcome LingYun IoT Gateway Kit Board Yocto BSP
|
| | |
|
| | | The Yocto Project has extensive documentation about OE including a
|
| | |
| | | core-image-minimal
|
| | | imx-image-full
|
| | | ... ...
|
| | | |
| | | Yocto(mickledore) installed to '/home/guowenxue/igkboard-imx6ull/yocto/install' |
| | | Start bzip2 compress yocto-mickledore-lf-6.1.36-2.1.0.wic |
| | |
|
| | | Yocto(mickledore) installed to '/home/guowenxue/igkboard-imx6ull/bsp/yocto/install'
|
| | | Start bzip2 compress yocto-mickledore-lf-6.1.36-2.1.0.wic
|
| | | rootfs-yocto-mickledore.tar.zst u-boot-igkboard-imx6ull.imx yocto-mickledore-lf-6.1.36-2.1.0.wic.bz2
|
| | | ```
|
| | |
|
| | |
| | | 编译完成后,系统镜像和烧录所需要的文件将会存放到自动创建的 ***install*** 文件夹下。
|
| | |
|
| | | ```bash
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/yocto$ ls install/
|
| | | guowenxue@9d57f9229b66:~/igkboard-imx6ull/bsp/yocto$ ls install/
|
| | | rootfs-yocto-mickledore.tar.zst u-boot-igkboard-imx6ull.imx yocto-mickledore-lf-6.1.36-2.1.0.wic.bz2
|
| | | ```
|
| | |
|