Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Перекомпиляция ядра...

Ответить
Настройки темы
Перекомпиляция ядра...

Аватара для Mr Dan

Пользователь


Сообщения: 69
Благодарности: 0

Профиль | Отправить PM | Цитировать


Привет народ. Помогите разобраться. Вот решил пересобрать ядро, повыкидывать оттуда ненужные компоненты и т.д., короче говоря занялся оптимизацией. Дистрибутив ASP 9.2 Express. Значит делаю make menuconfig, настраиваю, сохраняю конфигурацию, делаю make dep, make bzImage, make modules, make modules_install
Прописываю в grub.conf ссылку на новое ядро, гружусь...

И тут начинают вылазить сюрпризы. Во-первых при загрузке ругается на то что не удается загрузить usbcore.o, input.o и parport.o. Пишет кучу строк типа: путь_к_модулям/usbcore: undefined symbols тра-ля-ля и т.д.
Остальные службы загружаются нормально, но после того когда логинюсь в систему, делаю lsmod и оказывается что никаких модулей-то и не загружено - пусто. Пытаюсь сделать ручками например insmod путь_к_модулям/input.o. Но ругается как и при загрузке типа путь_к_модулям/input: undefined symbols тра-ля-ля и т.д. и кучу таких строк.
В чем тут может быть дело???
Вот кусок из /var/log/messages
Код: Выделить весь код
 
Jul 18 17:57:13 fantom insmod: /lib/modules/2.4.22-1.2154.nptl.asp/kernel/drivers/parport/parport.o: insmod char-major-6 failed 
Jul 18 17:57:13 fantom last message repeated 7 times 
Jul 18 17:57:13 fantom modprobe: modprobe: Can't locate module char-major-188 
Jul 18 17:57:14 fantom last message repeated 15 times 
Jul 18 17:57:14 fantom modprobe: modprobe: Can't locate module char-major-180 
Jul 18 17:57:14 fantom last message repeated 15 times 
Jul 18 17:57:14 fantom insmod: /lib/modules/2.4.22-1.2154.nptl.asp/kernel/drivers/parport/parport.o: insmod char-major-6 failed 
Jul 18 17:57:14 fantom last message repeated 3 times 
Jul 18 17:57:15 fantom modprobe: modprobe: Can't locate module char-major-180 
Jul 18 17:57:15 fantom last message repeated 7 times 
Jul 18 17:57:15 fantom insmod: /lib/modules/2.4.22-1.2154.nptl.asp/kernel/drivers/parport/parport.o: insmod char-major-6 failed 
Jul 18 17:57:15 fantom last message repeated 3 times 
Jul 18 17:57:15 fantom modprobe: modprobe: Can't locate module char-major-180
А вот небольшой кусок сообщений, которые были при компиляции модулей make modules:
Код: Выделить весь код
 
In file included from ac.c:26: 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:60:31: invalid suffix "d5eeb25" on integer constant 
In file included from ac.c:26: 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:60: error: syntax error before numeric constant 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:60: warning: function declaration isn't a prototype 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:61:17: invalid suffix "bf0" on integer constant 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:61: error: syntax error before numeric constant 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:62: error: `panic_R_ver_str' declared as function returning a function 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:62: warning: function declaration isn't a prototype 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:68: error: syntax error before numeric constant 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:68: error: `simple_strtoul_R_ver_str' declared as function returning a function 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:68: warning: function declaration isn't a prototype 
/usr/src/linux-2.4.22-1.2154.nptl.asp/include/linux/kernel.h:69:13: invalid suffix "b742fd7" on integer constant
Там их вообще многовато, чего-то мне сдается что это не нормально.

А вот сообщения которые были при make modules_install:
Код: Выделить весь код
 
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `ac.o': No such file or directory 
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `battery.o': No such file or directory 
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `button.o': No such file or directory 
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `fan.o': No such file or directory 
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `processor.o': No such file or directory 
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `thermal.o': No such file or directory 
make[2]: *** [_modinst__] Ошибка 1 
make[1]: *** [_modinst_acpi] Ошибка 2 
make: *** [_modinst_drivers] Ошибка 2
Извиняюсь что в KOI-8...

Кстати, а перед компиляцией модулей нужно удалять содержимое /lib/modules ???
Просвятите плиз....

-------
The truth is out there...


Отправлено: 13:41, 20-07-2004

 

Аватара для makaveli lcf

Старожил


Сообщения: 270
Благодарности: 1

Профиль | Отправить PM | Цитировать


хехе = так у вас ядро с ошибками собралось (вернее модули к нему) = что от него тогда требовать)))
видимо
1) либо вы не очистили исходники перед компиляцией
make mrproper
2) либо убрали из конфигов много лишнего_нужного

Цитата:
Код:


cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `ac.o': No such file or directory
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `battery.o': No such file or directory
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `button.o': No such file or directory
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `fan.o': No such file or directory
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `processor.o': No such file or directory
cp: ОЕЧПЪНПЦОП ЧЩРПМОЙФШ stat ДМС `thermal.o': No such file or directory
make[2]: *** [_modinst__] Ошибка 1
make[1]: *** [_modinst_acpi] Ошибка 2
make: *** [_modinst_drivers] Ошибка 2
вы для ноутбука ядро собираете??


Добавлено:

а что вы убрали из ядра?

-------
Now I know that the LORD [is] greater than all gods: for in the thing wherein they dealt proudly [he was] above them. (Exodus 18:11)


