Страница 1 из 1

freebsd 12 не собирается ядро

Добавлено: 2019-11-28 23:44:36
fosterx
Здравствуйте! Установил систему FreeBSD 12.0-RELEASE r341666 GENERIC i386
Загрузил исходники системы svn co https://svn0.us-east.FreeBSD.org/base/stable/12 /usr/src
Добавил в GENERIC:
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERT
пробую копилить make kernel KERNCONF=GENERIC

Код: Выделить всё

root@FILESERVER:/usr/src # make kernel KERNCONF=GENERIC
make[1]: "/usr/src/Makefile.inc1" line 343: SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler.
make[1]: "/usr/src/Makefile.inc1" line 348: SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker.

--------------------------------------------------------------
>>> Kernel build for GENERIC started on Thu Nov 28 23:41:13 MSK 2019
--------------------------------------------------------------
===> GENERIC
mkdir -p /usr/obj/usr/src/i386.i386/sys

--------------------------------------------------------------
>>> stage 1: configuring the kernel
--------------------------------------------------------------
cd /usr/src/sys/i386/conf;  PATH=/usr/obj/usr/src/i386.i386/tmp/legacy/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin:/usr/obj/usr/src/i386.i386/tmp/legacy/bin:/usr/obj/usr/src/i386.i386/tmp/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin  config  -d /usr/obj/usr/src/i386.i386/sys/GENERIC  -I '/usr/src/sys/i386/conf' -I '/usr/src/sys/i386/conf'  '/usr/src/sys/i386/conf/GENERIC'
Kernel build directory is /usr/obj/usr/src/i386.i386/sys/GENERIC
Don't forget to do ``make cleandepend && make depend''

