The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с initrd"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Проблема с initrd"  
Сообщение от fazr on 19-Мрт-08, 18:46 
Капаю в сторону понимая работы initrd в Linux.
прочитал: https://www.opennet.ru/base/sys/initrd_intro.txt.html
и еще кучу документации, но везде в основном говориться что из себя представляет и как собрать initrd образ, но вот мне не понятно для чего он нужен вообще?
Ведь если GRUB способен понять файловую систему /boot где лежит и initrd и само ядро vmlinuz, почему нельзя вкомпилить прямо в основное ядро все драйверы для того же LVM, специфичных SCSI адаптеров и т.д... разве так нельзя?

не пинайте пожалуйста, а помогите разобрать :(

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с initrd"  
Сообщение от Yes on 19-Мрт-08, 21:58 
>все драйверы для того же LVM, специфичных SCSI адаптеров и т.д...
>разве так нельзя?

Можно, почему ж нельзя? Ты будешь для этого пересобирать ядро? А для каждой из имеющихся у тебя машин? А каждый раз "потом" - для каждой новой машины? Успехов. Дистрибуторы "для себя эту проблему решили": ядро со  всеми драйверами в модулях и пересборка только initrd... Или типа того.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Проблема с initrd"  
Сообщение от fazr on 20-Мрт-08, 10:14 
>Можно, почему ж нельзя? Ты будешь для этого пересобирать ядро? А для
>каждой из имеющихся у тебя машин? А каждый раз "потом" -
>для каждой новой машины? Успехов. Дистрибуторы "для себя эту проблему решили":
>ядро со  всеми драйверами в модулях и пересборка только initrd...
>Или типа того.

Эээээ, а что - пересобрать на 100 машинах initrd образ это гораздо легче чем пересобрать ядро? по моему одинаково по трудозатратам, единственное что ядро будет дольше собираться, а обходить, грубо говоря, всё равно придется все машины...

про дистрибуторов - вот например берем RHEL, из коробки нету поддержки reiserfs, как мне его включить в initrd не пересобирая всё ядро полностью?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Проблема с initrd"  
Сообщение от angra (??) on 20-Мрт-08, 10:29 
В наше время ядро ради добавления оборудования пересобирают очень редко. Для поддержки оборудования есть модули, но на стадии загрузки может не оказаться поддержки того, на чем расположен / или /boot, а как следствие нет доступа к модулям. Эта и ряд других проблем решается через initrd.
P.S. Если вы пока не столкнулись с ситуацией когда что-то нужно, то не стоит заявлять что это не нужно всем.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Проблема с initrd"  
Сообщение от fazr on 20-Мрт-08, 10:46 
>В наше время ядро ради добавления оборудования пересобирают очень редко. Для поддержки
>оборудования есть модули, но на стадии загрузки может не оказаться поддержки
>того, на чем расположен / или /boot, а как следствие нет
>доступа к модулям. Эта и ряд других проблем решается через initrd.
>
>P.S. Если вы пока не столкнулись с ситуацией когда что-то нужно, то
>не стоит заявлять что это не нужно всем.

Во-первых, где вы видете что я заявлял что это никому не нужно? я наоборот понимаю что нужно и хочу понять зачем именно?

вот ваш пример не особо понятен мне в плане - если не доступен /boot то как будет доступен расположенный на нем initrd??? или вы и initrd.img располагаете на другом (отличном от /boot ) разделе? но какой в этом сакраментальный смысл если на этом самом доступном разделе и можно положить vmlinuz???

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Проблема с initrd"  
Сообщение от angra (??) on 20-Мрт-08, 11:01 
Разберем простую загрузку с винта. У вас есть ядро, большинство оборудования поддерживается модулями, в самом ядре только самое необходимое. Все замечательно пока вы ставите на обычные ide диски. Но в какой-то момент вы наталкиваетесь на машину, где загрузка будет идти с raid/sata/scsi, то есть с чего-то что не поддерживается самим ядром. При этом загрузчик без проблем получит доступ к этому оборудованию за счет BIOS, а вот ядро BIOS уже не использует. Загрузчик считывает с диска vmlinuz и initrd и передает им управление. Обратите внимание что initrd считывается загрузчиком, не ядром. В результате ядро получает доступ к мини /, на котором есть нужные модули, а заодно некоторые скрипты+утилиты. Все это в конечном итоге обеспечивает доступ к настоящему /, который и монтируется впоследствии.
Если хочется более экзотического варианта, то посмотрите как устроена загрузка по сети с монтированием / по nfs или с разбивка + форматирование + заливание образа на винчестер.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Проблема с initrd"  
Сообщение от fazr on 20-Мрт-08, 11:29 
>[оверквотинг удален]
>чего-то что не поддерживается самим ядром. При этом загрузчик без проблем
>получит доступ к этому оборудованию за счет BIOS, а вот ядро
>BIOS уже не использует. Загрузчик считывает с диска vmlinuz и initrd
>и передает им управление. Обратите внимание что initrd считывается загрузчиком, не
>ядром. В результате ядро получает доступ к мини /, на котором
>есть нужные модули, а заодно некоторые скрипты+утилиты. Все это в конечном
>итоге обеспечивает доступ к настоящему /, который и монтируется впоследствии.
>Если хочется более экзотического варианта, то посмотрите как устроена загрузка по сети
>с монтированием / по nfs или с разбивка + форматирование +
>заливание образа на винчестер.

простите великодушно за назойливость :)
но вот в вашем примере - почему нельзя просто перекомпилировать ядро для поддержки эти raid/sata/scsi и когда grub передаст ему управление и оно уже имея поддержку этого оборудования продолжит загрузку? в чем минусы такого подхода кроме как перекомпиляции ядра??

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Проблема с initrd"  
Сообщение от angra (??) on 21-Мрт-08, 06:33 
Можно, но зачем? Гвозди, знаете, тоже можно забивать микроскопом, но почему-то этого не делают. Кроме того, повторю еще раз, initrd это не только набор модулей, но еще скриптов+утилит. Можете сколько угодно перекомпилировать ядро, но без initrd нормальную загрузку по сети вы не сделаете.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Проблема за проблемой"  
Сообщение от Andrey Mitrofanov on 20-Мрт-08, 11:14 
>>Можно, почему ж нельзя?

