LINUX.ORG.RU
ФорумAdmin

перекомпиляция ядра rhel6

 ,


0

1

Добрый день, может поможет кто с вопросом. Перекомпилирую ядро, скачал исходник, установил. Прочитал что на rhel надо компилить через rpmbuild, но мне надо поменять конфигурацию, как мне сделать пакет с ядром но чтобы .config был исправленный? Делал через rpmbuild -ba; make menuconfig; rpmbuild -bb, но .config слетает

Перемещено hobbit из general


как мне сделать пакет с ядром но чтобы .config был исправленный?

Исправить?

Прочитал что на rhel

В документации нет раздела «Configuring the kernel»?

Типа https://docs.rockylinux.org/guides/custom-linux-kernel/#kernel-configuration

https://docs.fedoraproject.org/en-US/quick-docs/kernel/build-custom-kernel/#_configuring_the_kernel

nvl ★★★
()

rpmbuild нужен, если нужно получить rpm-пакет, чтобы его можно было установить/обновить. А так ядро можно просто скомпилировать, сложить в boot, переименовать, чтобы не путалось, создать для него initramfs и обновить конфиг груба. И с ним система вполне загрузится, во всяком случае RHEL 5/6. Это сэкономит время, если ядро пересобирать несколько раз, подбирая конфиг/патчи...

mky ★★★★★
()
Ответ на: комментарий от mky

А так ядро можно просто скомпилировать, сложить в boot, переименовать, чтобы не путалось, создать для него initramfs и обновить конфиг груба

И лёгким движением make install любой дистрибьютив превращается в слакварь :)

vasya_pupkin ★★★★★
()
Ответ на: комментарий от vasya_pupkin

Ядро в большей степени изолировано от системы, чем другой софт. Один файл с образом и каталог с модулями. Не надо пугать людей.

превращается в слакварь

Почему в слакварь, а не в LFS?

mky ★★★★★
()
Ответ на: комментарий от mky

И какой смысл делать в ручную кучу дополнительных шагов, если все это сделается автоматически при установке из rpm? И зачем отказываться от все преимуществ базы данных установленного ПО и эфективного контроля и управления им?

Никакого профита, бестолковый и вредный совет.

nvl ★★★
()
Ответ на: комментарий от nvl

Если вы считаете этот совет бестолковым, зачем привели ссылки, где приводятся команды типа:

sudo cp -v  ~/build/kernel/System.map /boot/System.map-5.16.9-custom

Или в вашем мире эти команды означают установку из rpm?

все преимуществ базы данных установленного ПО и эфективного контроля и управления им

Сколько пафоса. Ядро живёт отдельно от ПО. А получение rpm с кастомным ядром требует большего числа шагов (исправление .spec-файла, копирование .config, созданеи .patch-файлов, если надо), чем просто компиляция. Причём, для ядра в rpm придётся компилить дважды, сначала через make, чтобы проверить что ядро собирается с новым конфигом, а потом через rpmbuild, чтобы получился rpm.

mky ★★★★★
()
Ответ на: комментарий от mky

Если вы считаете этот совет бестолковым, зачем привели ссылки, где приводятся команды типа

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

получение rpm с кастомным ядром требует большего числа шагов (исправление .spec-файла, копирование .config, созданеи .patch-файлов, если надо), чем просто компиляция.

Что нужно править в spec? название на аля -custom-? Сам ведь предлагал в своем варианте «переименовать, чтобы не путалось».

config скопировать? Какой-то никакой шаг…

.patch-файлы, во-первых не нужны топикстартеру, а во-вторых по твоему если бы они были нужны, то в твоем варианте сборки применять патчи не нужно? Нужные патчи сами откуда-то появятся и сами применятся или как?

Причём, для ядра в rpm придётся компилить дважды, сначала через make, чтобы проверить что ядро собирается с новым конфигом, а потом через rpmbuild

Почему не трижды или четырежды? Чем make, который через rpmbuild выполняется не устраивает?

А как же «сложить в boot… создать для него initramfs и обновить конфиг груба.» против одной команды «dnf update»

nvl ★★★
()
Ответ на: комментарий от nvl

Бестолковый совет установки в обход пакетного менеджера никак не пересекается с тем, что в ссылках написано.

По ссылкам даётся тот самый «бестолковый» с вашей точки зрения совет по установке ядра в обход пакетного менеджера. Совпадение один в один, я даже команду из вашей ссылки показал, которая копирует ядро.

Почему не трижды

Читаете только до запятой? Первый раз запускать make, чтобы убедиться, что ядро компилируется, не с любым конфигом ядро от RH компилируется и это NotABug. И это быстрее, чем rpmbuild, который будет распаковывать ядро. А может и трижды и четырежды, если сборка будет падать с ошибкой. Проще добиться сборки без rpmbuild, чем каждый раз копировать конфиг и запускать rpmbuild.

Нужные патчи сами откуда-то появятся и сами применятся или как?

Неведомо, захочется ТС'у патчить ядро или нет. Нужных патчей может и не быть, так как у RHEL ядро патченое, патчи для ванильного ядра могут немного не встать и придётся подрихтовывать руками...

А как же сложить в boot…

sudo cp ~/build/kernel/arch/x86/boot/bzImage /boot/vmlinuz-<kernel-version>

создать для него initramfs и обновить конфиг груба

kernel-install add <kernel-version> <kernel-image>

Именно эти действия и перечислены в вашей ссылке. То есть вы спорите сами с собой. Сначала советуете компилировать/копировать руками, а потом утверждаете, что это отстой и нужно:

dnf update

Если верить man'у, то это означает «Обновить все пакеты в системе». Да, это именно то, что хочет ТС?

И вобще, откуда dnf в rhel6?

mky ★★★★★
()
Ответ на: комментарий от mky

Не обратил внимания, что по ссылкам, мой косяк. Не буду спорить, мое мнение, собрать rpm проще удобней и правильней. Тем более топикстартер спрашивал только про конфиг.

Если верить man’у, то это означает «Обновить все пакеты в системе». Да, это именно то, что хочет ТС? И вобще, откуда dnf в rhel6?

Зачем дурачком прикидываться и придираться. Понятно что речь шла в контексте установки ядра. yum/dnf совершенно не принципиально.

nvl ★★★
()
Ответ на: комментарий от nvl

Спасибо за ответы и советы, я собрал на тестовой через rpmbuild -ba, в директории билда поправил .config(мне всего лишь надо было включить legacy_pty). Там уже make bzimage и далее по списку, вроде бы получилось что надо, в конце я сделал make rpm и получил пакет, накатил на нужную машину и вроде бы все работает что нужно. Криво косо, но вроде бы сработало.

morbit
() автор топика