#1 24.03.2014 07:50:07

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Компиляция ядра завершилась неудачей *SORRY*


Как не долбился - ничего не нашёл и не понял какие опции копать надо, хотя и понял что связано оно со звуковыми дровами. Раньше не один раз собирал ядро - такого ещё не видел! Что характерно, всё же собралось, но не может допилить до конца почему-то, как я понял.

#2 24.03.2014 11:30:58

Silencer
Administrator
Зарегистрирован: 23.10.2010
Сообщений: 846
IP-адрес

Сборка ядра, ошибка undefined reference

Может быть стоит из-под рута компелять?

#3 24.03.2014 11:50:32

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Silencer
Может быть стоит из-под рута компелять?

Компилил таким же образом на другом компе - всё отлично собралось и ядро нормально работало. Именно так в README ядра и написано собирать.
Кто знает, что это за дурная функция с неопределённой ссылкой и откуда она могла у меня появится? И как её "задушить"?

#4 24.03.2014 12:44:23

yars
Administrator
Зарегистрирован: 23.03.2012
Сообщений: 9 369
IP-адрес

Сборка ядра, ошибка undefined reference

Wehrmacht_Rover, пройдитесь grep'ом по /usr/src/linux рекурсивно, виновник наверняка найдется. Потом нужно конфиг ядра поправить в части недостающего модуля и пересобрать.

#5 24.03.2014 13:07:23

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by yars
нужно конфиг ядра поправить в части недостающего модуля и пересобрать

Если нужен был модуль для какого-то нового устройства, то я просто добавлял его в конфиге и делал make modules и собирался только нужный мне модуль без пересборки всего. Наверное, это не новость?

#6 24.03.2014 13:34:12

yars
Administrator
Зарегистрирован: 23.03.2012
Сообщений: 9 369
IP-адрес

Сборка ядра, ошибка undefined reference

Wehrmacht_Rover, нет, более того, отдельный модуль можно собрать так.

#7 25.03.2014 07:37:47

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by yars
пройдитесь grep'ом по /usr/src/linux рекурсивно, виновник наверняка найдется. Потом нужно конфиг ядра поправить в части недостающего модуля и пересобрать.

Зачем? Я открыл этот файл (sound/built-in.o) нашёл там нужные строки, их много и нихрена непонятно что с ними делать, в итоге я так и не понял какого модуля нехватает. Я вообще непоняимаю что значит "неопределённая ссылка" :( Наверно, значит, что она есть но не определена, а как и для чего её определять? Что-то я упорно не въеду, я не программист! ]:->

#8 25.03.2014 07:59:18

yars
Administrator
Зарегистрирован: 23.03.2012
Сообщений: 9 369
IP-адрес

Сборка ядра, ошибка undefined reference

Зачем?
Затем, чтобы найти исходник модуля, фунуция из которого используется данным модулем. Файл не надо было открывать.

#9 25.03.2014 08:10:21

drBatty
Administrator
Зарегистрирован: 20.02.2010
Сообщений: 17 053
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Wehrmacht_Rover
Как не долбился - ничего не нашёл и не понял какие опции копать надо, хотя и понял что связано оно со звуковыми дровами. Раньше не один раз собирал ядро - такого ещё не видел! Что характерно, всё же собралось, но не может допилить до конца почему-то, как я понял.
можно подробнее, что именно вы пытались собрать?

#10 25.03.2014 08:13:09

drBatty
Administrator
Зарегистрирован: 20.02.2010
Сообщений: 17 053
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Wehrmacht_Rover
их много и нихрена непонятно что с ними делать, в итоге я так и не понял какого модуля нехватает. Я вообще непоняимаю что значит "неопределённая ссылка"
не зная брода, не суйся в воду.

Вы точно уверенны, что вы команды правильно набирали? Не, я конечно идиот, но слышал правило про "не с глаголом", которое вы систематически нарушаете. Думаю и в вашей "инсталляции" тоже.

#11 25.03.2014 08:51:50

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by drBatty
не зная брода, не суйся в воду.

Я не пытаюсь перепрограммировать ядро, а пытаюсь его только собрать.
Quote by drBatty
Вы точно уверенны, что вы команды правильно набирали?

Уверен на 100%, так как
Quote by Wehrmacht_Rover
Компилил таким же образом на другом компе - всё отлично собралось и ядро нормально работало.

