URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 31017
[ Назад ]

Исходное сообщение
"Проблемы с запуском нового kernel-2.4.21"

Отправлено nece , 17-Июн-03 00:18 
Ребят выручайте.
Вроде всё как обычно но есть НО, даже в книгу "Использование Linux 6-е издание" залез, но ответа не нашёл (пишу из дома т.к из-за возникшей проблемы вылетел инет).
Проблема в следующем:
Был у меня Mandrake 9.0 захотел я поставить на него новое ядро 2.4.21
1 Скачал его новые исходники с одного из зеркал обновления MDK.
2 Скачал iptables-1.2.7a (mdk)
3 Скачал iptables-devel-1.2.7a (asp)

Ставлю исходники
rpm -Uvh kernel-source-2.4.21-0.13mdk.rpm

Выдаёт ошибку что мол давай новый glibc (2.3)
Ладно думаю обновлю пакеты и начинаю обновлятся с CD Mandrake 9.1
Обновление прошло нормально
Устанавливаю исходники kernel-2.4.21, iptables, iptables-devel - всё нормально

Потом
# make menuconfig
Отконфигурил

# make dep
# make clean
# make bzImage
# make modules
# make modules_install

Всё прошло без error

Копирую /usr/src/linux/System.map в /boot как System.map-2.4.21
Копирую /usr/src/linux/arch/i386/bzImage в /boot как bzImage-2.4.21

Лезу в /etc/lilo.conf чтобы прописать новое ядро

boot=/dev/hda
map=/boot/map
default="linux-2.4.21"
keytable=/boot/ru4.klt
prompt
nowarn
timeout=100
message=/boot/message
menu-scheme=wb:bw:wb:bw
image=/boot/bzImage-2.4.21
    label="linux-2.4.21"
    root=/dev/hda7
    initrd=/boot/initrd.img
    append="devfs=mount acpi=off quiet"
    vga=788
    read-only
и в этот раз возникли следующие вопросы:
1) если сделать как советуют в книге, тоесть изменить  только параметры image, label (к примеру с bzImage-2.4.19 на bzImage-2.4.21 и в lable с "linux-2.4.19" на "linux-2.4.21") и всё а потом сделать
# lilo
то всё проходит нормально. Но после перезагрузки системы и загрузки под новым ядром вылетают ошибки (что немогу найти линки и вообще кернел паник)
И я не могу понять где проблема ядро же собралось без ошибок!!!!

2) Загрузился под старым ядром
и начал иследовать lilo.conf, вопрос вследующем что за параметр
initrd=
Так как под одним из старых ядер
A) image=bzImage-2.4.19-mdk24 а в initrd что то типа
initrd=/boot/initrd-2.4.19-mdk16.img
И если загрузится под ним и сделать uname -a то выдаётся что ядро
2.4.19-mdk16 хотя загрузка происходила под bzImage-2.4.19-mdk24

B) А тут всё ок
image=bzImage-2.4.19-mdk16
  initrd=/boot/initrd-2.4.19-mdk16.img
И если загрузится под этим и сделать uname -a то выдаётся что ядро
2.4.19-mdk16. Тоесть всё совпало.


Содержание

Сообщения в этом обсуждении
"Проблемы с запуском нового kernel-2.4.21"
Отправлено as , 17-Июн-03 05:40 
1) man initrd - все изумительно описано;
2) после сборки ядра создай новый initrd:
mkinitrd /boot/initrd-2.4.21 2.4.21;
3) в лило :
initrd=/boot/initrd-2.4.21 и будет тебе счастье (в mkinitrd сам initrd можешь обзывать как хочешь а второй параметр обязательно версия ядра).

"Проблемы с запуском нового kernel-2.4.21"
Отправлено noname , 17-Июн-03 09:44 

>и начал иследовать lilo.conf, вопрос вследующем что за параметр
>initrd=

initrd - Initial RAM disk. В lilo прописывается путь к его образу *.img

man mkinitrd - о том, как это делается. Обычно в этот образ помещают модули необходимые до загрузки ядра - например, для самого-нового-SCSI-контроллера-в-этой-галактике, о котором еше не знает твоя система



"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 17-Июн-03 21:48 
Спасибо

"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 18-Июн-03 00:38 
Хочу уточнить:

1) Тогда получается что после этого и проблемы с depmod -a  исчезнут (что нету линков на такието модули?)

>(в mkinitrd сам initrd можешь обзывать как хочешь а второй параметр обязательно версия ядра)

2) А если я пересобираю тоже ядро (2.4.21), то как тогда mkinitrd
будет отличать что новое а что нет.
Тоесть работаю я под новым ядром скажем 2.4.21 c initrd= initrd-2.4.21
Теперь надо пересобрать ядро чтобы включить пару нужных опций и отключить лишнее.
Как в этой ситуации mkinitrd поймёт что новое и что старое и не надо
(mkinitrd /boot/initrd-2.4.21-2  2.4.21)
название имиджа initrd другое, а номер ядра то будет тот же


