使用环境Ubuntu 20.04.3 LTS
,并在系统先安装好Qt
,QT Creator
开发工具、以及qemu
用来加载arm64
镜像
- 安装前准备
- 智能终端OS的rootfs镜像,如:UOS-Smart-20-arm64-src.img
- 智能终端OS的qt开发环境及依赖包:qt_deb.tar.gz
安装
首先在
ubuntu
上新建一个空的img文件1
2dd if=/dev/zero of=UOS-Smart-20-arm64-new.img bs=1M count=7000
sudo mkfs.ext4 UOS-Smart-20-arm64-new.img在
ubuntu
上新建2个空目录,分别将UOS-Smart-20-arm64-src.img
和UOS-Smart-20-arm64-new.img
挂载,并把前者的内容拷贝到后者里1
2
3
4
5mkdir -m 777 src new
sudo mount UOS-Smart-20-arm64-src.img src
sudo mount UOS-Smart-20-arm64-new.img new
sudo cp -rfp src/* new/
sudo umount src如果已安装
qemu
工具,则直接拷贝文件,否则先安装,然后再拷贝所需文件到目标根文件系统1
2
3
4
5
6sudo apt install qemu-user-static #安装qemu
sudo cp /usr/bin/qemu-aarch64-static ./new/usr/bin/
sudo cp /usr/bin/qemu-arm-static ./new/usr/bin/
sudo cp ./new/etc/resolv.conf ./new/etc/resolv.conf.bak
sudo cp /etc/resolv.conf ./new/etc/resolv.conf
sudo cp qt_deb.tar.gz ./new/home/重新挂载
/proc,/dev,/sys
节点,然后通过chroot
到目标根文件系统中,就进入到了交叉编译环境1
2
3
4sudo mount -t proc /proc ./new/proc
sudo mount -t sysfs /sys ./new/sys
sudo mount -o bind /dev ./new/dev
sudo chroot ./new/在交叉编译环境中安装
qt_deb.tar.gz
中的所有deb
包1
2sudo tar xzf /home/qt_deb.tar.gz
sudo dpkg -i /home/qt_deb/*/deb
上述步骤安装完成之后,交叉编译环境就搭建完成了。