跳转至

LINUX_SDK 源码编译

编译环境

在PC上搭建环境,对 Android/Linux SDK进行编译。

环境准备

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

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

依赖安装

1. 进入Ubuntu,打开Terminal,切换为root用户

2. 依次输入下列命令安装依赖。

sudo apt install git bc bison build-essential curl flex libsdl1.2-dev 
sudo apt install g++-multilib gcc-multilib gnupg gperf libncurses5-dev 
sudo apt install imagemagick lib32ncurses5-dev lib32readline-dev squashfs-tools 
sudo apt install lib32z1-dev liblz4-tool xsltproc libssl-dev libwxgtk3.0-gtk3-dev
sudo apt install libxml2 libxml2-utils schedtool lzop pngcrush rsync 
sudo apt install yasm zip zlib1g-dev python3 device-tree-compiler 
sudo apt install python-pip gawk openjdk-8-jdk u-boot-tools patchelf expect
sudo pip install pyelftools

SDK源码获取

Note

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

1. 点击下载 SDK下载,拷贝源码压缩包到编译主机目录。

2. 进入源码所在目录,输入命令解压。

tar -zxvf *.tar.gz

3. 进入解压生成的a133-linux目录,输入命令恢复源码。

git reset --hard

首次编译配置

./build.sh lunch
======you are building a133 linux======

1. BoardConfig-a133-kickpi-k5.mk
2. BoardConfig-a133-kickpi-k5c.mk
which board would you like (1-2):    //选择根据板型K5或者K5C

image-20251106203134675

编译完整镜像

./build.sh 

生成的镜像位于a133-linux/out/update-a133-kickpi-k5-ubuntu16.04-lvds-7-1024-600-2025110620.img

image-20251107091114488

单独编译

单编 kernel

./build.sh kernel

单编 rootfs

./build.sh rootfs

Kconfig配置

kconfig 修改及保存

./build.sh config
cd kernel/linux-4.9/
make ARCH=arm64 menuconfig
cd -
./build.sh saveconfig

设备树路径

kickpi-k5c.dts/device/config/chips/a133/configs/c3/kickpi-k5c.dts

工具链

包路径

build/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz

编译后工具的路径

out/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu

常见问题

  • 提示缺少 event.c 文件问题?
aarch64-linux-gnu-gcc: error: /home/A/sdk/a133/a133-linux-test1/kernel/linux-4.9/modules/gpu/img-rgx/linux/rogue_km/binary_sunxi_linux_release/target_aarch64/kbuild/services/server/env/linux/event.c: No such file or directory

进行清除操作

./build.sh clean
  • Ubuntu 22.04无法打开Terminal?

在虚拟机页面按下ctrl+alt+F3,进入命令行模式,按照图示进行操作。

cd /etc/default
nano locale

en_US改为en_US.UTF-8,保存退出,输入reboot重启。