Ubuntu Stream 8跨平台兼容实现指南
一 名称澄清与总体思路
二 容器化优先的跨平台方案
# 安装多架构与QEMU支持
sudo apt-get update
sudo apt-get install -y qemu-user-static binfmt-support
# 注册QEMU到binfmt(通常已随包自动注册)
sudo update-binfmts --enable qemu-arm
# 使用buildx创建并构建多架构镜像
docker buildx create --use
docker buildx build --platform linux/amd64,linux/arm64 \
-t yourorg/app:multiarch --push .
docker run --rm --platform linux/arm64 yourorg/app:multiarch uname -m
三 在 Ubuntu 主机上构建多架构 rootfs 与 chroot 环境
sudo apt-get update
sudo apt-get install -y debootstrap qemu-user-static binfmt-support
mkdir -p /opt/rootfs-arm64
sudo debootstrap --arch=arm64 jammy /opt/rootfs-arm64 \
http://archive.ubuntu.com/ubuntu/
sudo cp /usr/bin/qemu-aarch64-static /opt/rootfs-arm64/usr/bin/
sudo mount --bind /dev /opt/rootfs-arm64/dev
sudo mount --bind /dev/pts /opt/rootfs-arm64/dev/pts
sudo mount -t proc proc /opt/rootfs-arm64/proc
sudo mount -t sysfs sys /opt/rootfs-arm64/sys
sudo chroot /opt/rootfs-arm64
# 在chroot内可 apt update && apt install -y your-pkgs
exit
# 完成后卸载
sudo umount /opt/rootfs-arm64/{dev/pts,dev,proc,sys}
sudo tar -czf rootfs-arm64.tar.gz -C /opt/rootfs-arm64 .
# 将tar包解压到目标设备/SD卡/镜像中启动
四 交叉编译与多架构仓库配置
sudo dpkg --add-architecture arm64
sudo apt-get update
sudo apt-get install -y crossbuild-essential-arm64
# 之后可用 apt install libfoo-dev:arm64 安装ARM64库
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
五 图形与硬件加速的跨平台兼容