"Проблемы с запуском нового kernel-2.4.21"
Отправлено as , 18-Июн-03 04:32 
>Хочу уточнить:
>
>1) Тогда получается что после этого и проблемы с depmod -a  
>исчезнут (что нету линков на такието модули?)
>
>>(в mkinitrd сам initrd можешь обзывать как хочешь а второй параметр обязательно версия ядра)
>
>2) А если я пересобираю тоже ядро (2.4.21), то как тогда mkinitrd
>
>будет отличать что новое а что нет.
>Тоесть работаю я под новым ядром скажем 2.4.21 c initrd= initrd-2.4.21
>Теперь надо пересобрать ядро чтобы включить пару нужных опций и отключить лишнее.
>
>Как в этой ситуации mkinitrd поймёт что новое и что старое и
>не надо
>(mkinitrd /boot/initrd-2.4.21-2  2.4.21)
>название имиджа initrd другое, а номер ядра то будет тот же

Ну и что? Имидж ты можешь обозвать как угодно, но в mkinitrd последний параметр - это версия ядра, с которым ты возишся.
Или я вопрос не понял?


"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 18-Июн-03 14:04 
>Ну и что? Имидж ты можешь обозвать как угодно, но в mkinitrd
>последний параметр - это версия ядра, с которым ты возишся.
>Или я вопрос не понял?

Про имидж понятно. А вот я дро то как.
Тоесть стояло у тебя по умолчанию ядро 2.4.21 и имидж скажем 2.4.21
потом ты решил его пересобрать, выкинуть то что не нужно.
Выкинул, пересобрал.
Врезультате ядро осталось тоже, а имидж ты можешь назвать скажем new-2.4.21.
Вопрос: когда будешь делать mkinitrd поймёт ли он что ты изменил ядро и
создаст ли соответствующий имидж без модулей которые ты викинул.
Чтобы всё работало?


"Проблемы с запуском нового kernel-2.4.21"
Отправлено noname , 18-Июн-03 14:54 
>>Ну и что? Имидж ты можешь обозвать как угодно, но в mkinitrd
>>последний параметр - это версия ядра, с которым ты возишся.
>>Или я вопрос не понял?
>
>Про имидж понятно. А вот я дро то как.
>Тоесть стояло у тебя по умолчанию ядро 2.4.21 и имидж скажем 2.4.21
>
>потом ты решил его пересобрать, выкинуть то что не нужно.
>Выкинул, пересобрал.
>Врезультате ядро осталось тоже,

не совсем так. Стандартное ядро в поставке RedHat/Mandrake будет скажем
kernel-2.4.18, после пересборки оно будет называться уже kernel-2.4.18custom. Сравни вывод команды

uname -r

для стандартного ядра и пересобранного

> а имидж ты можешь назвать скажем new-2.4.21.
>Вопрос: когда будешь делать mkinitrd поймёт ли он что ты изменил ядро

если ему указать на custom ядро - то поймет


"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 18-Июн-03 15:19 
>kernel-2.4.18custom. Сравни вывод команды
>uname -r
>для стандартного ядра и пересобранного
> а имидж ты можешь назвать скажем new-2.4.21.
>Вопрос: когда будешь делать mkinitrd поймёт ли он что ты изменил ядро
>если ему указать на custom ядро - то поймет

тоесть
1)mkinitrd /boot/initrd-new2.4.21 2.4.21-0.18mdkcustom

2)потом в lili.conf
initrd=/boot/initrd-new2.4.21.img

3)#lilo
4)#reboot
Да?


"Проблемы с запуском нового kernel-2.4.21"
Отправлено noname , 18-Июн-03 15:29 
>тоесть
>1)mkinitrd /boot/initrd-new2.4.21 2.4.21-0.18mdkcustom
>
>2)потом в lili.conf
>initrd=/boot/initrd-new2.4.21.img
>
>3)#lilo
>4)#reboot
>Да?

cd /lib/modules
ls

смотрим чего у нас собрано. Например по ls напечаталось

2.4.18-3 2.4.18-3custom

делаем образ для custom-ядра
mkinitrd /boot/initrd-2.4.18-3custom.img 2.4.18-3custom

ну и потом прописываем этот образ в lilo.conf и перезапускаем lilo
теперь reboot!


"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 18-Июн-03 16:28 
Всё с этим всё Слава Богу :-)))))

А почему когда я делаю depmod -a вылетает следующее (я дро на всех стадия было собрано без error, может я чтото в опциях вкл. откл. намудрил?)

depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_3com/pcmf502_3com.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_504/pcmf502_504.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_inter/pcmf502_inter.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_revd/pcmf502_revd.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_reve/pcmf502_reve.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_rfmd/pcmf502_rfmd.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/hostap/hostap.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/hostap/hostap_pci.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/hostap/hostap_plx.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/prism25/cs/prism2_cs.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/prism25/pci/prism2_pci.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/qla/qla2200.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/qla/qla2300.o
depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/drivers/isdn/hisax/hisax_st5481.o


"Проблемы с запуском нового kernel-2.4.21"
Отправлено noname , 18-Июн-03 16:39 
>Всё с этим всё Слава Богу :-)))))
>
>А почему когда я делаю depmod -a вылетает следующее (я дро на
>всех стадия было собрано без error, может я чтото в опциях
>вкл. откл. намудрил?)
>
>depmod: *** Unresolved symbols in /lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_3com/pcmf502_3com.o

1) а эти модули необходимы? Если нет  отключить их в конфиге ядра и забыть об этом

2) что-то намудрено с версиями ядра или System.map?


"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 18-Июн-03 18:12 
>1) а эти модули необходимы? Если нет  отключить их в конфиге
>ядра и забыть об этом
>
>2) что-то намудрено с версиями ядра или System.map?

делал как писал выше

# urpmi kernel-source-2.4.21-0.18mdk.rpm

# make menuconfig
выключил SCASI, Video for Linux, Blooth.., 1000MB

# make dep
ok

# make clean
ok

# make bzImage
ok

# make modulles
были выведены эти сообщения похожие на эти (/lib/modules/2.4.21-0.18mdkcustom/kernel/3rdparty/atmelwlan/pcmf502_3com/pcmf502_3com.o)
...
но error сообщений небыло.

# make modules_install
ok

# mkinitrd
ok

cp /usr/src/linux/System.map /boot/System.map-2.4.21-1
cp /usr/src/linux/arch/i386/boot/bzImage /boot/bzImage-2.4.21-1

Изменения в lolo.conf
ok

reboot

depmod -a
Вывод этих сообщений


"Проблемы с запуском нового kernel-2.4.21"
Отправлено as , 19-Июн-03 12:14 
  Все вроде правильно делал. Вообще-то всегда перед компиляцией ядра советуется make mrproper делать, может у тебя дерево исходников не совсем очищается, попробуй (но забэкапь предварительно .config если он нужен).

"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 19-Июн-03 12:26 
>  Все вроде правильно делал. Вообще-то всегда перед компиляцией ядра советуется
>make mrproper делать, может у тебя дерево исходников не совсем очищается,
>попробуй (но забэкапь предварительно .config если он нужен).

Тоесть
1) сохраняю /usr/src/linux/.config  скажем в /home/user/

2) make menuconfig
3) make dep
4) make clean
5) make mrproper
... и дальше как писал выше


"Проблемы с запуском нового kernel-2.4.21"
Отправлено as , 20-Июн-03 04:54 
>>  Все вроде правильно делал. Вообще-то всегда перед компиляцией ядра советуется
>>make mrproper делать, может у тебя дерево исходников не совсем очищается,
>>попробуй (но забэкапь предварительно .config если он нужен).
>
>Тоесть
>1) сохраняю /usr/src/linux/.config  скажем в /home/user/
>
>2) make menuconfig
>3) make dep
>4) make clean
>5) make mrproper
>... и дальше как писал выше

Да нет. make mrproper перед п. 1, то бишь перед make menuconfig. А бэкап .config по желанию (я обычно оставляю старый настроенный, а потом подправляю что надо, так быстрее). Кстати, загляни-ка вот сюда http://www.linux.opennet.ru/docs/RUS/lfs/chapter06/kernel.html, кратко и доходчиво.


"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 20-Июн-03 13:15 
Спасибо пробую, если что напишу кстати если можешь кинь свой маил на gladko@inbox.ru просто если что сразу писать тебе

"Проблемы с запуском нового kernel-2.4.21"
Отправлено nece , 25-Июн-03 11:42 
Не пойму вчём теперь трабла.
Почитал ссылочку которая была выше.
И решил попробовать вначале на другом компе.
Делал так:
1)
- скачал kernel-source-2.4.21-0.18mdk.rpm
- удолил старые исходники (#rpm -e kernel-source)
- поставил новые (#urpmi kernel-source-2.4.21-0.18mdk.rpm)

2)
# make mrproper
# make menuconfig
# make dep
# make clean
# make bzImage
# make modules
# make modules_install

3)
#mkinitrd /boot/initrd-2.4.21new.img 2.4.21-0.18custom
Копирую /usr/src/linux/System.map в /boot как System.map-2.4.21new
Копирую /usr/src/linux/arch/i386/bzImage в /boot как bzImage-2.4.21new

4)
Лезу в /etc/lilo.conf и добовляю новое ядро

image=/boot/bzImage-2.4.21new
label="linux-new"
root=/dev/hda7
initrd=/boot/initrd-2.4.21new.img
append="devfs=mount acpi=off quiet"
vga=788
read-only

#lilo
#reboot

И при выборе нового ядра вовремя загрузки происходит следующее
- выбираю linux-new
- нажимаю ENTER
появляется следующее LILO...............
Потом по идее должен появится бутсплеш и внём должны показываться загружаемые процессы, но этого не происходит.
После LILO...... происходит перезагрузка компа.
Что не так?
Просто хочу доконца разобраться с ядром.