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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Собрать свое ядро как стандартное  (Прочитано 8705 раз)

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

Оффлайн Nick Denry

  • Автор темы
  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
Народ, а подскажите пожалуйса - можно ли как-нибудь собрать свое ядро (естественно из тех же исходников, что и убунтовское), так, что бы оно не отличалось по параметрам от стандартного (у меня linux-image-2.6.12-10-k7), и работали там всякие linux-restricted-modules? (ну что-нибудь типа oldconfig или как оно там).

Загвоздка состоит в том, что мне надо наложить патч на v4l, что бы мой тюнер заработал нормально...

И какой gcc должен быть для сборки ядра в ubuntu?
Ubuntu world

Оффлайн victor53p

  • Заслуженный пользователь
  • Активист
  • *
  • Сообщений: 300
    • Просмотр профиля
    • Ubuntu в Воронежской области
Re: Собрать свое ядро как стандартное
« Ответ #1 : 15 Январь 2006, 13:26:01 »
« Последнее редактирование: 15 Январь 2006, 21:50:53 от victor53p »

Оффлайн Lagman

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #2 : 17 Январь 2006, 23:15:52 »
Вместе с ядром ставятсс файл конфига (config-2.6.xx-xx-x-xxx) с которым собиралось ядро, лежит обычно в /boot.
Если конфигурировать ядро через "make gconfig" то там есть возможность загрузить старый конфиг. А твой патч, скорей всего, станет только на стандартные исходники ядра.
Ubuntu 5.04; Kubuntu 5.10; Ubuntu 5.10; DamnSmallLinux 1.5-2.1

Оффлайн cargo

  • Roman Kalashnikov
  • Активист
  • *
  • Сообщений: 323
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #3 : 18 Январь 2006, 19:04:12 »
скопировать конфиг из /boot в /usr/src/linux/.config
дальше make oldconfig

Оффлайн Nick Denry

  • Автор темы
  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #4 : 07 Февраль 2006, 00:00:03 »
А что такое initrd и что с ним делать после сборки нового ядра?

О прописан в groob в menu.lst, например

title      Ubuntu, kernel 2.6.12-10-k7
root      (hd0,7)
kernel      /boot/vmlinuz-2.6.12-10-k7 root=/dev/hda8 ro quiet splash
>>initrd      /boot/initrd.img-2.6.12-10-k7
savedefault
boot
Ubuntu world

Оффлайн Denis Konstantinov

  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #5 : 08 Февраль 2006, 19:47:08 »
initrd это образ, что то вроде мини дистрибутива, нужен для запуска.
В нём находстсс модули которые могут потребоваться для загрузки и обнаружения корневой файловой системы, чтобы продолжить загрузку уже с неё.
Делается просто #mkinitramfs -o /boot/initrd.img-`uname -r` в старых версиях вроде была команда mkinitrd
А ещё можно сделать самому и запихнуть туда любые скрипты и файлы :)
Но это уже простому смертному врядле понадобится в его повседневной работе.
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Nick Denry

  • Автор темы
  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #6 : 08 Февраль 2006, 21:02:15 »
2shaman

Спасибо за ответ, но если с правильно понял, Вы сказил как создать новый initrd.

Менс интересует, должен ли с после пересборки нового ядра использовать старый initrd, или создать новый?

Т.е. подойдет-ли старый initrd к новому сдру?
Ubuntu world

Оффлайн clx

  • Ilya Uralskiy
  • Активист
  • *
  • Сообщений: 644
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #7 : 08 Февраль 2006, 22:24:43 »
Лучше создать новый, имхо.

Оффлайн Lagman

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #8 : 09 Февраль 2006, 01:21:27 »
Лучше создать новый, имхо.
Если добавились новые модули необходимые во время загрузки.
Ubuntu 5.04; Kubuntu 5.10; Ubuntu 5.10; DamnSmallLinux 1.5-2.1

Оффлайн Nick Denry

  • Автор темы
  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #9 : 09 Февраль 2006, 13:35:19 »
Ага, теперь вроде все ясно.
Т.е. после пересборки, надо выполнить mkinitramfs -o /boot/initrd.img-`uname -r`

А старый можно как-то сохранить?
Ubuntu world

Оффлайн Lagman

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #10 : 11 Февраль 2006, 01:20:14 »
Ага, теперь вроде все ясно.
Т.е. после пересборки, надо выполнить mkinitramfs -o /boot/initrd.img-`uname -r`

А старый можно как-то сохранить?
Если `uname -r`отличается то и старый сохранится, а можно (если uname одинаковое) заранее его скопировать в другое место.
Ubuntu 5.04; Kubuntu 5.10; Ubuntu 5.10; DamnSmallLinux 1.5-2.1

Оффлайн Denis Konstantinov

  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #11 : 11 Февраль 2006, 15:03:58 »
2shaman

Спасибо за ответ, но если с правильно понял, Вы сказил как создать новый initrd.