Отправлено: 08:30, 21-07-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Mr Dan

Пользователь


Сообщения: 69
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нет, не для ноутбука! А почему спросили? Как тогда избавится от того что ругается? Из я дра повыкидывал поддержку Bluetooth, RAID, Radio Adapters, ну и драйвера к ненужным мне чипсетам и т.п. Ничего жизнено важного вроде не трогал. Ну так как тогда собрать модули правильно, чтоб без ошибок. Можно порядок действий или совет какой-нить?! И вы мне так и не ответили на вопрос, нужно ли перед сборкой модулей убивать содержимое /lib/modules? Или это не обязательно?

-------
The truth is out there...


Отправлено: 09:17, 21-07-2004 | #3


Аватара для makaveli lcf

Старожил


Сообщения: 270
Благодарности: 1

Профиль | Отправить PM | Цитировать


просто я вам прокомментирую = все это модули ACPI (advanced power control interface если не ошибаюсьв )

ac - модуль проверки наличия питания от сети
battery - отвечает за аккумулятор ноутбуков
button - кнопки срежимов ожидания/выключения компьтора
fan - вентилятор
processor - различные дополнительные режимы работы процессора
thermal - температурные датчики

все это обычно собирается под ноутбук, чтобы организовать энергосберегающие режимы = на десктопах я не импользовал ничего кроме button (для выключения компа с помощью acpid нажатием кнопки питания - аналогично /sbin/shutdown -h now)

так что если вы действительно облегчаете ядро = то отключите все это = тем более на некоторых компах acpi вызывает сбои
можно кешно собрать ядро и с acpi, по-любому его можно отключить при загрузке
boot: Linux acpi=off

попробуйте собрать без поддержки acpi = потом пошагово добавите = главное получить рабочую конфигурацию ядра

-------
Now I know that the LORD [is] greater than all gods: for in the thing wherein they dealt proudly [he was] above them. (Exodus 18:11)


Отправлено: 10:21, 22-07-2004 | #4


Аватара для Mr Dan

Пользователь


Сообщения: 69
Благодарности: 0

Профиль | Отправить PM | Цитировать


Одним из результатов инициативы OnNow является спецификация ACPI 1.0 (Advanced Configuration and Power Interface Version 1.0), которая определяет новый интерфейс между системной платой и BIOS, расширяющий данные Plug and Play путем включения управления электропитанием и других конфигурационных возможностей, осуществляемых под контролем операционной системы. Спецификация ACPI определяет новый интерфейс между операционной системой и компонентами компьютера, обеспечивающими поддержку Plug and Play и управления электропитанием. Это позволяет разработчикам реализовать целый диапазон функций Plug and Play и управления электропитанием для самых разных аппаратных платформ при использовании одного и того же драйвера операционной системы. Помимо этого, ACPI предоставляет общий механизм системных событий для Plug and Play и управления электропитанием.

Т.е. для десктопов это такая же необходимость как и для ноутбуков. Главное, чтобы системная плата поддерживала ACPI. Разве что battery действительно на десктопах вряд ли понадобится.

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

Спасибо, буду пытаться дальше эксперементировать ;-)

-------
The truth is out there...


Отправлено: 11:56, 22-07-2004 | #5


Аватара для makaveli lcf

Старожил


Сообщения: 270
Благодарности: 1

Профиль | Отправить PM | Цитировать


могу сказать = что выбросив acpi  вы ничего не потеряете))) зато ядро собереться правильно

-------
Now I know that the LORD [is] greater than all gods: for in the thing wherein they dealt proudly [he was] above them. (Exodus 18:11)


Отправлено: 07:40, 23-07-2004 | #6

kosmik


Сообщения: n/a

Профиль | Цитировать


ЛЮДИ!! ЛЮДИ!!!!

Веть прежде чем компилять ядро - скопируйте в его каталог дефаулт конфиг от текущей компиляции! Иначе при первом запуске make menuconfig - вы получите как-бы оптимизированный конфиг с кучей вырезанных и него модулей!

Далее, если в конфиге ядра прописано load all symbols from modules - немедленно убрать - иначем хрен скомпиляешь, а если и скомпиляешь - то не один модуль за грузится!

А далее уже сами думайте да хэлпы к пунктам читайте!!!

Отправлено: 15:24, 12-08-2004 | #7


Пользователь


Сообщения: 61
Благодарности: 0

Профиль | Отправить PM | Цитировать


Скажи мне, любезный, а ты не забыл сделать mkinitrd для нового ядра, и прописать куда следует? Если ты собрал не монолитное ядро, то без этого оно у тебя вообще может уйти в kernel panic.

Отправлено: 11:51, 14-08-2004 | #8

kosmik


Сообщения: n/a

Профиль | Цитировать


2 SystemZ

Очевидно он забыл ! Для ентого делается make install, который ЭТО и делает!
Очень хорошо make install дружит с grub!

Отправлено: 01:56, 17-08-2004 | #9



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Перекомпиляция ядра...

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Два ядра. kreasot Игры 3 29-10-2007 20:35
Сборка ядра Pink Punk Общий по Linux 14 25-05-2003 09:17
Компиляция ядра DYURIK Общий по Linux 38 30-04-2003 14:09
Компиляция ядра Andro Общий по Linux 17 25-04-2003 21:06
Установка ядра Guest Общий по Linux 8 15-03-2003 08:54




 
Переход