Ошибка в компиляции FreeBSD 8.0 Ядра

При попытке скомпилировать мое собственное ядро для FreeBSD 8.0, и у меня есть некоторые проблемы. На самом деле я не могу даже перекомпилировать УНИВЕРСАЛЬНОЕ ядро без изменений!

Последние несколько строк, прежде чем я получу ошибки при выполнении make depend ...

../../../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.

Это, снова, без изменений в УНИВЕРСАЛЬНОМ ядре. Мое пользовательское ядро только добавляет VESA и SC_PIXEL_MODE, но ошибки таким же образом.

Править: Интересно достаточно, при выполнении make cleandepend, Я получаю следующий вывод, несмотря на компиляцию на amd64 машине и установку 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.

Любое понимание очень ценилось бы :)

Править:

Вывод uname -a

FreeBSD jbirch.net 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Sat Nov 21 15:02:08 UTC 2009     root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

и я боюсь /usr/make.conf и /usr/src.conf не существовать. Я потянул соответствующие страницы справочника, которые сказали мне, что они обычно находятся в /etc/, но они не существовали там также.

1
задан 24.08.2010, 10:30

1 ответ

Похоже, что система пытается создать i386 ядро в Вашей amd64 системе. Можно ли отправить вывод "uname-a", содержание/usr/make.conf и/usr/src.conf?

Обновление:

Перечитав исходный вопрос, кажется, что Вы не следуете за стандартным процессом сборки, как обрисовано в общих чертах в Руководстве, которое является, вероятно, почему вещи идут не так, как надо. Необходимо работать make buildkernel создавать новое ядро, и make installkernel устанавливать его; make depend и т.д. выполняются как часть сборки внутренне, но не потребовались, чтобы быть выполненным вручную начиная с 4.x дни.

0
ответ дан 24.11.2019, 01:42

Теги

Похожие вопросы