LINUX.ORG.RU

есть че?

Да, есть.

Как обычно – грузимся с liveusb, смотрим всё ли завелось, далее zcat /proc/config.gz >> /path/.config, кладём этот конфиг в /usr/src/linux (или где там у Вас исхоники), далее mount /boot, далее make menuconfig. Смотрим чё там нужно-не нужно и далее, сохраняем. Потом делаем nice -19 make -j<сколь ядер не жалко>;nice -19 make -j<...> modules_install; nice -19 make -j <...> install. Далее grub-install и grub-mkconfig -o /boot/grub/grub.cfg. Можно ещё и сам по себе grub подтюнить, но это уже в качестве самоподготовки.

Чтобы понять чё там нужно-не нужно всегда можно сделать lspci -v. Ну и dmesg посмотреть.

Как-то вот так. Пойдёт?

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от vvn_black

Насколько мне известно он тоже берет значение из конфигов, но у меня ядро есть которое работает после make defconfig, а вот почему у меня не запускаеться ядро если выставить все в модуль непомню какая команда ядро не фурычит

SPRATAY
() автор топика
Последнее исправление: SPRATAY (всего исправлений: 1)
Ответ на: комментарий от SPRATAY

Нет.

Хочешь сказать само генерируеться во время запуска лайва?

Там ни чего не генерируется. Там уже всё сгенерировано. Задача ядра в live просто загрузиться. Где угодно. Так что, скорее всего, там уже есть все необходимые модули ядра.

Проверить это можно просто сделав lsmod и сравнив полученный список загруженных модулей с выводом, например, lspci -vvv или, в более короткой форме, lspci -k.

Там будут названия устройств, адреса и названия модулей ядра – какой и что обслуживает. Если что-то из модулей не найдётся или како-то устройство не подхватится системой, то смотреть надо в dmesg и оттуда начинать копать. Что именно за девайс.

Если есть устройства, подключенные по usb, то смотреть надо выхлоп lsusb. Следовательно, на машине должны быть установлены и pciutils и usbutils.

Поэтому получить конфиг, который будет избыточен, но по крайней мере будет работать, Вы можете zctat /proc/config.gz >> .config. Дальше уже открываете его в дереве исходников ядра через maker menuconfig и вышибаете оттуда лишнюю дурь. Например, ненужные в Вашей конфигурации модули устройств, поддержку ненужных файловых систем, кодировок, там много всего.

Потом собираете ядро, как я и сказал в первом комменте и помните что по nice -19 make -j<сколько ядер> install, оно должно упасть в ранее подмонтированный раздел /boot. Потом просто grub-mkconfig -o /boot/grub/grub.cfg. Здесь nice -19 нужно просто чтобы ускорить процесс по максимуму. -j<число ядер> тоже.

Я не рекомендую перед zcat /proc/config.gz >> .config выполнять make mrproper в дереве исходников ядра. Эта полная очистка может быть использована только в случае, если в ядре Вы ориентируетесь как в своём собственном кармане. В противном случае Вы рискуете посносить некоторые нужные вещи и потом просто задолбаться их восстанавливать. Лучше аккуратно, итерациями убирать лишнее, проверяя работоспособность. Пока не разберётесь что и как.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от SPRATAY

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

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

Плохая идея.

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

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

Moisha_Liberman ★★
()
Ответ на: Нет. от Moisha_Liberman

У меня есть(наверное) два способа как сделать

1)скачать готовое ядро от какого нибудь дистра, и сделать все как ты описал

2) как хотел я, сделать избыточное ядро где все все включено, и сделать как ты описал(проблема только в том что ядро это избыточное не запускаеться(уходит в перезагрузку))

SPRATAY
() автор топика
Ответ на: комментарий от SPRATAY

Да. Почти так.

Я бы сделал проще. Я бы скачал какой-нибудь https://www.system-rescue.org/, записал его на флешку, с неё бы загрузился.

Дальше подмонтировал бы к флешке раздел, откуда пытаемся грузиться. Например, /dev/sda1. Дальше просто посмотрел бы чё там в логи записано. Почему система в перезагруз уходит.

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

Ну вот как-то вот так. А в принципе, по технологии сборки, всё выше есть.

Moisha_Liberman ★★
()
Ответ на: Нет. от Moisha_Liberman

Здесь nice -19 нужно просто чтобы ускорить процесс по максимуму

Можно ли так ускорить игры? Чтобы видюха в проц не упиралась

anonymous
()
Ответ на: Нет. от Moisha_Liberman

Здесь nice -19 нужно просто чтобы ускорить процесс по максимуму.

Совет либо бесполезный, либо вредный.

Повышение приоритета сборки замедляет другие задачи - например, создаст проблемы при сёрфинге во время сборки.

К счастью, проблема давно решена:

В состав ядра интегрирован патч с реализацией идеи автоматической группировки задач для повышения интерактивности на десктопе. Патч специальным образом разбивает выполняемые задачи на группы в привязке к идентификатору сессии, в дальнейшем планировщик задач оперирует данными группами как единым целым. Номер сессии изменяется при выполнении системной функции setsid(), которая, например, вызывается для каждого нового сеанса командной оболочки (тем не менее, при запуске десктоп приложений идентификатор сессии не меняется, т.е. если запустить в терминале «make -j 20», влияние на десктоп-приложения будет минимально https://www.opennet.ru/opennews/art.shtml?num=29919

В большинстве десктопных дистров по умолчанию kernel.sched_autogroup_enabled=1, поэтому nice работает только для процессов в пределах своей автогруппы и не влияет на общий приоритет автогруппы.

см также https://www.opennet.ru/opennews/art.shtml?num=28671

hakavlad ★★★
()
Последнее исправление: hakavlad (всего исправлений: 1)
21 сентября 2021 г.
Ответ на: комментарий от anonymous

Можно ли так ускорить игры? Чтобы видюха в проц не упиралась

Можно. Если Вы понимаете что делаете и чем это грозит. Т.е., высока вероятность того, что при такого рода сборке, в особенности, если поставить nice -19 make -j<сколько ядер процессора> или nice -19 ./чего-то_там Вы не сможете например, интернет комфортно серфить. Но здесь как раз смысл в том, чтобы не особо подпрыгивая как можно быстрее завершить нужную операцию. А серфить потом будете.

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

Не совсем так.

Повышение приоритета сборки замедляет другие задачи - например, создаст проблемы при сёрфинге во время сборки.

Мой коммент выше. Здесь идея в том, чтобы как можно быстрее завершить сравнительно долгую операцию по обслуживанию системы. А серфить уже потом.

Тем более это касается сервера, например, build-системы, на которой собираем bin-пакеты для других серверов. ASAP. Чем быстрее, тем лучше.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от Stierlitz_

Стоять! Куда?!?

посоветуйте литературу по сборке ядра

Блин. Только отвернулся, ответить ему не успел, а он уже свистнул и в окошко вылетел.

На мой взгляд, начинать следовало бы отсюда https://wiki.gentoo.org/wiki/Kernel/Configuration/ru Там ещё на сайте много всякой всячины про ведро. Дистрибутив обязывает, да.

Moisha_Liberman ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.