Когда я пытаюсь скомпилировать свое собственное ядро для FreeBSD 8.0, у меня возникают некоторые проблемы. На самом деле, я даже не могу пересобрать ядро GENERIC без изменений!
Последние несколько строк перед тем, как я получаю сообщения об ошибках при запуске 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.
Это, опять же, без изменений в ядре 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/
, но их там тоже не было.