Create an armhf pbuilder on aarch64

使用pbuilder 和 qemu-arm-static 搭建armhf pbuilder tgz环境,环境基于debian buster

安装依赖:

1
sudo apt install pbuilder qemu qemu-user-static pigz

注册 binfmt_misc:

1
2
sudo su
echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register

配置 /etc/pbuilderrc

1
2
3
4
5
6
7
MIRRORSITE=https://mirrors.sjtug.sjtu.edu.cn/debian
DEBOOTSTRAPOPTS=(
'--variant=buildd'
'--no-check-gpg'
)
COMPRESSPROG="pigz"
DEBOOTSTRAP=qemu-debootstrap

DEBOOTSTRAP=qemu-debootstrap 是因为pbuilder create 时,deboostrap 完会自动chroot,可想而知架构不同是进不去的,qemu-debootstrap是debian 给qemu写的脚本,就是用来干这个事

1
2
3
sudo dpkg --add-architecture armhf
sudo pbuilder create --debootstrapopts --arch --debootstrapopts armhf --distribution buster --basetgz buster-armhf.tgz
sudo pbuilder --login --basetgz buster-armhf.tgz