LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Короче, я собрал ядро командой «genkernel all», настроил загрузчик, ядро загрузилось и... куча ошибок в dmesg

man gernkernel
...
NAME
       genkernel - the Gentoo Linux automatic kernel compiler.

SYNOPSIS
       genkernel [options...] action

...
ACTIONS
       An action tells genkernel what you want it to do - the following
       actions are supported:

       all
           Build all steps - the kernel, modules, and the ramdisk.

       bzImage
           Build only the kernel.

       initramfs
           Build only the ramdisk/initramfs.

       kernel
           Build only the kernel and the modules.

       ramdisk
           Build only the ramdisk/initramfs.
...
   KERNEL CONFIGURATION
       --[no-]menuconfig
           Runs, or does not run «make menuconfig» after running «make
           oldconfig».
...

Как видите, действие «all» (Action) лишь укажет genkernel, что он должен собрать ядро, модули и initramfs. Но это не означает, что будут собраны вообще все модули в ядре или хотя бы попросту все необходимые модели для работы устройств в текущей системе. Вы должны сами сконфигурировать ядро, включив соответствующие опции в конфигурации ядра, если будете использовать genkernel, то у него есть ключ '--menuconfig', на который я вам указал.

половина неработающих устройств ...
Особенно волнуют драйвера tg3 и bcma (для Ethernet и WiFi адаптеров соответственно)

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

С модулями можете определиться посредством

lspci -k
запущенном на дистрибутиве где у вас всё работает и смотрите строки «Kernel driver in use:...» а так же смотрите вывод dmesg на предмет инициализации прочих модулей (драйверов), например для устройство, подключенных через USB шину.

У меня ни в одном дистрибутиве ядро так себя не вело.

Так вы его не настроили в Gentoo, а ещё что-то хотите, настраивайте.

Кстати он почему-то показывает события не с начала, не с нулевой секунды.

Включите в конфиге ядра соответствующую опцию, которая указывает размер буфера для хранения сообщений ядра и системных компонентов, собственно тот вывод, который затем выводится в dmesg. Вся суть в том, что на этапе работы initramfs dmesg ещё не запущен, а запущен он будет лишь после монтирования корневой файловой системы, так вот если размер этого буфера небольшой, то у вас могут потеряться часть строк с начала работы ядра.

Читайте документацию, настраивайте, разбирайтесь.

Удачи.

Исходная версия kostik87, :

Короче, я собрал ядро командой «genkernel all», настроил загрузчик, ядро загрузилось и... куча ошибок в dmesg

man gernkernel
...
NAME
       genkernel - the Gentoo Linux automatic kernel compiler.

SYNOPSIS
       genkernel [options...] action

...
ACTIONS
       An action tells genkernel what you want it to do - the following
       actions are supported:

       all
           Build all steps - the kernel, modules, and the ramdisk.

       bzImage
           Build only the kernel.

       initramfs
           Build only the ramdisk/initramfs.

       kernel
           Build only the kernel and the modules.

       ramdisk
           Build only the ramdisk/initramfs.
...
   KERNEL CONFIGURATION
       --[no-]menuconfig
           Runs, or does not run «make menuconfig» after running «make
           oldconfig».
...

половина неработающих устройств ...
Особенно волнуют драйвера tg3 и bcma (для Ethernet и WiFi адаптеров соответственно)

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

С модулями можете определиться посредством

lspci -k
запущенном на дистрибутиве где у вас всё работает и смотрите строки «Kernel driver in use:...» а так же смотрите вывод dmesg на предмет инициализации прочих модулей (драйверов), например для устройство, подключенных через USB шину.

У меня ни в одном дистрибутиве ядро так себя не вело.

Так вы его не настроили в Gentoo, а ещё что-то хотите, настраивайте.

Кстати он почему-то показывает события не с начала, не с нулевой секунды.

Включите в конфиге ядра соответствующую опцию, которая указывает размер буфера для хранения сообщений ядра и системных компонентов, собственно тот вывод, который затем выводится в dmesg. Вся суть в том, что на этапе работы initramfs dmesg ещё не запущен, а запущен он будет лишь после монтирования корневой файловой системы, так вот если размер этого буфера небольшой, то у вас могут потеряться часть строк с начала работы ядра.

Читайте документацию, настраивайте, разбирайтесь.

Удачи.