Quote by drBatty
слышал правило про "не с глаголом", которое вы систематически нарушаете

Нет такого правила в языках C, C++ и др.
Quote by drBatty
Думаю и в вашей "инсталляции" тоже.

Поэтому к сборке ядра не имеет никакого отношения.

Я задавал другой вопрос, на который не получил от вас адекватного ответа, к сожалению, в итоге оффтоп. *STOP*

#12 25.03.2014 09:00:54

yars
Administrator
Зарегистрирован: 23.03.2012
Сообщений: 9 369
IP-адрес

Сборка ядра, ошибка undefined reference

Wehrmacht_Rover, вы как ядро конфигурируете? Такое может быть, если вы что-то поправили в /usr/src/linux/.config руками. У ядерных модулей тоже есть зависимости.

#13 25.03.2014 09:06:56

drBatty
Administrator
Зарегистрирован: 20.02.2010
Сообщений: 17 053
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Wehrmacht_Rover
слышал правило про "не с глаголом", которое вы систематически нарушаете

Нет такого правила в языках C, C++ и др.
есть. Увы.
Quote by Wehrmacht_Rover
Я задавал другой вопрос, на который не получил от вас адекватного ответа, к сожалению, в итоге оффтоп.
вопрос поставлен некорректно.

#14 25.03.2014 09:29:37

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by drBatty
есть. Увы.

В моём случает надо не в исходниках колупаться, вспоминая как пишется "не с глаголом" или что-то ещё, а поправить что-то в конфигурации, что и пытаюсь выяснить.
Quote by drBatty
вопрос поставлен некорректно.

Для тех кто с этим вопросом не сталкивался.

Думаю это связано с дровами звуковухи, которые я указал в конфиге быть в ядре - "snd_intel8x0", может быть помимо этого драйвера надо что-то ещё включить.
[console]bash-4.2# lspci | grep audio
00:04.0 Multimedia audio controller: NVIDIA Corporation CK804 AC'97 Audio Controller (rev a2)[/console]
Аудиочип - Realtek
[console]bash-4.2# lsmod | grep snd
snd_seq_dummy 1119 0
snd_hrtimer 1272 0
snd_seq 40980 1 snd_seq_dummy
snd_seq_device 4244 2 snd_seq,snd_seq_dummy
snd_intel8x0 23649 6
snd_ac97_codec 89231 1 snd_intel8x0
snd_pcm 62870 4 snd_ac97_codec,snd_intel8x0
snd_page_alloc 6062 2 snd_intel8x0,snd_pcm
snd_timer 14870 3 snd_hrtimer,snd_pcm,snd_seq
snd 44159 16 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm,snd_seq,snd_seq_device
soundcore 4318 1 snd
ac97_bus 834 1 snd_ac97_codec[/console]
snd_ac97_codec я там не нашёл, может он автоматом включается *SCRATCH*

#15 25.03.2014 09:50:37

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Wehrmacht_Rover
Если нужен был модуль для какого-то нового устройства, то я просто добавлял его в конфиге и делал make modules и собирался только нужный мне модуль без пересборки всего. Наверное, это не новость?

как добавлял? через make *config или вручную?
если второе, то после этого make oldconfig делал?
если нет, то ССЗБ...

как искать подобные фещи grep'ом:

grep -r regmap_init_i2c в числе прочего даёт это:

drivers/base/regmap/regmap-i2c.c:EXPORT_SYMBOL_GPL(regmap_init_i2c);

дальше в drivers/base/regmap/Makefile смотришь что надо включить:
obj-$(CONFIG_REGMAP_I2C) += regmap-i2c.o

т.е. включить надо CONFIG_REGMAP_I2C. соответственно модулем или в ядро...

#16 25.03.2014 10:08:23

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Fat-Zer
как добавлял? через make *config или вручную?

В данном случае ничего не добавлял, а делал на чистом ядре. Добавлял командой make xconfig && make modules && make modules_install когда, на другом компе собирал.
Quote by Fat-Zer
как искать подобные фещи grep'ом:

Спасибо за дельный совет. Попробую.

#17 25.03.2014 10:40:26

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Fat-Zer
т.е. включить надо CONFIG_REGMAP_I2C. соответственно модулем или в ядро...

Эта хрень была включена модулем, включил в ядро - таже самая ошибка *WALL*

#18 25.03.2014 10:53:22

Silencer
Administrator
Зарегистрирован: 23.10.2010
Сообщений: 846
IP-адрес

Сборка ядра, ошибка undefined reference

как обстоит ситуация с

CONFIG_i2C
??

#19 25.03.2014 10:59:12

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Silencer
как обстоит ситуация с CONFIG_i2C??

CONFIG_I2C=m

Upd: теперь так: CONFIG_I2C=y, процесс пошёл! Спасибо за подсказку! Посмотрю что получится...

#20 25.03.2014 11:45:10

yars
Administrator
Зарегистрирован: 23.03.2012
Сообщений: 9 369
IP-адрес

Сборка ядра, ошибка undefined reference

На будущее: предпочтительно использования одного из вариантов make *config, в этом случае зависимости учитываются и со сборкой ядра проблем не будет.

#21 25.03.2014 11:56:46

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by yars
предпочтительно использования одного из вариантов make *config, в этом случае зависимости учитываются и со сборкой ядра проблем не будет.

Я использовал make xconfig, зависимость не учлась, пришлось вручную править. *DONT_KNOW*

#22 25.03.2014 12:04:35

Silencer
Administrator
Зарегистрирован: 23.10.2010
Сообщений: 846
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Wehrmacht_Rover
процесс пошёл!

*BRAVO*

#23 25.03.2014 12:18:09

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Kernel panic, call trace и куча непонятных строк :'(
Где искать лог? В /var/log нихрена ненашёл, все ошибки которые высыпались во время загрузки нового ядра просто никуда не записались? Как тогда отлаживать?

#24 25.03.2014 12:30:31

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Сборка ядра, ошибка undefined reference

Wehrmacht_Rover, хоть каталог сборки чистил?

Quote by Wehrmacht_Rover
Как тогда отлаживать?

гипотетически, можно к компорту подцепиться...

#25 25.03.2014 15:14:19

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Fat-Zer
хоть каталог сборки чистил?

Чистил и собирал заново - один хрен.
Вот ошибка:
[console]No filesistem could mount root, tried: ext3 ext2 ext4 squashfs fat msdos iso9660 ntfs fuseblk udf
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,19)
CPU: 0 PID: 1 Comm: swapper Non tainted 3.10.17k8 #6[/console]
Переписал со снимка.
Понятно, что с ФС проблемы, но я же все нужные фс включил в ядре, все что указаны в сообщении как раз встроены в ядро! Что ему ещё надо?

#26 25.03.2014 15:46:31

yars
Administrator
Зарегистрирован: 23.03.2012
Сообщений: 9 369
IP-адрес

Сборка ядра, ошибка undefined reference

У вас на корне ext4? Модуль в ядре? Драйвер контроллера жестких дисков в ядре? Загрузчик параметр root= ядру передает правильный?

#27 25.03.2014 15:52:44

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by yars
У вас на корне ext4? Модуль в ядре? Драйвер контроллера жестких дисков в ядре? Загрузчик параметр root= ядру передает правильный?

Да, всё так.

#28 25.03.2014 16:10:30

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Сборка ядра, ошибка undefined reference

Quote by Wehrmacht_Rover
Да, всё так.

у всех на этом форуме недоверия к словам человека из-за закона 95%-в сидит если не в сердце, то в других внутренних органах точно... так что когда утверждаешь, что всё так, то подтверждай это конфигами, логами, кодом и выводом команд... в данном случае нужен конфиг ядра, lspci -k и строчками из груба, fdisk -l (gdisk -l в случае, если ты модник) и fstab.

#29 25.03.2014 16:42:56

Wehrmacht_Rover
Administrator
Зарегистрирован: 17.08.2012
Сообщений: 282
IP-адрес

Сборка ядра, ошибка undefined reference

#30 25.03.2014 17:21:35

Fat-Zer
Administrator
Зарегистрирован: 14.10.2010
Сообщений: 4 977
IP-адрес

Сборка ядра, ошибка undefined reference

гмм... второе ядро грузится нормально?
единственное, что мне не нравится, так это то, что грузится он с sdb... попробуй указать root = sda... и только там... а то вдруг из-за проделок злого колдуна порядок дисков поменялся... 500-гиговой ведь саташный, а 60-ка IDE'шная?

Board footer