跳转至

LINUX_SDK 编译

SDK(Software Development Kit,软件开发工具包)是一套为特定软件框架、硬件平台或操作系统提供的开发工具集合,旨在帮助开发者更高效地创建应用程序。

编译环境配置

在PC上安装Ubuntu,进行SDK编译。

  • 硬件:PC满足RAM ≥ 16 GB,CPU core ≥ 4,Hard Drive ≥ 500GB
  • 软件:Ubuntu 22.04,虚拟机磁盘空间分配 ≥ 200GB

配置安装:

Tip

安装依赖出现错误时,根据报错信息查找对应的依赖包。

sudo apt-get update
sudo apt install autoconf bc binfmt-support bison build-essential bzip2
sudo apt install chrpath cmake cpp-aarch64-linux-gnu curl device-tree-compiler diffstat
sudo apt install expat expect expect-dev fakeroot flex
sudo apt install g++ g++-multilib gawk gcc gcc-multilib git gnupg gperf gpgv2 imagemagick
sudo apt install lib32ncurses5-dev lib32readline-dev lib32z1-dev libgmp-dev 
sudo apt install libgucharmap-2-90-dev liblz4-tool libmpc-dev
sudo apt install libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-gtk3-dev 
sudo apt install libxml2 libxml2-utils live-build lzop
sudo apt install make module-assistant ncurses-dev openjdk-8-jdk 
sudo apt install patchelf pngcrush python2 python-is-python3 python-pip
sudo apt install qemu-user-static rsync schedtool squashfs-tools ssh sudo 
sudo apt install texinfo u-boot-tools unzip
sudo apt install xsltproc yasm zip zlib1g-dev pip
sudo apt-get install binfmt-support qemu-user-static --reinstall
sudo pip install pyelftools
sudo ln -s /usr/bin/python2 /usr/bin/python

获取 SDK 源码

Note

1.SDK不可放在共享目录下编译。
2.编译主机不可用ROOT账号登陆

1. 点击下载 Linux SDK 源码点击下载release_sdk.sh脚本,通常下载日期后缀最新文件。

2. 存放 tar.gz 包、md5sum 文件、release_sdk.sh 文件到编译主机同一级目录下。

t527-linux-*.tar.gz
t527-linux-*.md5sum
release_sdk.sh

3. 运行脚本还原 SDK 源码。

chmod +x ./release_sdk.sh
./release_sdk.sh

操作示意图:提示"All files processed successfully!"代表脚本运行成功。

image-20260106111618527

还原后的sdk源码目录:

image-20260106111738238

完整编译

Tip

目前T527 Linux SDK源码只维护Debian 11系统。

1. 进入SDK源码根目录,执行如下命令配置编译目标。

./build.sh lunch

选择配置文件,这份文件决定使用哪份DTS文件,这里我们选择第二份即可。

./build.sh lunch

You're building on Linux
Lunch menu...pick a combo:

1. BoardConfig-t527-default.mk
2. BoardConfig-t527-kickpi-k9.mk

2. 构建编译环境

./build.sh config

请按照下面的配置进行选择

./build.sh config

========ACTION List: mk_config ;========
options :
All available platform:
   0. android
   1. linux
Choice [linux]: 1
All available linux_dev:
   0. bsp
   1. dragonboard
   2. buildroot
   3. debian
Choice [debian]: 3
All available kern_name:
   0. linux-5.10
   1. linux-5.15
Choice [linux-5.15]: 1
All available ic:
   0. a523
   1. a527
   2. t527
Choice [t527]: 2
All available board:
   0. demo_linux_aiot
   1. demo_linux_aiot_nand
   2. demo_linux_aiot_spinand
Choice [demo_linux_aiot]: 0
All available flash:
   0. default
   1. nor
Choice [default]: 0
All available rootfs files:
   0. binary
   1. linaro-bullseye-gnome-arm64.tar.gz
   2. linaro-bullseye-lite-arm64.tar.gz
   3. linaro-bullseye-lxde-arm64.tar.gz
   4. linaro-bullseye-xfce-arm64.tar.gz
Choice [linaro-bullseye-lxde-arm64.tar.gz]: 3

3. 完整镜像编译。

./build.sh 

4. 打包镜像文件

./build.sh pack

5. 编译完成后镜像路径

out

单独编译

  • uboot 编译
./build.sh bootloader
  • kernel 编译
./build.sh kernel
  • Debian编译
./build.sh debian_rootfs