跳到主要内容

Longan配置与编译

Longan 负责 T527 的 bootloader、kernel、BSP、设备树和固件打包素材。配置、编译和打包命令应在 longan 根目录执行。

进入Longan​

cd <ANDROID_TOP>/longan
pwd
ls build.sh bsp device kernel

选择方案​

./build.sh config

Linux BSP 方案的典型选择为:

platform : linux
linux_dev : bsp
kern_ver : linux-5.15
ic : t527
board : <BOARD>
flash : default

Android 方案的典型选择为:

platform : android
ic : t527
board : <BOARD>
flash : default

板型名称必须以当前源码弹出的列表为准。T527 分支中可能出现 demo、demo_car、demo_linux_aiot 或公司自定义方案。

配置完成后查看:

cat .buildconfig

重点确认:

LICHEE_PLATFORM
LICHEE_IC
LICHEE_BOARD
LICHEE_KERN_VER
LICHEE_KERN_DEFCONF
LICHEE_PACK_HOOK
LICHEE_OUT_DIR

常用命令​

命令作用
./build.sh config选择平台、芯片、板型和 Flash
./build.sh编译当前 Longan 方案
./build.sh bootloader单独编译 boot0、U-Boot 等启动组件
./build.sh kernel单独编译 kernel、BSP、DTS 和模块
./build.sh menuconfig打开内核配置界面
./build.sh saveconfig保存当前内核配置
./build.sh loadconfig <defconfig>加载指定 defconfig
./build.sh buildroot编译 Buildroot 方案
./build.sh buildroot_menuconfig打开 Buildroot 配置界面
./build.sh buildroot_saveconfig保存 Buildroot 配置
./build.sh packLinux 方案打包普通固件或按当前 hook 打包
./build.sh pack_debug生成调试串口配置的固件
./build.sh clean清理当前方案编译输出
./build.sh distclean清理更多构建输出和配置

Android 完整固件通常由 Android 顶层的 pack 或 build -p 完成;./build.sh pack 是否适用于当前 Android 分支,应以 .buildconfig 中的 pack hook 和项目脚本为准。

快捷目录命令​

部分 SDK 可以通过下面的环境脚本提供快捷命令:

source build/envsetup.sh

cbsp # 进入 BSP 驱动目录
ckernel # 进入当前 kernel 目录
cconfigs # 进入当前芯片/板级配置目录

若命令不存在,直接使用 cd 和 find,不要依赖快捷命令。

编译输出​

find out -maxdepth 5 -type f \
\( -name 'vmlinux' -o -name '*.dtb' -o -name '*.ko' -o -name '*.img' \) \
-print | head -100

常见输出包括:

longan/out/t527/<BOARD>/kernel/build/
longan/out/t527/<BOARD>/kernel/staging/
longan/out/t527/<BOARD>/pack_out/
longan/out/*.img

不同分支可能通过软链接提供 out/kernel 和 out/pack_out。