Сборка ядра = epic fail!

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Сборка ядра = epic fail!

Непрочитанное сообщение GhOsT_MZ » 2012-05-07 23:16:39

Доброго времени суток!
На данный момент имеется:

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

#uname -a
FreeBSD fsbsd1 8.2-RELEASE FreeBSD 8.2-RELEASE #8: Tue May 31 10:00:11 SAMST 2011     root@fsbsd1:/usr/obj/usr/src/sys/MYKERN  i386
Собственно из этой радости хотел получить RELENG_8. Мои действия:

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

#rm -rf /usr/obj/*; rm -rf /usr/src/*; cd ~; cvsup -g -L 2 stable-supfile; cd /usr/src; make buildworld; make buildkernel
В принципе все шаги, кроме последнего, проходят вполне успешно. Сборка ядра прерывается ошибкой:

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

linking kernel
ata-disk.o(.text+0x9f): In function `ad_init':
: undefined reference to `ata_setmode'
ata-disk.o(.text+0xb7): In function `ad_init':
: undefined reference to `ata_wc'
ata-disk.o(.text+0xeb): In function `ad_init':
: undefined reference to `ata_controlcmd'
ata-disk.o(.text+0x142): In function `ad_init':
: undefined reference to `ata_controlcmd'
ata-disk.o(.text+0x193): In function `ad_init':
: undefined reference to `ata_controlcmd'
ata-disk.o(.text+0x1dc): In function `ad_init':
: undefined reference to `ata_controlcmd'
ata-disk.o(.text+0x2b7): In function `ad_shutdown':
: undefined reference to `ata_controlcmd'
ata-disk.o(.text+0x54e): In function `ad_detach':
: undefined reference to `ata_fail_requests'
ata-disk.o(.text+0x9a2): In function `ad_dump':
: undefined reference to `ata_drop_requests'
ata-disk.o(.text+0xa8c): In function `ad_dump':
: undefined reference to `ata_controlcmd'
ata-disk.o(.text+0xb5e): In function `ad_attach':
: undefined reference to `ata_setmax'
ata-disk.o(.text+0xc80): In function `ad_attach':
: undefined reference to `ata_satarev2str'
ata-disk.o(.text+0xcc4): In function `ad_attach':
: undefined reference to `ata_unit2str'
ata-disk.o(.text+0x10ac): In function `ad_attach':
: undefined reference to `ata_queue_request'
ata-disk.o(.text+0x11e2): In function `ad_attach':
: undefined reference to `ata_queue_request'
ata-disk.o(.text+0x1204): In function `ad_attach':
: undefined reference to `ata_getparam'
ata-disk.o(.text+0x62d): In function `ad_spindown':
: undefined reference to `ata_queue_request'
ata-disk.o(.text+0x6b1): In function `ad_ioctl':
: undefined reference to `ata_device_ioctl'
ata-disk.o(.text+0x7e2): In function `ad_strategy':
: undefined reference to `ata_queue_request'
ata-raid.o(.text+0x1287): In function `ata_raid_rw':
: undefined reference to `ata_queue_request'
ata-raid.o(.text+0x1366): In function `ata_raid_send_request':
: undefined reference to `ata_queue_request'
ata-raid.o(.text+0xa133): In function `ata_raid_strategy':
: undefined reference to `ata_queue_request'
ata-raid.o(.text+0xb138): In function `ata_raid_dump':
: undefined reference to `ata_controlcmd'
atapi-cd.o(.text+0x104): In function `acd_reinit':
: undefined reference to `ata_setmode'
atapi-cd.o(.text+0x167): In function `acd_shutdown':
: undefined reference to `ata_controlcmd'
atapi-cd.o(.text+0x243): In function `acd_geom_detach':
: undefined reference to `ata_fail_requests'
atapi-cd.o(.text+0x2c8): In function `acd_test_ready':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x35d): In function `acd_get_cap':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x485): In function `acd_set_speed':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x528): In function `acd_mode_select':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x5cb): In function `acd_mode_sense':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x73f): more undefined references to `ata_atapicmd' follow
atapi-cd.o(.text+0xdc4): In function `acd_get_progress':
: undefined reference to `ata_queue_request'
atapi-cd.o(.text+0x1102): In function `acd_strategy':
: undefined reference to `ata_queue_request'
atapi-cd.o(.text+0x1471): In function `acd_geom_access':
: undefined reference to `ata_queue_request'
atapi-cd.o(.text+0x1a5b): In function `acd_geom_ioctl':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x1ade): In function `acd_geom_ioctl':
: undefined reference to `ata_device_ioctl'
atapi-cd.o(.text+0x1e0f): In function `acd_geom_ioctl':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x1e7e): In function `acd_geom_ioctl':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x1eb2): In function `acd_geom_ioctl':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x2011): In function `acd_geom_ioctl':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x21c5): In function `acd_geom_ioctl':
: undefined reference to `ata_atapicmd'
atapi-cd.o(.text+0x231a): more undefined references to `ata_atapicmd' follow
atapi-cd.o(.text+0x3660): In function `acd_attach':
: undefined reference to `ata_setmode'
atapi-cd.o(.text+0x3690): In function `acd_attach':
: undefined reference to `ata_controlcmd'
atapi-cd.o(.text+0x378e): In function `acd_attach':
: undefined reference to `ata_satarev2str'
atapi-cd.o(.text+0x37a9): In function `acd_attach':
: undefined reference to `ata_unit2str'
atapi-cd.o(.text+0x3826): In function `acd_attach':
: undefined reference to `ata_unit2str'
atapi-cd.o(.text+0x3965): In function `acd_attach':
: undefined reference to `ata_satarev2str'
atapi-cam.o(.text+0x103f): In function `atapi_action':
: undefined reference to `ata_controlcmd'
atapi-cam.o(.text+0x1851): In function `atapi_action':
: undefined reference to `ata_queue_request'
*** Error code 1

