Страница 1 из 1
FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 12:55:20
sl
Народ, хел ми
установил сырцы ядра, скопировал генерик, добавил файрвол и нетграф ..
Код: Выделить всё
cd /usr/src/sys/i386/conf
config X5-KERNEL
cd ../compile/X5-KERNEL
make cleandepend && make depend
ребут ...
Код: Выделить всё
x5# uname -a
FreeBSD x5.xxx.xxx.ru 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53 UTC 2010 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
создавал конфиг с другим названием ... сырцы правда не сносил ...
Re: FreeBSD 8.2
Добавлено: 2010-09-17 13:44:44
hizel
а я думал новость

Re: FreeBSD 8.1
Добавлено: 2010-09-17 14:30:57
sl
Странно ... в хендбуке совсем старый методкомпилирования ядра.
памогло:
Код: Выделить всё
cd ../compile/X5-KERNEL
make depend && make && make install
Re: FreeBSD 8.1
Добавлено: 2010-09-17 14:42:28
terminus
что за странный способ?
хендбук с оф сайта читали?
http://www.freebsd.org/doc/en_US.ISO885 ... lding.html
Код: Выделить всё
You must now compile the source code for the kernel.
Building a Kernel
Change to the /usr/src directory:
# cd /usr/src
Compile the kernel:
# make buildkernel KERNCONF=MYKERNEL
Install the new kernel:
# make installkernel KERNCONF=MYKERNEL
Note: It is required to have full FreeBSD source tree to build the kernel.
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 16:56:31
Shuriks
А в твоем случае в конфиге небось
вместо имени твоего ядра.
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 17:30:52
sl
Нет,
Код: Выделить всё
cpu<---><------>I686_CPU
ident<-><------>X5-KERNEL
# To statically compile in device wiring instead of /boot/device.hints
Согласно Хенд бука
Код: Выделить всё
Сборка ядра
1.Перейдите в каталог /usr/src:
# cd /usr/src
2.Соберите ядро:
# make buildkernel KERNCONF=MYKERNEL
3.Установите новое ядро:
# make installkernel KERNCONF=MYKERNEL
делаем:
Код: Выделить всё
x5# cd /usr/src
x5# make buildkernel KERNCONF=MYKERNEL
make: don't know how to make buildkernel. Stop
x5#
Из других источников ...
Код: Выделить всё
# config MYKERN
На дисплее появится сообщение:
Kernel build directory is ../compile/MYKERN
Don't forget to do ``make cleandepend && make depend''
После чего выполняем:
# cd ../compile/MYKERN
# make depend all install clean
Все конфигулилось, появлялось сообщение ... далее согласно сообщению
ну и сопсно в начало темы.
Причем все бы ничиво, 3 сервака так обновили ядро, вот этот не захотел, как палучилось я написал ...
сейчас имеем:
Код: Выделить всё
x5# uname -a
FreeBSD x5.хххххх.ххххх.ru 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Fri Sep 17 14:43:12 MSD 2010 sl@x5.хххххх.ххххх.ru:/usr/src/sys/i386/compile/X5-KERNEL i386
x5#
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 18:04:38
terminus
Удалите нафиг все в /usr/src
Потом скачайты сырцы заново с помошью csup
http://www.lissyara.su/articles/freebsd ... ommented=1&
и повторите.
У всех make buildkernel KERNCONF работает...
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 18:41:22
sl
Ну ну ...
Код: Выделить всё
x6# cd /usr/src
x6# make buildkernel KERNCONF=MYKERNEL
make: don't know how to make buildkernel. Stop
x6# uname -a
FreeBSD x6.xxx.xxx.ru 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Fri Sep 3 20:20:15 MSD 2010 sl@x6.xxx.xxx.ru:/usr/src/sys/i386/compile/X6-KERNEL i386
x6# kldstat
Id Refs Address Size Name
1 26 0xc0400000 be327c kernel
2 1 0xc4f33000 4000 ng_socket.ko
3 1 0xc4fd0000 5000 ng_mppc.ko
4 1 0xc4fd5000 2000 rc4.ko
5 1 0xc5211000 3000 ng_tee.ko
6 1 0xc5214000 5000 ng_ksocket.ko
7 1 0xc521c000 4000 ng_iface.ko
8 1 0xc5230000 3000 ng_tcpmss.ko
9 1 0xc5785000 5000 if_tap.ko
10 1 0xc8c23000 5000 ng_l2tp.ko
x6# ipfw show
00010 7088 732870 allow ip from any to any via lo0
Фарвол не модулем, ядром ... инсталяция и сборка ядра прошла успешно

Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 18:48:07
Гость
я вообще не понял проблемы, зачем ядро нужно пересобирать?
есть обьективныен причины? или так - побаловатся хочется?
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 18:57:38
sl
Гость писал(а):я вообще не понял проблемы, зачем ядро нужно пересобирать?
есть обьективныен причины? или так - побаловатся хочется?
Просто видимо затуп, такое бывает, некогда невазникало вапросов таких как щас, наигрубейшая ошибка ... бывает ) мошт кто тоже на этиже грабли наступит.
1. Форвардинг для прозрачного прокси
2. Файрвол и встроенный НАТ
3. Нетграф и все што с ним связано
Вобсчем то я понял свой косяк ...
Я делал
Код: Выделить всё
x5# config X5-KERNEL
x5# cd ../compile/MYKERN
x5# make cleandepend && make depend
А нада было
Код: Выделить всё
x5# cd ../compile/X5-KERNEL
x5# make depend all install clean
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 19:01:03
terminus
Надо сделать чтобы работали стандартные методы из хендбука, а не непонятные инструкции со стороны.
Иначе в один прекрасный момент, на самом интересном месте выясницца шо что-то очень не так...

Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 19:13:06
sl
Вырезка с OpneNet 'a
.........
у вас каша в голове, есть ДВА варианта сборки ЯДРА:
1) старый, его называют ТРАДИЦИОННЫМ (во всех xBSD) - это использование
утилиты config
утилита config должна запускаться из директории:
/sys/ARCH/conf
затем продолжать по подсказке: make depend и make
где ARCH - платформа на которой собираем ядро, для x86 - это i386, те
/sys/i386/conf
# man config
2) новый - характерный для FreeBSD:
# cd /usr/src
# make buildkernel KERNCONF=имя_файла_ядра (файл должен находится
в /sys/ARCH/conf)
ну и так далее
Сборка ядра требует НАЛИЧИЯ kernel-sources (исходных текстов ядра),
сборка системы (make buildworld) требует еще наличия os-sources (исходных
текстов операционной системы)
......
В маем случае:
Минимальная установка с ФТП ешника фри, по сетке, и первым делом ставлю сырцы, копирую генерик, и панеслась ... сразу же ядро собирать, и только после этого донастройка машины ... ну вот так привык, паэтому ну уж пачему не работает
Код: Выделить всё
x5# cd /usr/src
x5# make buildkernel KERNCONF=X5-KERNEL
make: don't know how to make buildkernel. Stop
x5#
я незнаю
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 19:17:15
Гость
вы зубы тоже к первому попавшемуся на улице ходите лечить?
или в поликлиннику идёте?
может тогда стоит пойти почитать хендбук
а не вычитывать перепечатки ?
и русский подучите
я понимаю что в буквах можно ошибатся
но на мальцовском языке будете среди шкетов общатся
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 19:52:07
sl
Гость писал(а):вы зубы тоже к первому попавшемуся на улице ходите лечить?
или в поликлиннику идёте?
может тогда стоит пойти почитать хендбук
а не вычитывать перепечатки ?
ну да, 100 раз папробуй по хендбуку, непалучаеться, убей себя ап стену.
Бесмыслено утверждать, непапробывав, я сюда не написал бы
makefile отсутствует, паэтому builkernel наверно работать недолжен
Код: Выделить всё
x5# mount
/dev/ad4s3a on / (ufs, local)
devfs on /dev (devfs, local, multilabel)
/dev/ad4s2d on /usr/sc (ufs, local, soft-updates)
x5# cat /etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/ad4s1b none swap sw 0 0
/dev/ad4s3a / ufs rw 1 1
/dev/ad4s2d /usr/sc ufs rw 2 2
/dev/cd0 /cdrom cd9660 ro,noauto 0 0
x5# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad4s3a 60G 2.2G 53G 4% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad4s2d 387G 243M 356G 0% /usr/sc
x5#
Гость писал(а):
и русский подучите
я понимаю что в буквах можно ошибатся
но на мальцовском языке будете среди шкетов общатся
Дурак незаметит, умный промалчит ... вспомнился анекдот про обезьянку
ps: момент для меня очень интересный, обезательно разберусь пачему так все сложилось
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 20:40:51
Гость
Бесмыслено утверждать, непапробывав, я сюда не написал бы
что вы там пробовали я не знаю
но сюда вы прибежали копипастить выдержки с опеннет
Дурак незаметит, умный промалчит ... вспомнился анекдот про обезьянку
если бы вы просто буквами опечатывались или их пропускали, я бы еще промолчал
но тупой пОцОнский горов меня лично разражает
ps: момент для меня очень интересный, обезательно разберусь пачему так все сложилось
АбИзОтельно рОзбАрИтесь что у вас там с речью, может вам к дохтору - фефекты фикций вам нужно справлять
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-17 22:55:30
hedgehog
а исходники как и откуда получаем? у Вас явно не хватает исходных кодов.
Код: Выделить всё
$ cd /usr/src/
$ ls
COPYRIGHT Makefile.inc1 bin/ etc/ kerberos5/ rescue/ sys/
LOCKS ObsoleteFiles.inc cddl/ games/ lib/ sbin/ tools/
MAINTAINERS README contrib/ gnu/ libexec/ secure/ usr.bin/
Makefile UPDATING crypto/ include/ release/ share/ usr.sbin/
$ make buildkernel KERNCONF=WOWKERNEL
--------------------------------------------------------------
>>> Kernel build for WOWKERNEL started on Fri Sep 17 22:47:28 EEST 2010
--------------------------------------------------------------
===> WOWKERNEL
mkdir -p /usr/obj/usr/src/sys
--------------------------------------------------------------
>>> stage 1: configuring the kernel
--------------------------------------------------------------
примерно так это должно выглядеть. кроме запуска от непривилегированного пользователя, т.к. дальше будет фейл

Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-18 12:51:23
ZooBastik
Скорее всего в ходе инсталляции не был отмечен пункт base в списке устанавливаемых пакетов. Поэтому в /usr/src нет файлов которые нужны для make. Попробуй запустить sysinstall и отметить base.
После этого должна заработать стандартная схема
Код: Выделить всё
Сборка ядра
1.Перейдите в каталог /usr/src:
# cd /usr/src
2.Соберите ядро:
# make buildkernel KERNCONF=MYKERNEL
3.Установите новое ядро:
# make installkernel KERNCONF=MYKERNEL
Возможно сборка ядра закончится провалом, потому как выясниться что не хватает еще чего-то... Но во всяком случае make заработает
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2010-09-28 9:25:58
sl
Уважаемый "гость", вот видите все как прекрасно )))
Вот и все решение проблемы ...
Я делал минимальную установку, + распаковывал только исходники ядра (sys) ... от этого у меня такие замарочки ...
Всем спасибо !
Re: FreeBSD 8.1 [пересборка ядра]
Добавлено: 2013-12-17 7:20:44
winsys
Подскажите в чем может быть причина ошибки компиляции ядра:
Код: Выделить всё
cc -c -O2 -pipe -fno-strict-aliasing -std=c99 -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions -Wmissing-include-dirs -fdiagnostics-show-option -nostdinc -I. -I../../.. -I../../../contrib/altq -I../../../contrib/ipfilter -I../../../contrib/pf -I../../../dev/ath -I../../../dev/ath/ath_hal -I../../../contrib/ngatm -I../../../dev/twa -I../../../gnu/fs/xfs/FreeBSD -I../../../gnu/fs/xfs/FreeBSD/support -I../../../gnu/fs/xfs -I../../../dev/cxgb -I../../../dev/cxgbe -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-sse -msoft-float -ffreestanding -fstack-protector ../../../i386/i386/genassym.c
../../../i386/i386/genassym.c:1: error: -mpreferred-stack-boundary=2 is not between 4 and 12
*** [genassym.o] Error code 1
Компилирую папку для проца i386 сам процессор:
Код: Выделить всё
CPU: Intel(R) Pentium(R) 4 CPU 3.20GHz (3215.53-MHz K8-class CPU)
Ввожу команду:
И выдает ошибку выше.
Делаю на FreeBsd 9.2