Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: компиляция ядра  (Прочитано 44621 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн freeprog

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
компиляция ядра
« : 12 Май 2007, 12:23:33 »
Подскажите плиз. Ядро скачал (2.6.21.1), сконфигурил (make xconfig), собрал, поставил (make install и make modules_install)
Как собрать initrd image?
make help ничего похожего не выдаёт, пробовал make all - не создаётся

Оффлайн virens

  • Активист
  • *
  • Сообщений: 329
    • Просмотр профиля
Re: компиляция ядра
« Ответ #1 : 12 Май 2007, 21:51:46 »
Подскажите плиз. Ядро скачал (2.6.21.1), сконфигурил (make xconfig), собрал, поставил (make install и make modules_install)
Как собрать initrd image?
make help ничего похожего не выдаёт, пробовал make all - не создаётся

sudo mkinitrd -o /boot/initrd-2.6.21.1.img

Не забудьте его упомянуть в конфигурации загрузчика.
Очень стоит прочитать вот это:
http://mydebianblog.blogspot.com/2006/12/blog-post_20.html
во избежание, как говорится :-)

И не удаляйте дефолтное ядро: ни из перечня загрузки, ни из системы.

Оффлайн freeprog

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: компиляция ядра
« Ответ #2 : 13 Май 2007, 11:07:13 »
sudo mkinitrd -o /boot/initrd-2.6.21.1.img
Тут видимо sudo mkinitrd -o /boot/initrd-2.6.21.1.img 2.6.21.1 - в противном случае образ генерится для старого ядра

Новое ядро запустилось без проблем, но при вставке флешки она не монтируется автоматически (вручную монтируется нормально), на старом ядре 2.6.17-10 монтировалось автоматом.
Включил в ядро  USB Mass Storage support (USB_STORAGE) модулем.
PS: при загрузке ругается на unknown filesystem: devfs
Подскажите плиз, куда копать

Оффлайн virens

  • Активист
  • *
  • Сообщений: 329
    • Просмотр профиля
Re: компиляция ядра
« Ответ #3 : 13 Май 2007, 12:06:36 »
Тут видимо sudo mkinitrd -o /boot/initrd-2.6.21.1.img 2.6.21.1 - в противном случае образ генерится для старого ядра
Ну да, точно - прошу пардону. Я обычно загружаю новое ядро со старым initrd: если оно неудачное, так и новый initrd генерить не надо... это от лени :-)

Новое ядро запустилось без проблем, но при вставке флешки она не монтируется автоматически (вручную монтируется нормально), на старом ядре 2.6.17-10 монтировалось автоматом.
Их бин телепатен нихьт. Скорее всего, устройство теперь называется по-другому: смотреть в dmesg на предмет того, как называется приаттаченное устройство. О логах:
http://mydebianblog.blogspot.com/2007/05/blog-post.html
на всякий случай. Выложешь - скажем подробнее.

Включил в ядро  USB Mass Storage support (USB_STORAGE) модулем.
Я бы монолитно включил: всё-таки часто используется. Но не суть.

PS: при загрузке ругается на unknown filesystem: devfs
Подскажите плиз, куда копать
Никуда не копать, а просто удалить/закомментировать строчку из /etc/fstab про devfs - её, devfs, разработчики ядра закопали в землю (и правильно сделали). Теперь вместо этог udev, ничего дополнительно делать не надо.

Оффлайн Master_005

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: компиляция ядра
« Ответ #4 : 24 Июль 2007, 13:48:57 »
Хотел спросить, обязательно ли создавать initial RAM disk image, но в версии 2.0 документа "Ставим ядро 2.6, или Ядерная физика для домохозяйки." обнаружил возможность исключения initrd. Я правильно понял, что для Debian initrd - это отовизм?

А если нет, то что делать, если после команды mkinitrd -o /boot/initrd.img-2.6.22 2.6.22 выдалось сообщение об отсутствии каталога 2.6.22 в каталоге /lib/firmware, файл (всё-таки) создался, объёмом 42 метра вместо 5-7 для предыдущих версий (2.6.15 и 2.6.16), и теперь система отказывается грузиться данным ядром?
В режиме recovery mode долго стоял после определения звуковой карты, потом вывел BusyBox. В списке дисков мой SCSI отсутствовал.
Как создать и наполнить содержимым /lib/firmware/2.6.22, и зачем данный каталог нужен?


Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: компиляция ядра
« Ответ #5 : 24 Июль 2007, 15:36:26 »
Хотел спросить, обязательно ли создавать initial RAM disk image, но в версии 2.0 документа "Ставим ядро 2.6, или Ядерная физика для домохозяйки." обнаружил возможность исключения initrd. Я правильно понял, что для Debian initrd - это отовизм?
во первых атавизм
во вторых, советую почитать что такое вообще initrd
в третьих от него легко можно отказаться, если не планируешь часто менять железо. в частности, контроллеры ide/sata/scsi и перетыкать загрузочный хард. просто ставишь поддержку ФС раздела, где находится /boot (и кажется / тоже) вкомпиленной в ядро. соответственно, модули кодовых страниц, которые используются системой по умолчанию и для этой фс, тоже надо вкомпилять в само ядро.

