LINUX.ORG.RU

Как собрать универсальное ядро Linux для любой машины?

 , ,


0

2

Собираю Linux From Scratch и хочу собрать универсальное ядро, с поддержкой всего железа модульно, но при этом не связываясь со всякими initrd. Хочу чтобы на любой машине можно было просто распаковать тарбол с системой, настроить граб и сразу пользоваться.

Можно ли это сделать? И как? В бинарных дистрибутивах эту проблему как-то же решают.

Когда-то на генте пробовал сконфигурировать ядро так

make allmodconfig

чтобы собрать все модулями, и оно не загрузилось.

P.S. Речь идет об архитектуре x86_64

Deleted

Последнее исправление: Deleted (всего исправлений: 1)

В бинарных дистрибутивах эту проблему как-то же решают

Ну вот и посмотри.

и оно не загрузилось

А не рано ли тебе LFS?

BceM_IIpuBeT ★★☆☆☆
()

Можно ли это сделать?

Нельзя. В лучшем случае будет работать на процессорах одной архитектуры (например x86), но не более. Собрать ядро, подходящее для любой машины нельзя.

В бинарных дистрибутивах эту проблему как-то же решают.

Выпуском отдельных версий под x86, x86_64, ARM и прочих (больше всего архитектур поддерживает дебиан вроде).

anonymous
()

ядро, с поддержкой всего железа модульно

при этом не связываясь со всякими initrd

Хорошая шутка. А модули ядро откуда грузить будет?

manntes-live ★★★
()

возьми готовый конфиг из любого дистра

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

Я имел ввиду конечно-же под любую машину одной архитектуры - x86_64.

Deleted
()
Ответ на: комментарий от manntes-live

А если включить все что можно модулями, а что-то (поддержка файловых систем, контроллеров SATA?) вкомпилить в ядро?

Deleted
()

кнопки «чтоб все было за---сь !!» не существует.

и это не косяк программистов ядра, это фундаментальное свойство вселенной :)

я думаю тебе надо сначала сильно-сильно почитать теорию.

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

А если включить все что можно модулями, а что-то (поддержка файловых систем, контроллеров SATA?) вкомпилить в ядро?

Можно. Но подумай о размере этого ядра. Модуль ФС если ещё можно оставить для ext4 (под корень, остальное уже оттуда подгрузится), то модули контроллеров sas/sata/разное придётся иметь все.

AS ★★★★★
()

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

intelfx ★★★★★
()

универсальное ядро
не связываясь со всякими initrd.
В бинарных дистрибутивах эту проблему как-то же решают.

В большинстве (если не во всех) бинарных дистрибутивах эту проблему решают с помощью initrd. В initrd как раз и лежит такое универсальное ядро.

Даже если теоретически можно (в чём, кстати, я совсем не уверен) собрать ядро, которое будет грузиться и затем работать под любым x86_64, практическая ценность такого ядра будет весьма сомнительна.

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

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

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

на нетбуке и ноутбуке одинаковый проц?

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

Ну вот и вкомпиливай драйвера дисковых контроллеров этих трёх компов, а не «все».

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

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

Ты хочешь всюду LFS? Ну-ну...

proud_anon ★★★★★
()

Это же какой-то кранч, не поддерживается, уже давно, довольно.?

anonymous
()

дык это вроде невозможно, на какой машине ядро компилировалось - только туда и встанет, я когда первое ядро скомпилировал - по дури пытался его в другие машины ставить, спасибо добрые люди объяснили что я не мантейнер... или собрать и компилировать это разные вещи?

amd_amd ★★★★★
()

make allyesconfig

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

У андроида, к прим., всё с точностью до наоборот, на чём намантейнерят на том ..и не запустится, такой вот подход к разработке.

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