“modo de 64 bits não compilado em” erro ao compilar o kernel Linux

1

Estou criando o 2.6.18 do código-fonte do CentOS.

Estou na última etapa do processo de criação nas instruções, mas parece que estou recebendo um erro que não consigo entender.

Instruções que estou seguindo: link

eu corri ...     [user @ host SPECS] $ rpmbuild -bb --target = uname -m kernel.spec 2 > build-err.log | tee build-out.log

e tenho ...

[...]

Patch #20239 (xen-vtd-let-iommu-use-another-irq-without-conflict.patch):
Patch #20240 (xen-hvm-add-hvmop_get_time-hypercall.patch):
Patch #20241 (xen-fix-64-bit-pv-guest-user-mode-segv-crashing-host.patch):
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.57640
cc     linux-2.6.18.x86_64/scripts/bin2c.c   -o linux-2.6.18.x86_64/scripts/bin2c
make -f Rules.mk _build
make[1]: Entering directory '/home/~~~~/rpmbuild/BUILD/kernel-2.6.18/xen'
make -C include/public/foreign
make[2]: Entering directory '/home/~~~~/rpmbuild/BUILD/kernel-2.6.18/xen/include/public/foreign'
python mkheader.py x86_32 x86_32.h ../arch-x86/xen-x86_32.h ../arch-x86/xen.h ../xen.h
python mkheader.py x86_64 x86_64.h ../arch-x86/xen-x86_64.h ../arch-x86/xen.h ../xen.h
python mkheader.py ia64 ia64.h ../arch-ia64.h ../xen.h
python mkchecker.py x86_64 checker.c x86_32 x86_64 ia64
gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -m64        
-Wdeclaration-after-statement -o checker checker.c
make[2]: Leaving directory '/home/~~~~/rpmbuild/BUILD/kernel-2.6.18/xen/include/public/foreign'
make[1]: Leaving directory '/home/~~~~/rpmbuild/BUILD/kernel-2.6.18/xen'

RPM build errors:

Não sei por que não há mensagens úteis após "erros de compilação do RPM". Depois de executar o comando acima rpmbuild, devo ver "arquivos rpm do kernel personalizados" gerados no diretório ~ / rpmbuild / RPMS / uname -m /. Eu não vejo nada nessa pasta.

Aqui está o que eu vejo no build-err.log:

gpg: WARNING: unsafe permissions on homedir '.'
gpg: keyring './secring.gpg' created
gpg: keyring './pubring.gpg' created
  ++++++++++.++++++++++++++++++++.+++++.+++++.++++++++++++++++++++.++++++++++++++++++++.+++++++++++++++++++++++++++++++++++..+++++++++++++++>++++++++++....................................................................................................................+++++

Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 275 more bytes)
+ gpg --homedir . --export --keyring ./kernel.pub CentOS
gpg: WARNING: unsafe permissions on homedir '.'
+ make linux-2.6.18.x86_64/scripts/bin2c
+ linux-2.6.18.x86_64/scripts/bin2c ksign_def_public_key __initdata
+ rm -rf /var/tmp/kernel-2.6.18-238.9.1.el5.local-root
+ mkdir -p /var/tmp/kernel-2.6.18-238.9.1.el5.local-root/boot
+ cd xen
+ mkdir -p /var/tmp/kernel-2.6.18-238.9.1.el5.local-root/boot /var/tmp/kernel-    
2.6.18-238.9.1.el5.local-root/boot
+ make -j2 verbose=y crash_debug=y max_phys_cpus=256 XEN_VENDORVERSION=-238.9.1.el5.local
checker.c:1: sorry, unimplemented: 64-bit mode not compiled in
make[2]: *** [checker] Error 1
make[1]: *** [build-headers] Error 2
make: *** [build] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.57640 (%build)
Bad exit status from /var/tmp/rpm-tmp.57640 (%build)
    
por barrrista 31.01.2012 / 01:19

1 resposta

1

Parece que você está tentando compilar um kernel de 64 bits em uma plataforma de 32 bits (ou uma plataforma com apenas um conjunto de ferramentas de desenvolvimento de 32 bits). Alvos de 64 bits não são suportados pelo conjunto de ferramentas que você instalou (ou aquele que você selecionou se tiver mais de um).

    
por 31.01.2012 / 01:36