我想在amd64 Debian主機上構建一個i386 Linux內核deb包。在amd64主機上構建i386 linux內核
現在我正在通過設置--cross-compile flag
來做這件事。它確實完成了內核本身的工作。但問題是內核工具,它仍然被編譯爲本地機器formart。由於鏈接器不匹配,僅更改變量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)
'make-kpkg'似乎可以很好地與'setarch'配合使用。 – user2288954
是的,但make-kpkg已棄用。參見[Debian Linux Kernel Handbook](http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-building) – txomon