Я пытаюсь построить пакет debug ядра i386 для Linux на хосте Debian amd64.Перекрестное ядро linux i386 на хосте amd64
Теперь я делаю это по заданию --cross-compile flag
. Это делает работу greate самой ядре. Но проблема в том, что инструменты ядра, которые по-прежнему компилируются как локальные машинные формы. Только изменение переменной HOSTCC
не может решить эту проблему из-за несоответствия компоновщика.
Я знал chroot
или linux32
Окружающая среда будет работать. Но являются ли они единственными способами? Должно быть другое решение, потому что кто-то может захотеть создать ядро для рук.
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 устарел. См. [Руководство по ядру Linux Debian] (http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-building) – txomon