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

+ открыть спойлер

 Консоль:
bash-4.2$ cd /usr/src/linux
bash-4.2$ make O=/home/wr/build/kernel
make[2]: Цель `all' не требует выполнения команд.
make[2]: Цель `relocs' не требует выполнения команд.
  Using /usr/src/linux-3.10.17 as source for kernel
  GEN     /home/wr/build/kernel/Makefile
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    /usr/src/linux-3.10.17/scripts/checksyscalls.sh
  CC      scripts/mod/devicetable-offsets.s
  GEN     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTLD  scripts/mod/modpost
  CHK     include/generated/compile.h
make[4]: `arch/x86/realmode/rm/realmode.bin' не требует обновления.
  CHK     kernel/config_data.h
  LINK    vmlinux
  LD      vmlinux.o
  MODPOST vmlinux.o
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
sound/built-in.o: In function `snd_soc_codec_set_cache_io':
(.text+0x33061): undefined reference to `regmap_init_i2c'
make[1]: *** [vmlinux] Ошибка 1
make: *** [sub-make] Ошибка 2

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

2

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

Silencer пишет:

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

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

4

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

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580
yars пишет:

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

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

6

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

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580
yars пишет:

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

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

8

Зачем?

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

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

9

Wehrmacht_Rover пишет:

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

можно подробнее, что именно вы пытались собрать?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

10

Wehrmacht_Rover пишет:

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

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

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

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

11 (25.03.2014 12:53:14 отредактировано Wehrmacht_Rover)

drBatty пишет:

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

Я не пытаюсь перепрограммировать ядро, а пытаюсь его только собрать.

drBatty пишет:

Вы точно уверенны, что вы команды правильно набирали?

Уверен на 100%, так как

Wehrmacht_Rover пишет:

Компилил таким же образом на другом компе - всё отлично собралось и ядро нормально работало.

drBatty пишет:

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

Нет такого правила в языках C, C++ и др.

drBatty пишет:

Думаю и в вашей "инсталляции" тоже.

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

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

12

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

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580

13

Wehrmacht_Rover пишет:

   

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

Нет такого правила в языках C, C++ и др.

есть. Увы.

Wehrmacht_Rover пишет:

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

вопрос поставлен некорректно.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)
drBatty пишет:

есть. Увы.

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

drBatty пишет:

вопрос поставлен некорректно.

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

Думаю это связано с дровами звуковухи, которые я указал в конфиге быть в ядре - "snd_intel8x0", может быть помимо этого драйвера надо что-то ещё включить.

 Консоль:
bash-4.2# lspci | grep audio
00:04.0 Multimedia audio controller: NVIDIA Corporation CK804 AC'97 Audio Controller (rev a2)

Аудиочип - Realtek
 Консоль:
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

snd_ac97_codec я там не нашёл, может он автоматом включается  bw

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

15

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. соответственно модулем или в ядро...

95% процентов проблем находятся между клавиатурой и стулом.
Fat-Zer пишет:

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

В данном случае ничего не добавлял, а делал на чистом ядре. Добавлял командой make xconfig && make modules && make modules_install когда, на другом компе собирал.

Fat-Zer пишет:

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

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2
Fat-Zer пишет:

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

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

18 (25.03.2014 14:53:38 отредактировано Silencer)

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

CONFIG_i2C

??

19 (25.03.2014 15:04:32 отредактировано Wehrmacht_Rover)

Silencer пишет:

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

CONFIG_I2C=m

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

20

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

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580
yars пишет:

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

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

22

Wehrmacht_Rover пишет:

процесс пошёл!

bi

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

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

24

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

Wehrmacht_Rover пишет:

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

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

95% процентов проблем находятся между клавиатурой и стулом.
Fat-Zer пишет:

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

Чистил и собирал заново - один хрен.
Вот ошибка:

 Консоль:
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

Переписал со снимка.
Понятно, что с ФС проблемы, но я же все нужные фс включил в ядре, все что указаны в сообщении как раз встроены в ядро! Что ему ещё надо?

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

26

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

Истинный hotplug - это обычная электрическая розетка: воткнул - работает, и никаких драйверов.
Arch Linux/Xfce/Xiaomi Mi Notebook Pro 15.6 | Slackware64-current/Xfce/Lenovo G580
yars пишет:

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

Да, всё так.

OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

28

Wehrmacht_Rover пишет:

Да, всё так.

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

95% процентов проблем находятся между клавиатурой и стулом.
Fat-Zer пишет:

подтверждай это конфигами, логами, кодом и выводом команд

Конфиг ядра .config http://yadi.sk/d/I8A87ddaLCPTG

+ логи, коды и выводы команд
bash-4.2# lspci -k
00:00.0 Memory controller: NVIDIA Corporation CK804 Memory Controller (rev a3)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
00:01.0 ISA bridge: NVIDIA Corporation CK804 ISA Bridge (rev a3)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
00:01.1 SMBus: NVIDIA Corporation CK804 SMBus (rev a2)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
    Kernel driver in use: nForce2_smbus
    Kernel modules: i2c_nforce2
00:02.0 USB controller: NVIDIA Corporation CK804 USB Controller (rev a2)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
    Kernel driver in use: ohci_hcd
    Kernel modules: ohci_hcd
00:02.1 USB controller: NVIDIA Corporation CK804 USB Controller (rev a3)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
    Kernel driver in use: ehci-pci
    Kernel modules: ehci_pci
00:04.0 Multimedia audio controller: NVIDIA Corporation CK804 AC'97 Audio Controller (rev a2)
    Subsystem: Gigabyte Technology Co., Ltd Device ae01
    Kernel driver in use: snd_intel8x0
    Kernel modules: snd_intel8x0
00:06.0 IDE interface: NVIDIA Corporation CK804 IDE (rev f2)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
    Kernel driver in use: pata_amd
00:07.0 IDE interface: NVIDIA Corporation CK804 Serial ATA Controller (rev f3)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
    Kernel driver in use: sata_nv
00:09.0 PCI bridge: NVIDIA Corporation CK804 PCI Bridge (rev a2)
00:0a.0 Bridge: NVIDIA Corporation CK804 Ethernet Controller (rev a3)
    Subsystem: Gigabyte Technology Co., Ltd GA-K8N Ultra-9 Mainboard
    Kernel driver in use: forcedeth
    Kernel modules: forcedeth
00:0b.0 PCI bridge: NVIDIA Corporation CK804 PCIE Bridge (rev a3)
    Kernel driver in use: pcieport
    Kernel modules: shpchp
00:0c.0 PCI bridge: NVIDIA Corporation CK804 PCIE Bridge (rev a3)
    Kernel driver in use: pcieport
    Kernel modules: shpchp
00:0d.0 PCI bridge: NVIDIA Corporation CK804 PCIE Bridge (rev a3)
    Kernel driver in use: pcieport
    Kernel modules: shpchp
00:0e.0 PCI bridge: NVIDIA Corporation CK804 PCIE Bridge (rev a3)
    Kernel driver in use: pcieport
    Kernel modules: shpchp
00:18.0 Host bridge: AMD [Advanced Micro Devices, Inc.] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: AMD [Advanced Micro Devices, Inc.] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: AMD [Advanced Micro Devices, Inc.] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: AMD [Advanced Micro Devices, Inc.] K8 [Athlon64/Opteron] Miscellaneous Control
    Kernel driver in use: k8temp
    Kernel modules: k8temp
05:00.0 VGA compatible controller: NVIDIA Corporation NV43 [GeForce 6600] (rev a2)
    Subsystem: ASUSTeK Computer Inc. EN6600 Silencer
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia

lilo.conf:

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/sdb

#compact        # faster, but won't work on all systems.

# Standard menu.
message = /boot/boot_message.txt

# Append any additional kernel parameters:
append=" vt.default_utf8=1 raid=noautodetect"
prompt
timeout = 50
# Normal VGA console
vga = normal
# Ask for video mode at boot (time out to normal in 30s)
#vga = ask
# VESA framebuffer console @ 1024x768x64k
# vga=791
# VESA framebuffer console @ 1024x768x32k
# vga=790
# VESA framebuffer console @ 1024x768x256
# vga=773
# VESA framebuffer console @ 800x600x64k
# vga=788
# VESA framebuffer console @ 800x600x32k
# vga=787
# VESA framebuffer console @ 800x600x256
# vga=771
# VESA framebuffer console @ 640x480x64k
# vga=785
# VESA framebuffer console @ 640x480x32k
# vga=784
# VESA framebuffer console @ 640x480x256
# vga=769
# ramdisk = 0     # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
  root = /dev/sdb3
  label = Slackware-new
  read-only  # Partitions should be mounted read-only for checking
  
image = /boot/vmlinuz-huge-smp-3.10.17-smp
  root = /dev/sdb3
  label = Slackware
  read-only  # Partitions should be mounted read-only for checking
# Linux bootable partition config ends

fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
240 heads, 63 sectors/track, 64601 cylinders, всего 976773168 секторов
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x5ab512ae

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *          63   136306799    68153368+   7  HPFS/NTFS/exFAT
Partition 1 does not start on physical sector boundary.
/dev/sda2       136314880   556359679   210022400    7  HPFS/NTFS/exFAT
/dev/sda3       556359680   976771055   210205688    f  W95 расшир. (LBA)
/dev/sda5       556361728   976771055   210204664    7  HPFS/NTFS/exFAT

Disk /dev/sdb: 60.1 GB, 60059074048 bytes
255 heads, 63 sectors/track, 7301 cylinders, всего 117302879 секторов
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4362464a

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1   *          63      257039      128488+  83  Linux
/dev/sdb2          257040     2249099      996030   82  Linux своп
/dev/sdb3         2249100    38250764    18000832+  83  Linux
/dev/sdb4        38250765   117302878    39526057   83  Linux

Диск /dev/sdc: 7743 МБ, 7743995904 байт
239 heads, 62 sectors/track, 1020 cylinders, всего 15124992 секторов
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x69205244

Это не похоже на таблицу разделов
Возможно, вы выбрали неверное устройство.

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1   ?   218129509  1920119918   850995205   72  Неизвестный
/dev/sdc2   ?   729050177  1273024900   271987362   74  Неизвестный
/dev/sdc3   ?   168653938   168653938           0   65  Novell Netware 386
/dev/sdc4      2692939776  2692991410       25817+   0  Пустой

Пункты таблицы разделов расположены не в дисковом порядке

fstab

/dev/sdb2        swap             swap        defaults         0   0
/dev/sdb3        /                ext4        defaults         1   1
/dev/sdb1        /boot            ext4        defaults         1   2
/dev/sdb4        /home            ext4        defaults         1   2
/dev/sda2        /mnt/win         ntfs-3g     fmask=133,dmask=022 1   0
#/dev/sda5        /mnt/home2      ext4          defaults         0   0
/dev/sda3        /mnt/data-1      ntfs-3g     fmask=111,dmask=000,users,exec 0   0
/dev/sda5        /mnt/data-2      ntfs-3g     fmask=111,dmask=000,users,exec 0   0
/dev/cdrom       /mnt/cdrom       auto        noauto,users,ro,comment=x-gvfs-show 0   0
#/dev/fd0        /mnt/floppy      auto        noauto,owner     0   0
devpts           /dev/pts         devpts      gid=5,mode=620   0   0
proc             /proc            proc        defaults         0   0
tmpfs            /dev/shm         tmpfs       defaults         0   0
#tmpfs         /tmp          tmpfs          defaults         0   0
OS: Gentoo
CPU: Xeon E5450 RAM: 8 Gb DDR2, VGA: GeForce GTX750 Ti
MB: Asus P5Q SE2

30

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

95% процентов проблем находятся между клавиатурой и стулом.