我正在尝试在 amd64 Debian 主机上构建 i386 Linux 内核 deb 包。
现在我通过 set 来做这件事--cross-compile flag
。它确实对内核本身做了很大的工作。但问题是内核工具,它们仍然被编译为本地机器格式。由于链接器不匹配,仅更改HOSTCC
变量无法解决此问题。
我知道chroot
或linux32
环境会工作。但是,它们是唯一的方法吗?应该有另一种解决方案,因为有人可能想要构建一个 arm 内核。
PS:这是我正在使用的命令:
CONCURRENCY_LEVEL=8 DEB_HOST_ARCH=i386 MAKEFLAGS="HOSTCC=/home/csl/bin/i486-linux-gnu-gcc"\
make-kpkg --rootcmd fakeroot --initrd --arch i386 --cross-compile /home/csl/bin/i486-linux-gnu- --append-to-version=-liquorix-csl binary-arch \
> >(tee stdout.log) 2> >(tee stderr.log >&2)