Stop in /usr/obj/usr/src/sys/MYKERN.
*** Error code 1

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

Stop in /usr/src.
Другие настройки:

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

#m /etc/make.conf
# added by use.perl 2011-04-27 13:34:17
PERL_VERSION=5.10.1
KERNCONF=MYKERN

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

#cat /root/stable-supfile
*default host=cvsup.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_8
*default delete use-rel-suffix
*default compress
src-all
Исходники пытался получить с разных серверов, в том числе cvsup*.ru.freebsd.org, результат тот же.
Может кто подскажет, куда копать?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение GhOsT_MZ » 2012-05-07 23:32:10

Еще один момент. Принципиально компилировать ядро после мира или можно сначала ядро, а потом мир, ибо этот пост натолкнул на мысль?

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение rayder » 2012-05-08 0:43:28

А что написано в /usr/src/UPDATING? возможно что-то изменилось с опциями ядра.
ЗЫ. вопрос на засыпку: А что такого критичного, что не обновляетесь сразу до 9-ки? :)
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение GhOsT_MZ » 2012-05-08 7:30:04

В апдейтинг ничего интересного не написано, в том то и дело. Порядок обновления системы в этом файле такой же, как я и делал.

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение rayder » 2012-05-08 8:58:35

покажи конфиг ядра, чего-то в нем не хватает
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

шёл_мимо
проходил мимо

Re: Сборка ядра = epic fail!

Непрочитанное сообщение шёл_мимо » 2012-05-08 9:01:39

make buildworld
Сколько уже пишут везде, что GENERIC юзать надо

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение rayder » 2012-05-08 9:38:20

это конечно да, но потом он все-равно на грабли наступит при сборке.
ЗЫ. Вот что нашел в UPDATE на девятке, возможно поможет

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

20110424:
        The GENERIC kernels for all architectures now default to the new
        CAM-based ATA stack. It means that all legacy ATA drivers were
        removed and replaced by respective CAM drivers. If you are using
        ATA device names in /etc/fstab or other places, make sure to update
        them respectively (adX -> adaY, acdX -> cdY, afdX -> daY, astX -> saY,
        where 'Y's are the sequential numbers starting from zero for each type
        in order of detection, unless configured otherwise with tunables,
        see cam(4)). There will be symbolic links created in /dev/ to map
        old adX devices to the respective adaY. They should provide basic
        compatibility for file systems mounting in most cases, but they do
        not support old user-level APIs and do not have respective providers
        in GEOM. Consider using updated management tools with new device names.

        It is possible to load devices ahci, ata, siis and mvs as modules,
        but option ATA_CAM should remain in kernel configuration to make ata
        module work as CAM driver supporting legacy ATA controllers. Device ata
        still can be used in modular fashion (atacore + ...). Modules atadisk
        and atapi* are not used and won't affect operation in ATA_CAM mode.
        Note that to use CAM-based ATA kernel should include CAM devices
        scbus, pass, da (or explicitly ada), cd and optionally others. All of
        them are parts of the cam module.

        ataraid(4) functionality is now supported by the RAID GEOM class.
        To use it you can load geom_raid kernel module and use graid(8) tool
        for management. Instead of /dev/arX device names, use /dev/raid/rX.

        No kernel config options or code have been removed, so if a problem
        arises, please report it and optionally revert to the old ATA stack.
        In order to do it you can remove from the kernel config:
            options        ATA_CAM
            device         ahci
            device         mvs
            device         siis
        , and instead add back:
            device         atadisk         # ATA disk drives
            device         ataraid         # ATA RAID drives
            device         atapicd         # ATAPI CDROM drives
            device         atapifd         # ATAPI floppy drives
            device         atapist         # ATAPI tape drives
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение GhOsT_MZ » 2012-05-08 9:58:49

шёл_мимо писал(а):
make buildworld
Сколько уже пишут везде, что GENERIC юзать надо
Получается, что "свое" ядро компилировать отдельно, после установки всего?

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение rayder » 2012-05-08 10:01:42