Менс интересует, должен ли с после пересборки нового ядра использовать старый initrd, или создать новый?

Т.е. подойдет-ли старый initrd к новому сдру?
initrd не содержит самого ядра, ядро одно! имя ему /boot/vmlinuz-`uname -r` :)
Отсюда ответ на ваш вопрос, если ядро перекомпилировали использус конфиг оригинального ядра, лишь с включив в состав ядра модули которые раньше были просто модулсми, то initrd можно и не пересобирать ,поскольку использовался тот же компилстор и исходники и версия ядра не менслась т.е. параметры в Makefile не менслись
например
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 15
EXTRAVERSION =-14-386
==uname -rто новое ядро безпроблем будет загружать модули из initrd, а если исключились модули то конечно лучше пересобрать initrd, насамом деле тут очень много тонкостей и лучше не обсуждать в общем а решить конкретную задачу. Поскольку если пересобирать ядро то нужно его и установить т.е. скопировать в /boot/ и прописать в grub|lilo (или заменить оригинальное) но если ещё и новые модули компилировались то их соответственно тоже нужно установить, а если использовался конфиг от оригинального ядра то новые модули заменст оригинальные тогда тоже нужно пересобрать initrd.
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Nick Denry

  • Автор темы
  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #12 : 07 Март 2006, 13:27:04 »
Вот, вообщем собираю ядро так:

у  меня установлено linux-2.6.12-28-k7, есть его исходники.

Постледовательность такас была:

накладываю патч для тюнера на saa7134.

/usr/src/linux-source-bla-bal/#sudo make mrproper
/usr/src/linux-source-bla-bal/#sudo make menuconfig - тут загружаю старый конфиг, ничего даже не менсю.
usr/src/linux-source-bla-bal/#sudo make
usr/src/linux-source-bla-bal/#sudo make modules_install

копирую bzImage как /boot/vmlinuz-2.6.12-28-k7-2 (так же как ориг ядро называю - только "-2Э добавляю)
копирую в /boot/ System.map как vmlinuz-2.6.12-28-k7-2.map

потом делаю mkinitramfs -o /boot/initrd.img-`uname -r`

тогда пишет что в /lib/modules/2.6.12 нифига не найден файл *.dep и ничего не грузится.

в друго случае делаю mkinitramfs только вместо uname -r пишу название нвого ядра = все загрузилось (сплсшскрин был), но только до X . - Х пишет что nvidia не найдена.

И все.

Пробовал и nvidia-glx-legacy свой сносить и родные дрова ставить - ни че е выходит. nvidia файл, который *.run - пишет что мол мои исходники не от моего ядра, а в /src/ именно эти исходники и лежат. Что с не так сделал?
Ubuntu world

Оффлайн Denis Konstantinov

  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #13 : 10 Март 2006, 16:41:34 »
depmod тебе поможет!
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн kotnaton

  • Участник
  • *
  • Сообщений: 145
    • Просмотр профиля
Re: Собрать свое ядро как стандартное
« Ответ #14 : 07 Декабрь 2007, 18:26:31 »
Не хочу создавать новую тему, хочу воспользоваться прежней. Проблема: Ubuntu 7.10 не работает автовыключение компа. Есть рекомендация выполнить modprobe apm в ответ выдает:
Цитировать
FATAL: Error inserting apm (/lib/modules/2.6.22-14-generic/kernel/arch/i386/kernel/apm.ko): No such device
Понимаю что необходима сборка ядра со включенными компонентами:
Цитировать
# Power management options (ACPI, APM)
# ACPI (Advanced Configuration and Power Interface) Support
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
# CONFIG_ACPI_SLEEP_PROC_SLEEP is not set
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
# CONFIG_ACPI_HOTKEY is not set
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_ASUS is not set
CONFIG_ACPI_IBM=m
# CONFIG_ACPI_TOSHIBA is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_ACPI_CONTAINER is not set
# CONFIG_X86_ACPI_CPUFREQ is not set
CONFIG_X86_POWERNOW_K7_ACPI=y
# CONFIG_X86_ACPI_CPUFREQ_PROC_INTF is not set
CONFIG_PNPACPI=y
# CONFIG_SERIAL_8250_ACPI is not set
Попытка запустить sudo make xconfig обрывается на:
Цитировать
/usr/include/qt3/qmemarray.h:117:24: error: qwinexport.h: No such file or directory
make[1]: *** [scripts/kconfig/qconf.o] Error 1
make: *** [xconfig] Error 2
Попытка запустить sudo make menuconfig обрывается на
Цитировать
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make: *** [menuconfig] Error 2

Архив ядра linux-2.6.23.9.tar.bz2 скачен с kernel.org. На форуме Мандривы говорили что ничего путного с "ванильным ядром" выйти не должно... Но что тогда делать ? Плииз...
Проверяйте скачанные iso-шники командой: md5sum -c MD5SUMS.txt

 

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