--------------------------------------------------------------
>>> stage 2.1: cleaning up the object tree
--------------------------------------------------------------
cd /usr/obj/usr/src/i386.i386/sys/GENERIC; MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE=opteron-sse3 CC="cc -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" CXX="c++  -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" CPP="cpp -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/usr/src/i386.i386/tmp/legacy/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin:/usr/obj/usr/src/i386.i386/tmp/legacy/bin:/usr/obj/usr/src/i386.i386/tmp/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin make  -m /usr/src/share/mk  KERNEL=kernel cleandir
make[2]: "/usr/src/sys/conf/kern.pre.mk" line 131: amd64/arm64/i386 kernel requires linker ifunc support
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
Сначала при установке поставил исходники ядра с инета (систему ставил с образа bootonly)
Также ошибка(

Гуглил гуглил не нагуглил((( Подскажите куда копать?(((

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 3:00:07
guest
У Вас установлен релиз, исходники Вы скачиваете для stable и пытаетесь
собрать ядро, бррр

# less /usr/src/Makefile
там в самом начале по пунктам расписана сборка

раз уж Вы скачали исходники для stable, сначала следует собрать мир world и
только потом ядро

ну и выкиньте всякую фигню из /etc/make.conf

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 7:58:18
fosterx
Я при установке системы поставил исходники которые шли с этим дистрибутивом, точно такая же ошибка. А уж потом удалил их и скачал через svn. make.conf чист

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 9:43:29
snorlov
Вы какую 12-ю то поставили 12.0 или 12.1? Я бы сначала бинарно обновился бы и лишь потом начал бы stable ставить/компилять.
зы. а что грузить файер модулями религия не позволяет...

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 10:14:18
fosterx
12.0-RELEASE r341666
Дело не только в фаере. Хочу исключить лишнее железо из конфига ядра и перебрать его.
Мощностей мало у серванта....(((( в данный момент собираю мир... компиляция идет уже 3-й час

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 11:17:53
guest
Я при установке системы поставил исходники которые шли с этим дистрибутивом, точно такая же ошибка. А уж потом удалил их и скачал через svn. make.conf чист
научитесь давать полную информацию, будете получать сходу точные советы,
пока есть две проблемы:

- "Хочу исключить лишнее железо из конфига ядра" - что Вы там сделали, никому не видно,
и что Вы этим добьетесь, тоже не ясно

- "https://svn0.us-east.FreeBSD.org/base/stable/12" - если Вы скачали исходники от 12-Stable,
получите несоответствие мира и ядра и возможные проблемы

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 11:37:35
fosterx
Грохнул эти исходники! Установил систему 12.0-RELEASE r341666 с исходниками из дистра. Пробую компилить ЯДРО GENERIC с фаером

Код: Выделить всё

make[1]: "/usr/src/Makefile.inc1" line 343: SYSTEM_COMPILER: libclang will be built for bootstrapping a cross-compiler.
make[1]: "/usr/src/Makefile.inc1" line 348: SYSTEM_LINKER: libclang will be built for bootstrapping a cross-linker.

--------------------------------------------------------------
>>> Kernel build for GENERIC started on Thu Nov 28 23:41:13 MSK 2019
--------------------------------------------------------------
===> GENERIC
mkdir -p /usr/obj/usr/src/i386.i386/sys

--------------------------------------------------------------
>>> stage 1: configuring the kernel
--------------------------------------------------------------
cd /usr/src/sys/i386/conf;  PATH=/usr/obj/usr/src/i386.i386/tmp/legacy/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin:/usr/obj/usr/src/i386.i386/tmp/legacy/bin:/usr/obj/usr/src/i386.i386/tmp/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin  config  -d /usr/obj/usr/src/i386.i386/sys/GENERIC  -I '/usr/src/sys/i386/conf' -I '/usr/src/sys/i386/conf'  '/usr/src/sys/i386/conf/GENERIC'
Kernel build directory is /usr/obj/usr/src/i386.i386/sys/GENERIC
Don't forget to do ``make cleandepend && make depend''

--------------------------------------------------------------
>>> stage 2.1: cleaning up the object tree
--------------------------------------------------------------
cd /usr/obj/usr/src/i386.i386/sys/GENERIC; MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE=opteron-sse3 CC="cc -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" CXX="c++  -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" CPP="cpp -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/usr/src/i386.i386/tmp/legacy/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin:/usr/obj/usr/src/i386.i386/tmp/legacy/bin:/usr/obj/usr/src/i386.i386/tmp/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin make  -m /usr/src/share/mk  KERNEL=kernel cleandir
make[2]: "/usr/src/sys/conf/kern.pre.mk" line 131: amd64/arm64/i386 kernel requires linker ifunc support
*** Error code 1

Stop.
make[1]: stopped in /usr/src
*** Error code 1

Stop.
make: stopped in /usr/src
Почему одна и та же ошибка?

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 11:42:48
fosterx
может дело в дистрибутиве? как лучше использовать?

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 12:16:37
snorlov
make.conf у вас какой?
Вы отстали от жизни, если у вас нет железа, то его поддержка, точнее модуль, хоть он и есть в GENERIC, не загрузиться, точнее загрузиться, скажет себе, что нет устройства и выгрузиться...
Кстати, у вас проц 64-битный, чего вы i386 ставите...

freebsd 12 не собирается ядро

Добавлено: 2019-11-29 22:42:32
guest
fosterx » 2019-11-29 11:42:48
может дело в дистрибутиве? как лучше использовать?
дело в нежелании следить за развитием и читать документацию:
- переход на clang/llvm и переход на новый линкер от llvm

Код: Выделить всё

--------------------------------------------------------------
>>> stage 2.1: cleaning up the object tree
--------------------------------------------------------------
cd /usr/obj/usr/src/i386.i386/sys/GENERIC; MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE=opteron-sse3 CC="cc -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" CXX="c++  -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" CPP="cpp -target i386-unknown-freebsd12.1 --sysroot=/usr/obj/usr/src/i386.i386/tmp -B/usr/obj/usr/src/i386.i386/tmp/usr/bin" AS="as" AR="ar" LD="ld" LLVM_LINK="" NM=nm OBJCOPY="objcopy" RANLIB=ranlib STRINGS= SIZE="size" INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/usr/src/i386.i386/tmp/legacy/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/legacy/usr/bin:/usr/obj/usr/src/i386.i386/tmp/legacy/bin:/usr/obj/usr/src/i386.i386/tmp/usr/sbin:/usr/obj/usr/src/i386.i386/tmp/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin make  -m /usr/src/share/mk  KERNEL=kernel cleandir
make[2]: "/usr/src/sys/conf/kern.pre.mk" line 131: amd64/arm64/i386 kernel requires linker ifunc support
*** Error code 1
kernel requires linker ifunc support

Код: Выделить всё

# less /usr/src/UPDATING
поиск LD=

если собираем из под root account, SHELL -> csh

Код: Выделить всё

# cd /usr/src
# setenv LD /usr/bin/ld.lld
# make buildkernel
другой вариант, сперва собрать kernel-toolchain, затем buildkernel

Код: Выделить всё

# cd /usr/src
# make kernel-toolchain
# make buildkernel
ps. by default: make buildkernel == make buildkernel KERNCONF=GENERIC
pps. И опять же, нахрена козе баян, если все подгружается модулями?

Код: Выделить всё

# man divert

freebsd 12 не собирается ядро

Добавлено: 2019-11-30 13:59:00
fosterx
Короче непонятно почему не собиралось ядро с исходниками которые шли с дистрибутивом....
Грохнул /usr/src
Качнул svn co https://svn0.us-east.FreeBSD.org/base/release/12.0 /usr/src
make buildkernel KERNCONF=MYCONF
make installkernel KERNCONF=MYKONF

все получилось!
Спасибо всем за ответы-советы

freebsd 12 не собирается ядро

Добавлено: 2019-12-01 1:21:50
snorlov
Между прочим в исходниках, которые вы первоначально скачали было сказано в UPDATING ".,,even one just a few days old...", вольный перевод "даже если всего несколько дней назад вы обновлялись", то следует обновляться через шаг с make kernel-toolchain, ну и т.д.
Читайте доки, они рулез...

freebsd 12 не собирается ядро

Добавлено: 2019-12-02 10:46:13
fosterx
snorlov писал(а):
2019-12-01 1:21:50
Читайте доки, они рулез...
Хорошо!