имено так
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение GhOsT_MZ » 2012-05-08 10:09:22

rayder, попробую дженерик. Кстати, а принципиально сначала мир собирать, а потом ядро или порядок не важен?
Насчет UPDATING, в 8-STABLE он поменьше будет (хотя, многих вещей тут нету, видимо в этом файлике не полный ченджлог):

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

20120411:
        8.3-RELEASE.

20120106:
        A new VOP_ADVISE() was added to support posix_fadvise(2).  All
        filesystem modules must be recompiled.

20111116:
        A new VOP_ALLOCATE() was added to support posix_fallocate(2).  All
        filesystem modules must be recompiled.

20111101:
        The broken amd(4) driver has been replaced with esp(4) in the amd64,
        i386 and pc98 GENERIC kernel configuration files.

20110606:
        A new version of ZFS (version 28) has been merged.
        This version does not depend on a python library and the
        sysutils/py-zfs port is not used anymore.
        For upgrading your boot pool, please read "ZFS notes"
        in the COMMON ITEMS: section later in this file.

20110428:
        IPsec's HMAC_SHA256-512 support has been fixed to be RFC4868
        compliant, and will now use half of hash for authentication.
        This will break interoperability with all stacks (including all
        older FreeBSD versions) who implement
        draft-ietf-ipsec-ciph-sha-256-00 (they use 96 bits of hash for
        authentication).
        The only workaround with such peers is to use another HMAC
        algorithm for IPsec ("phase 2") authentication.

20110221:
        8.2-RELEASE.

Аватара пользователя
BirdGovorun
лейтенант
Сообщения: 878
Зарегистрирован: 2009-10-20 20:27:13
Откуда: Харьков.

Re: Сборка ядра = epic fail!

Непрочитанное сообщение BirdGovorun » 2012-05-08 14:03:46

GhOsT_MZ писал(а): Кстати, а принципиально сначала мир собирать, а потом ядро или порядок не важен?
Не принципиально, но лучше следовать рекомендациям.
Попробуйте freebsd-update , быстрее гораздо , хотя то-же можно нарваться и ядро только GENERIC.

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение rayder » 2012-05-08 15:37:04

ну freebsd-update по умолчанию заисналит генерик, а дальше уже ручками инсталить свое ядро
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение GhOsT_MZ » 2012-05-14 12:38:30

Все таки собралось ядро, но после того, как убрал опцию ATA_CAM. Определить бы с чем она конфликтовала, так как вроде еще актуальная, ибо ее ввели лишь в 8.1.


rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение rayder » 2012-05-23 0:30:23

как бы в том UPDATES что я дал, говориться практически о том же.
ЗЫ. а еще авторизация занимает не более минуты
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

GhOsT_MZ
лейтенант
Сообщения: 662
Зарегистрирован: 2011-04-25 11:40:35
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение GhOsT_MZ » 2012-05-23 7:03:06

rayder, ага, только странно, что в UPDATES 8.3-STABLE подобную инфу не добавили...

rayder
лейтенант
Сообщения: 661
Зарегистрирован: 2008-12-18 16:29:43
Откуда: Ukraine/Kiev
Контактная информация:

Re: Сборка ядра = epic fail!

Непрочитанное сообщение rayder » 2012-05-23 14:33:34

ну это не ко мне :)
Человеку свойственно ошибаться, но для нечеловеческих ляпов нужен компьютер.

Аватара пользователя
ioj
ефрейтор
Сообщения: 53
Зарегистрирован: 2012-05-23 15:29:51

Re: Сборка ядра = epic fail!

Непрочитанное сообщение ioj » 2012-05-23 18:24:07

что бы не плодить темы, тем более что у меня происходит что то похожее
поставил фри

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

FreeBSD nom 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan  3 07:15:25 UTC 2012     root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
пытаюсь собрать ядро со стандартным GENERIC, честно пытаюсь делать по хендбуку то бишь

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

#config GENERIC; make depend;
при попытке сделать дальнейший make вываливается стена текста

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

-I../../../dev/ath
cc -c -O -pipe  -std=c99 -g -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 -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000  -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-sse -mno-mmx -msoft-float -ffreestanding -fstack-protector -Werror  ../../../dev/bce/if_bce.c
и далее в таком же духе
пытался обновлять src, ничего не меняется
не поможете разобраться?((
Продам хамелеона синего. Нет, красного. Нет, зеленого. Блин. Круто. Нет, не продам...

Аватара пользователя
ioj
ефрейтор
Сообщения: 53
Зарегистрирован: 2012-05-23 15:29:51

Re: Сборка ядра = epic fail!

Непрочитанное сообщение ioj » 2012-05-23 19:52:43

упс.... работает оказывается
Продам хамелеона синего. Нет, красного. Нет, зеленого. Блин. Круто. Нет, не продам...