(1)
>>машины? Успехов.

(2)

>Эээээ, а что - пересобрать на 100 машинах initrd образ это гораздо легче чем пересобрать ядро?

Да. Именно это, в общем-то, и было сказано.

> по моему одинаково по трудозатратам, единственное что

(1)+(2)+флаг+барабан. Никто _не_заставляет_, да - можно, рекомендую даже: пособирайте, может пройдёт, а может нам неразумным расскажете про Великий Путь Просветления...

>ядро будет дольше собираться, а обходить, грубо говоря, всё равно придется
>все машины...

Чем пересборка ядра Вам поможет в решении "проблемы" хождения по машинам?

>про дистрибуторов - вот например берем RHEL, из коробки нету поддержки reiserfs,
>как мне его включить в initrd не пересобирая всё ядро полностью?

(1)+(2)+флаг+барабан.

Вопросы?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Проблема за проблемой"  
Сообщение от goofy on 20-Мрт-08, 11:35 
>[оверквотинг удален]
>>все машины...
>
>Чем пересборка ядра Вам поможет в решении "проблемы" хождения по машинам?
>
>>про дистрибуторов - вот например берем RHEL, из коробки нету поддержки reiserfs,
>>как мне его включить в initrd не пересобирая всё ядро полностью?
>
>(1)+(2)+флаг+барабан.
>
>Вопросы?

пляя, вот из-за таких вот ответов люди и отворачиваются от linux подобных ОС. Вместо того чтобы объяснить или посоветовать что-то конкретное прочитать - давайте лучше и проще обосрём человека с ног до головы. Товарищ Митрофанов, если вам нечего сказать - лучше не поливайте тут помоями своего умишки, а просто промолчите, сойдете за умного. Не устраивайте здесь ЛОР.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "за проблемой, за проблемой"  
Сообщение от Andrey Mitrofanov on 20-Мрт-08, 13:24 
>>Вопросы?
>
>пляя, вот из-за таких вот ответов люди и отворачиваются от linux подобных
>ОС. Вместо того чтобы объяснить или посоветовать что-то конкретное прочитать -
>давайте лучше и проще обосрём человека с ног до головы.

Если это был _вопрос_, отвечаю. Таки да, у меня есть, что сказать -- тем, кто умеет спрашивать и слушать-читать ответ, очень желательно наличие само ирониии, самооценки хотя бы. На ЛОРе скучно и тупо, спасибо, лучше /вы/ к нам. Про обсирание/помои -- свежий воздух, витамины, самомнение вазелином смазывайте, если продолжится -- проконсультируйтесь с доктором (на ЛОРе, я слышал, это в ассортименте).

>Товарищ Митрофанов, если вам нечего сказать - лучше не поливайте тут помоями
>своего умишки, а просто промолчите, сойдете за умного.

ЛОРовский логпед тебе "товарищ"! :-P

> Не устраивайте здесь ЛОР.

ЗЫЖ yes, ihbt

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблема с initrd"  
Сообщение от angra (??) on 20-Мрт-08, 10:11 
Добвалю что initrd это не только набор модулей ядра, но и набор скриптов+утилит. И возможности применения ограничиваются вашей фантазией.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Проблема с initrd"  
Сообщение от Andrey Mitrofanov on 20-Мрт-08, 13:45 
Ещё раз, терпите. :)
>и еще кучу документации, но везде в основном говориться что из себя
>представляет и как собрать initrd образ, но вот мне не понятно
>для чего он нужен вообще?

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

Вот _для_чего_ -- уже масса вариантов: - дистрибутивное ядро, где всё железо модулями, - уже писал; - сетевая загрузка; - некоторые делают всю систему внутри initrd (=в памяти, без hdd), вроде бы... google.ru применение initrd

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру