Ubuntu 系统编译
环境要求
- 主机环境:Ubuntu 22.04 LTS
- 网络环境:确保可以访问 Ubuntu 官方源
- 存储空间:至少 50GB 可用空间
- SDK 至少编译成功过 Buildroot 或者 Debian 系统一次
构建方式一:通过 SDK 构建系统(推荐)
拉取Ubuntu文件
在 SDK 根目录下执行:
bash
git clone .repo/projects/ubuntu22.04-rootfs.git ubuntu1
设置编译环境
去到ubuntu目录下
shell
cd /path/to/tspi_linux_sdk_xxxxxxxx/ubuntu1
配置环境(一次性)
bash
sudo apt update && sudo apt full-upgrade && sudo ./host_check.sh && sudo pip3 install pyelftools && sudo ln -sf /usr/bin/python3 /usr/bin/python && sudo sed -i -e '/\%sudo/ c \%sudo ALL=(ALL) NOPASSWD: ALL' /etc/sudoers && sudo usermod -a -G sudo $USER && exec su - $USER1
如果在运行时出现
sudo: ./host_check.sh:找不到命令,那就执行chmod +x host_check.sh来添加执行权限 如果在运行期间存在未通过的检测项, 请根据提示修复后重新执行
生成 deb 包
去到 SDK 内核下
shell
cd /path/to/tspi_linux_sdk_xxxxxxxx/kernel-6.11
生成 deb 包
bash
make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64 LOCALVERSION="" bindeb-pkg -j$(nproc)1
编译完成后会在 SDK 根目录生成:
- linux-headers-6.1.141_6.1.141-1_arm64.deb
- linux-image-6.1.141_6.1.141-1_arm64.deb
- linux-libc-dev_6.1.141-1_arm64.deb
桌面版构建
去到ubuntu目录下
bash
cd /path/to/tspi_linux_sdk_xxxxxxxx/ubuntu1
构建桌面版 ubuntu
shell
GUI=desktop ./mk-base-ubuntu.sh && GUI=desktop ./mk-ubuntu-rootfs.sh && ./mk-image.sh1
如果遇到权限不够,去给予权限:
bashsudo chmod +x ./mk-base-ubuntu.sh sudo chmod +x ./mk-ubuntu-rootfs.sh sudo chmod +x ./mk-image.sh1
2
3
服务器版构建
shell
GUI=console ./mk-base-ubuntu.sh && GUI=console ./mk-ubuntu-rootfs.sh && ./mk-image.sh1
如果遇到权限不够,去给予权限:
bashsudo chmod +x ./mk-base-ubuntu.sh sudo chmod +x ./mk-ubuntu-rootfs.sh sudo chmod +x ./mk-image.sh1
2
3
构建输出
构建完成后会在 ubuntu 目录下生成:
ubuntu-jammy.img- 可直接烧录的镜像文件binary/- 未打包的 rootfs 目录
烧录时将 ubuntu-jammy.img 烧录到 rootfs 分区即可。