Оффлайн Master_005

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: компиляция ядра
« Ответ #6 : 24 Июль 2007, 17:10:39 »
во вторых, советую почитать что такое вообще initrd
Ценный совет! Буду рад ссылочке на FAQ.
Вообще, пытался читать, но пока в голове - каша. Не понятно, зачем к загрузочному образу vmlinuz нужен ещё RAM-диск...
Цитировать
в третьих от него легко можно отказаться, если не планируешь часто менять железо. в частности, контроллеры ide/sata/scsi и перетыкать загрузочный хард.
Кабы знать, что будет, жить бы у моря  ;D
Если бы я знал, для чего он (initrd) нужен, смог бы принять решение о его использовании.
Цитировать
просто ставишь поддержку ФС раздела, где находится /boot (и кажется / тоже) вкомпиленной в ядро. соответственно, модули кодовых страниц, которые используются системой по умолчанию и для этой фс, тоже надо вкомпилять в само ядро.
Это вот сейчас вы с кем разговаривали?  :o
ФС - это файловая система? И как это вообще всё делать? make menuconfig ?

Оффлайн kss

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
Re: компиляция ядра
« Ответ #7 : 24 Июль 2007, 17:24:37 »
Ценный совет! Буду рад ссылочке на FAQ.
Вообще, пытался читать, но пока в голове - каша. Не понятно, зачем к загрузочному образу vmlinuz нужен ещё RAM-диск...

http://myfotomx.com/dalth/linuxbook.pdf глава "Загрузка операционной системы"

Оффлайн Master_005

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: компиляция ядра
« Ответ #8 : 25 Июль 2007, 18:08:03 »
Ценный совет! Буду рад ссылочке на FAQ.
Вообще, пытался читать, но пока в голове - каша. Не понятно, зачем к загрузочному образу vmlinuz нужен ещё RAM-диск...

http://myfotomx.com/dalth/linuxbook.pdf глава "Загрузка операционной системы"
Большое спасибо! Документ оказался весьма ценным практическим руководством.

Однако проблему создания initrd он не раскрыл, а ответил на вопрос - зачем нужен initial ram disk.

Всё-таки не ясно, что за каталог /lib/firmware/... , на отсутствие которого ругается mkinitramfs-kpkg.
И как изменить список модулей, тоже не ясно. Через man правда удалось выйти на /etc/initramfs-tools/initramfs.conf, но в нём тоже нет конкретики о модулях, кроме настройки "комплектов".

Оффлайн Master_005

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: компиляция ядра
« Ответ #9 : 26 Июль 2007, 13:05:33 »
Неужели никто не собирал initial RAM disk? ??? Help!  :'(
Бьюсь уже третий день - тщетно.
Собирал его и с установкой в /etc/initialramfs-tools/initramfs.conf MODULES=most , и с MODULES=dep.
Результат одинаковый - при старте система не может смотрировать rootfs:
[12.417359] Kernel panic - not syncing: VFS: Unable to mount root fs or unknown-block(0,0)

P.S. Везде, где речь идёт о сборке initrd, упоминается о bootsplash, но нигде не нашёл что это такое. Могу догадываться, что речь идёт о графической заставке в процессе загрузки (как например у меня сейчас - красивые буквы Ubuntu и "progress bar"), но не уверен.

P.P.S. И всё-таки, как создать каталог /lib/firmware/моя_версия_linux ?

Оффлайн Bers

  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
    • Домашняя страничка
Re: компиляция ядра
« Ответ #10 : 26 Июль 2007, 17:14:53 »
хм...

А может подойдёт http://www.howtoforge.com/kernel_compilation_ubuntu , там просто всё, сам так делал.

Оффлайн Radiohead

  • Участник
  • *
  • Сообщений: 102
    • Просмотр профиля
Re: компиляция ядра
« Ответ #11 : 27 Июль 2007, 17:53:42 »
хм...

А может подойдёт http://www.howtoforge.com/kernel_compilation_ubuntu , там просто всё, сам так делал.

Этот-же текст, но на русском, читайте во вложенном файле.
Я тоже делал по этой технологии. Заработало с полпинка.

[вложение удалено Администратором]

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: компиляция ядра
« Ответ #12 : 28 Июль 2007, 05:23:38 »
Кто бы написал как собирать пакетики типа "restricted modules"?
Пойду гуглить. О результатах позже.

Оффлайн Stomp

  • Активист
  • *
  • Сообщений: 343
    • Просмотр профиля
Re: компиляция ядра
« Ответ #13 : 28 Июль 2007, 16:17:30 »
Это нормально, что папка с сорцами в процессе компиляции разрастается до 1,5 Гб и более? Никак не могу скомпилить, у меня нет столько свободного места на корневом разделе (

Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: компиляция ядра
« Ответ #14 : 28 Июль 2007, 19:53:55 »
нормально.
попробуй добавить в переменную CFLAGS параметр -pipe, это сократит число временных файлов. или вынеси исходники в другое место

 

Страница сгенерирована за 0.272 секунд. Запросов: 22.