Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Компиляция ядра Linux

Автор: moscvich
Дата сообщения: 03.10.2003 15:36
EndoR
Покажи пожалуйста cat /etc/fstab и cat /etc/lilo.conf.Корневой раздел у тебя /dev/sda3 как я понял?
Автор: EndoR
Дата сообщения: 03.10.2003 16:58
да, корень - /dev/sda3
fstab

Код: LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda2 swap swap defaults 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
# LOOP0: /dev/sda3 vfat /linux/rootfs
Автор: moscvich
Дата сообщения: 03.10.2003 20:46
EndoR
Перечитал ещё раз внимательно весь топик,даже уже мыслей нет,уже всё что можно посоветовали.Попробуй ещё раз всё сделать заново,может где ошибся?

ЗЫ А почему не попробовать сделать этот модуль в ядре на этот раз?
Автор: ooptimum
Дата сообщения: 04.10.2003 00:23
EndoR
Для начала сделай раздел "/boot" ext2, а не ext3 и попробуй все еще раз. Перечитай все, что я тебе раньше писал.
Автор: 8AleX8
Дата сообщения: 04.10.2003 01:14
http://www.linuxshop.ru/forum/viewtopic.php?t=3352
Автор: EndoR
Дата сообщения: 04.10.2003 10:04
moscvich

Цитата:
сделать этот модуль в ядре

это ты про Fasttrak? как сторонний модуль в ядро вкомпилить? ручками make поправлять?
ooptimum
ок, попробую.
такое впечатление, что initrd не делает insmod моего модуля. Есть какой-нить способ проверить dmesg в процессе загрузки ядра? или хотя бы сделать этот процесс медленнее, а то ни фига не успеваешь прочитать вывод...

Добавлено

всё, белочка!
я при сборке ядра не включил Ram disk support. ну я баклан....
ooptimum
спасибо, о великий и могучий...
Автор: agMuH
Дата сообщения: 03.12.2003 14:11
траблемка. не могу решить.

после компиляции/установки нового ядра при загрузке сыпятся сообщения о невозможности загрузки различных char_major_<номер>

обошел сайт разработчика, перекопал гугль - решения не нашел.

что делал:
1.
правил /etc/modules.conf на предмет добавления alias char_major_<номер> off с depmod -a. Не помогло.
2. Аналогично правил /etc/modules.conf.local. Не помогло
3. Нашел, какие устройства под этим мажор-номером проходят. Как пример: 212 - ttySL0, 109 - lvm. Как мне это может помочь - не понимаю. Как пример опять же -поддержка LVM в ядре вообще не включена, потому как нет девайсов.

опять же, некоторые альясы в /etc/modules.conf отсутствуют, но откуда-то вызываются.
черт, как я уже замучался с этим.

в остальном ядро цветет и пахнет.

PS: думаю пригодится новозаглядывающим с проблемами
компиляция
1. взять сырцы, распаковать в /usr/src
2. слинковать /usr/src/linux на эту папку
3. make menuconfig
4. make clean (в новых я драх make dep отменен)
5. make bzImage modules modules_install
6. cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-<номер_ядра>
7. cp /usr/src/linux/System.map /boot/System.map-<номер_ядра>
8. правим lilo или grub, у кого что

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

Автор: ooptimum
Дата сообщения: 03.12.2003 19:25
agMuH
devfs не включал?
Автор: agMuH
Дата сообщения: 04.12.2003 07:57
ooptimum

Цитата:
devfs не включал?


и включал и выключал... ничего не изменяется
Автор: webdeveloper
Дата сообщения: 19.12.2003 12:21
Вот решил перекомпилить ядро у меня в данный момент 2.4.20 на 2.6.0 пока переходить не хочу несмотря на то что эта версия стабильная. Хочу поставить 2.4.23 я читал что перед компиляцией ядра стоит перекомпилировать gcc. В данный момент у меня 3.2.2 перекомплить хочу на GCC 3.3.2 - ую версию.

Есть ли смысл перекомпляции gcc перед перекомпиляцией ядра если да то может с какимито спецыальными ключами?

PS Компьютер у меня Pentium 3 800 m, 264 ram SlackWare 9
Автор: jetcar
Дата сообщения: 08.01.2004 15:36
а почему у меня модули идут с расширением ".ko" а не как обычные ".o"
ядро версии 2.6.0
Автор: ginger
Дата сообщения: 08.01.2004 16:34
EndoR
Ваша проблема заключается в LILO.
initrd (initial RAM disk image) тут не причем, т.к. используется при первоначальной установке Linux, а так же в случае если у Вас SCSI, во всех остальных случаях он не нужен.
В современных Linux дистрибутивах используется GRUB, а не LILO, однако хочу обратить Ваше внимание на следующее...
После установки нового ядра, Вам требуется отредактировать одну лишь строку "image=/boot/vmlinuz-xx-xx", измените ее на Вашу и выполните команду lilo, после чего перезагрузите систему...
Автор: ooptimum
Дата сообщения: 08.01.2004 19:38
ginger

Цитата:
initrd (initial RAM disk image) тут не причем, т.к. используется при первоначальной установке Linux, а так же в случае если у Вас SCSI, во всех остальных случаях он не нужен.

Не говори ерунды. Initrd нужен тогда, когда нужен, а не только когда SCSI. Я уже давал в этом топике описание сценария, когда он просто необходим. Не вижу смысла повторяться -- читай топик. В данной ситуации Endor'у initrd был просто необходим. Только настроив все, и initrd в том числе, у него все завелось. И загрузчик тут совершенно не при чем.
Автор: OldGopher
Дата сообщения: 08.01.2004 19:49
Тут спецы собрались...

Как насчет команды 'make install'
сразу после удачно выполненной последовательности make-ов, заканчившейся
'make modules_install' ?

Тогда initrd сам собой создастся и lilo нормально сконфигурируется...
Или я неправ?

У меня это катит и в 2.4, и в 2.6...
Автор: ooptimum
Дата сообщения: 08.01.2004 20:29
OldGopher

Цитата:
Тогда initrd сам собой создастся

Если что-то и создастся, то это будет содержать только модули ядра, т.е. те, которые являются продуктом компиляции ядра, и никакие другие. Обсуждавшаяся в этом топике проблема заключалась в том, что в initrd необходимо поместить модуль стороннего разработчика, к ядру linux имеющий лишь косвенное отношение.

Люди, ну в самом деле, читайте топик внимательно, прежде чем строить предположения.
Автор: ginger
Дата сообщения: 09.01.2004 10:14
ooptimum
Я уже сказала когда используется initrd, в том случае если есть SCSI... во всех остальных случаях он не нужен...
Загрузчик тут как раз при том, что из него нужно было выкинуть запись о initrd...
Автор: ooptimum
Дата сообщения: 10.01.2004 10:11
ginger

Цитата:
Я уже сказала когда используется initrd, в том случае если есть SCSI... во всех остальных случаях он не нужен...

Ты не права. Заметь, я ни в коем случае не утверждаю, что initrd нужен всегда. Кроме того, есть случаи, когда он необходим для поддержки не-SCSI устройств на этапе загрузки. И, как я понимаю, ты не хочешь читать эту тему, чтобы понять, что за проблема тут обсуждалась. Никакими настройками lilo, grub или какого еще загрузчика ее не решишь.
Автор: ginger
Дата сообщения: 12.01.2004 09:41
ooptimum
Опустим эту тему, однако я все равно не согласна с Вашим высказыванием, т.к. на практике то с чем я не раз сталкивалась initrd требовался при начальной установке дистрибутива и при наличии SCSI-устройств, во всех осталных случаях достаточно поставить комментарий на против строки "initrd=<path>"... что исключит инициализацию и загрузку RAM диска, в случае с EndoR, как раз это и надо было сделать, тогда LILO, выполнила бы все необходимые действия минуя initrd, а всевозможные модули устройств загружались бы сразу же из корневого раздела / и т.д... ну а как мы выяснили что при пересборке ядра EndoR не установил поддержку initrd, а в lilo.conf сия опция была, то процесс дальнейшей загрузки не происходил...
Автор: ooptimum
Дата сообщения: 12.01.2004 10:44
ginger
Ты, к сожалению, не хочешь понять элементарных вещей. Я ведь свои рекомендации не из пальца высосал. Можно я тебе задачку задам? Интересно просто, как ты ее решишь. Есть Promise ATA RAID контроллер. На нем сидят 2 диска в, скажем, RAID 1, но это не важно. Ядро linux позволяет использовать данный контроллер только в режиме software-RAID, что нас не устраивает, поэтому мы используем драйвер производителя железяки. С этим драйвером система видит не 2 жестких диска на ATA-интерфейсе, а 1 на SCSI. Скажем, это будет /dev/sda. На этот массив надо посадить систему, т.е. грузиться она должна прямо с /dev/sdaX. Итак, как бы сделала ты? Учти, что без загрузки драйвера от производителя железяки доступа к диску (вернее -- к массиву дисков, выглядящих для системы как 1 диск) нет.
Автор: ginger
Дата сообщения: 12.01.2004 11:15
ooptimum
Вот как раз в таких случаях и требуется RAM диск (initrd), который обеспечит поддержку так называемого массива выглядещего как единый SCSI-диск. Там где речь идет о SCSI, initrd требуется.
При старте системы произойдет инициализация и загрузка RAM диска (initrd), после этого будет определено что требуется системе для монтирования корнивой файловой системы (устройства, драйвера устройств и т.д...), после этого будет произведена загрузка соответсвующих модулей и т.д... после чего будет произведен старт системы...
Я что-то непойму, долго будем бодаться, а?;)
Автор: ooptimum
Дата сообщения: 12.01.2004 19:34
ginger

Цитата:
Вот как раз в таких случаях и требуется RAM диск (initrd), который обеспечит поддержку так называемого массива выглядещего как единый SCSI-диск. Там где речь идет о SCSI, initrd требуется.

Ну дак вот, я тебе как раз описал задачу, которую Endor решал в этой теме. И ты сама описала правильное решение, которое я уже давал пару страниц назад, основываясь на собственно опыте ее решения (у меня было точно такое же железо и точно такая же задача в то же самое время). Надеюсь, что хоть теперь, после собственных слов о необходимости initrd, ты не будешь продолжать утверждать, что он не был нужен и проблему можно было решить с помощью настроек загрузчика.


Цитата:
Я что-то непойму, долго будем бодаться, а?;)

Я вот не пойму, тебе было легче бодаться, чем прочитать топик?
Автор: ginger
Дата сообщения: 13.01.2004 08:28
ooptimum
Ох, я уже устала об этом говорить...
Сюда больше подходит - те же яйца только вид сверху не так ли?
Надеюсь что тема закрыта...
Автор: EndoR
Дата сообщения: 13.01.2004 14:29
ginger
если честно, я вообще не понимаю, с какого боку тут загрузчик. до того, как mod_scsi загрузился, нужна поддержка аппаратного модуля (как oooptimum заметил). у меня проблема была только в том, что я не вставил этот модуль в initrd. А когда вставил, не включил его поддержку в ядре. Вопрос исчерпан?
ooptimum
спсб

Страницы: 12

Предыдущая тема: Encrypting File System (EFS) в WinXP


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.