Erro na compilação do kernel do FreeBSD 8.0

1

Ao tentar compilar meu próprio kernel para o FreeBSD 8.0, estou tendo alguns problemas. Na verdade, eu nem posso recompilar o kernel GENERIC sem alterações!

As últimas linhas antes de eu receber erros ao executar make depend são ...

../../../amd64/amd64/genassym.c:227: error: 'struct pcpu' has no member named 'pc_tss'
../../../amd64/amd64/genassym.c:241: error: 'GUCODE32_SEL' undeclared here (not in a function)
../../../amd64/amd64/genassym.c:242: error: 'GUFS32_SEL' undeclared here (not in a function)
../../../amd64/amd64/genassym.c:243: error: 'GUGS32_SEL' undeclared here (not in a function)
../../../amd64/amd64/genassym.c:246: error: 'SEL_RPL_MASK' undeclared here (not in a function)
*** Error code 1

Stop in /usr/src/sys/i386/compile/GENERIC.

Isso, novamente, com no muda para o kernel GENERIC. Meu kernel personalizado está apenas adicionando VESA e SC_PIXEL_MODE, mas erros da mesma maneira.

EDIT: Curiosamente, quando executando make cleandepend , recebo a seguinte saída, apesar de compilar em uma máquina amd64 e instalar o FreeBSD.

rm -f .depend machine amd64 cd ../../../modules; MAKEOBJDIRPREFIX=/usr/src/sys/i386/compile/SANDERS/modules KMODDIR=/boot/kernel DEBUG_FLAGS="-g" MACHINE=i386 KERNBUILDDIR="/usr/src/sys/i386/compile/SANDERS" SYSDIR="/usr/src/sys/i386/compile/SANDERS/../../.." make  cleandepend
===> aac (cleandepend) rm -f @ machine amd64 rm -f .depend GPATH GRTAGS GSYMS GTAGS
===> accf_data (cleandepend) rm -f @ machine amd64 rm -f .depend GPATH GRTAGS GSYMS GTAGS
===> accf_dns (cleandepend) rm -f @ machine amd64 rm -f .depend GPATH GRTAGS GSYMS GTAGS
===> accf_http (cleandepend) rm -f @ machine amd64 rm -f .depend GPATH GRTAGS GSYMS GTAGS
===> acpi (cleandepend)
===> acpi/acpi (cleandepend) "Makefile", line 4: "ACPI can only be compiled into the kernel on the amd64 and ia64 platforms"
*** Error code 1

Stop in /usr/src/sys/modules/acpi.
*** Error code 1

Stop in /usr/src/sys/modules.
*** Error code 1

Stop in /usr/src/sys/i386/compile/SANDERS.

Qualquer ideia seria muito apreciada:)

EDITAR:

A saída de uname -a é

FreeBSD jbirch.net 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:02:08 UTC 2009     [email protected]:/usr/obj/usr/src/sys/GENERIC  amd64

e temo que /usr/make.conf e /usr/src.conf não existam. Eu peguei as páginas de manual relevantes, que me disseram que geralmente residem em /etc/ , mas elas também não existiam.

    
por JBirch 15.08.2010 / 14:41

1 resposta

0

Parece que o sistema está tentando construir um kernel i386 em seu sistema amd64. Você pode postar a saída de "uname -a", o conteúdo de /usr/make.conf e /usr/src.conf, por favor?

Atualizar :

Depois de reler a pergunta original, parece que você não está seguindo o processo de criação padrão, conforme descrito no Manual , que provavelmente é o motivo pelo qual as coisas estão dando errado. Você deve estar executando make buildkernel para criar um novo kernel e make installkernel para instalá-lo; make depend etc. são executados como parte da construção internamente, mas não precisam ser executados manualmente desde os 4.x dias.

    
por 23.08.2010 / 14:04