LINUX.ORG.RU

Вопрос к gentoo-шникам о конфиге ядра


0

1

Много лет проработал с Gentoo на серверах. На домашних машинах жили разные «дружественные» линуксы и BSD, в последнее время - Ubuntu. Однако, посмотрев на всю ту вакханалию, которая сейчас творится с этим дистрибутивом, возникло желание вернуться на Gentoo на домашних машинах, создав свою собственную сборку, т.к. остальные дистрибутивы - принципиально ничем не лучше, да и rolling'и нравятся больше. Однако, единственное, что останавливает - множество машин у себя и у членов семьи, которые, теоретически, придётся настраивать таким образом, чтобы в каждом отдельном случае работало всё железо.

Вопрос такой. Существуют ли конфиги ядра для Gentoo, чтобы все драйвера «подхватывались» сразу, как в тех же Ubuntu? И если да, то есть ли механизм, который бы позволял загружать только те драйверы (модули), которые реально необходимы на этом конкретном железе, чтобы при этом не расходовать ресурс (главным образом память)?


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

xorik ★★★★★
()

Эмм... Это же древний genkernel + coldplug.

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

В смысле, по требованию? Их же все придётся прописывать в загрузку? И если железяки какой-то нет - они же продолжат висеть?

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

Алё, 21 век на дворе!
udev сам всё за тебя сделает и модули нужные подгрузит в память, а когда не нужны не будет грузить

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

Вот например у меня в автозагрузке только virtualbox, остальные автоматом подгрузились:

$ lsmod
Module                  Size  Used by
snd_usb_caiaq          31415  0 
vboxdrv              1754899  0 
snd_hda_codec_hdmi     20941  1 
snd_hda_codec_realtek   301755  1 
snd_hda_intel          22282  4 
snd_hda_codec          83487  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               5404  1 snd_hda_codec
snd_pcm                72247  5 snd_usb_caiaq,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
i915                  325604  3 
samsung_backlight       1403  0 
drm_kms_helper         28118  1 i915
drm                   193621  4 i915,drm_kms_helper
snd_page_alloc          7558  2 snd_hda_intel,snd_pcm

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

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

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

Нет, главное чтоб в ядре было собрано НЕ МОДУЛЕМ файловая система корня и дискового контроллера, остольное можно модулями делать.

И вообще есть очень простой способ собрать ядро под конкретное железо без гемора: грузишься с убунту лив-сиди, переходишь в каталог с исходниками ядра и делаешь make localyesconfig или make localmodconfig (но тут надо сделать то что я сказал не модулями).

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

Еще есть genkernel, который сам соберет тебе универсальное ядро, в хендбуке всё описано

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

Вот например я только что вставил bluetooth USB, автоматом загрузился модуль btusb, я ничего никуда не прописывал

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

> В смысле, по требованию? Их же все придётся прописывать в загрузку? И если железяки какой-то нет - они же продолжат висеть?

Современный udev сам подгрузит нужный модуль, так что не заморачивайся.

blackst0ne ★★★★★
()

Просто включай все драйверы по-максимуму. Вот мой конфиг. Не претендует на идеальный. Работает только с genkernel, а конкретно genkernel --menuconfig all, там загрузи файл .config2 и пересохрани как .config, тогда работает. http://paste.org.ru/?6zgij0

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

тут для людей всё - всё само

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

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

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

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

ты не видишь разницу между автозагрузкой и автосборкой? о_О

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

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

И после ядро будет весить мегабайт 20 и модули мегабайт 40. ИМХО, лучше потратить часик чтоб запилить нормальное маленькое ядро. Например, у меня ядро весит 3.5 мб, модули 18.4, причем 15.5 мб - модуль нвидии. В модули повыносил только то, чем очень редко пользуюсь: блютуз (модули не грузятся, пока не не зделать /etc/init.d/bluetooth start), драйвер для сетевой карты, тот что в ядре подгужается, но система не видит карточку, собираю отдельно от ядра.

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

А вот можно ли сделать так, чтобы подключаешь к уже работающей системе с универсальным ядром все устройства, берёшь список устройств, которые используются, и корректируешь ядро? А то не хочется, чтобы со своим «профессионализмом» какое-то внутреннее устройство в результате не работало.

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

Берешь дефолтный конфиг от любого дистрибутива. Устройства, которым нужна перекомпиляция ядра, будеш долго искать (имхо конечно)
Или genkernel

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

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

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

Вот это не могу сказать точно, я из убунтушного делал make localyesconfig, кое-что в модули вынес и глубоко не копался

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

>6,2 мегабайтов
о_О???
-rw-r--r-- 1 root 0 1,9M Окт 23 15:24 3.0.7-pf

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

>89,7 мегабайтов.
о_О????
30M /lib/modules/3.0.7-pf/
из них
-rw-r--r-- 1 root 0 12M Окт 25 14:04 /lib/modules/3.0.7-pf/video/nvidia.ko

megabaks ★★★★
()
Ответ на: комментарий от megabaks
00:1f.2 SATA controller: Intel Corporation Cougar Point 6 port SATA AHCI Controller (rev 05)
	Subsystem: Dell Device 04b0
	Kernel driver in use: ahci

Добавил achi в ядро, толку мало

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

>ИМХО, лучше потратить часик чтоб запилить нормальное маленькое ядро. Например, у меня ядро весит 3.5 мб, модули 18.4, причем 15.5 мб - модуль нвидии.

да ты прямо хэккер, да

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

ядро будет весить мегабайт 20 и модули мегабайт 40

шестьдесят мегабайт на терабайтных винчестерах? бида-бида, трагедия, тринадцать «Оскаров», все плачут

лучше потратить часик чтоб запилить нормальное маленькое ядро

лучше этот часик потратить на тупое смотрение в пустую стену - пользы больше намного

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

Если я собрал ядро с помощью genkernel, но в принципе все критичные модули в ядре, то я могу в принципе выпилить initrd из grub и надеяться на успех или genkernel и само ядро как-то конфигурит хитро, с расчетом на initrd.

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

лично у меня ядро весит 3,4 Мб и 55 Мб - модули, ядро 3.0.7

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

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

и выкинуть initrd как из /boot так и из конфига - не нужен он

FS есть, LVM есть. initrd врядле мешает, я его просто из grub удаляю, потому как еще ни разу успешно не загрузился, потому удалить его было бы ССЗБ

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

>а потом обновишь железо или купишь какой-нибудь периферический девайс, и полезешь в консольку заново дрочить ядро
и этим ты напугать решил?
есть лайф+чрут+localyesconfig
дело 5 минут

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

>и этим ты напугать решил?

а вот этим:

есть лайф+чрут+localyesconfig дело 5 минут

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

anonymous
()
Ответ на: комментарий от megabaks
Module                  Size  Used by
acpi_call               3584  0 
aes_x86_64              6920  0 
aes_generic            25832  1 aes_x86_64
snd_seq_oss            22048  0 
snd_seq_midi_event      4200  1 snd_seq_oss
snd_seq                39456  4 snd_seq_oss,snd_seq_midi_event
snd_seq_device          4152  2 snd_seq_oss,snd_seq
snd_pcm_oss            31264  0 
snd_mixer_oss          12424  1 snd_pcm_oss
ipv6                  237040  38 
snd_hda_codec_hdmi     19724  4 
snd_hda_codec_idt      47400  1 
snd_hda_intel          19400  8 
nvidia              10798384  32 
arc4                    1096  2 
snd_hda_codec          55264  3 snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel
snd_hwdep               4784  1 snd_hda_codec
snd_pcm                55792  6 snd_pcm_oss,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer              15860  4 snd_seq,snd_pcm
snd                    46816  24 snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_hda_codec_hdmi,snd_hda_codec_idt,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
snd_page_alloc          6040  2 snd_hda_intel,snd_pcm
ath9k                  65276  0 
mac80211              157616  1 ath9k
ath9k_common            1288  1 ath9k
ath9k_hw              263040  2 ath9k,ath9k_common
ath                    13384  2 ath9k,ath9k_hw
cfg80211              137888  3 ath9k,mac80211,ath
rfkill                  7976  1 cfg80211
i2c_i801                7440  0 
r8169                  36400  0 
mii                     3400  1 r8169
dcdbas                  4124  0 
battery                 9040  0 
ac                      2608  0 
processor              20272  8 
thermal                 6560  0 
pcspkr                  1416  0 
libiscsi               32088  0 
scsi_transport_iscsi    23280  1 libiscsi
tg3                   122700  0 
libphy                 13768  1 tg3
e1000                  89464  0 
fuse                   59864  1 
nfs                   133384  0 
lockd                  59924  1 nfs
sunrpc                164584  3 nfs,lockd
jfs                   156400  0 
raid10                 19272  0 
raid1                  18920  0 
raid0                   7212  0 
scsi_wait_scan           552  0 
hid_sunplus             1224  0 
hid_sony                2056  0 
hid_samsung             2696  0 
hid_pl                  1192  0 
hid_petalynx            1832  0 
hid_monterey            1352  0 
hid_microsoft           2572  0 
hid_logitech            7336  0 
hid_gyration            2472  0 
hid_ezkey               1160  0 
hid_cypress             1672  0 
hid_chicony             1640  0 
hid_cherry              1288  0 
hid_belkin              1512  0 
hid_apple               4584  0 
hid_a4tech              1800  0 
sl811_hcd               9608  0 
usbhid                 22752  0 
ohci_hcd               20364  0 
ssb                    33272  1 ohci_hcd
pcmcia                 30608  1 ssb
pcmcia_core             9696  1 pcmcia
uhci_hcd               20704  0 
usb_storage            40352  0 
ehci_hcd               33852  0 
usbcore               119688  8 hid_sony,sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd
aic94xx                69496  0 
libsas                 47568  1 aic94xx
lpfc                  449760  0 
qla2xxx               309056  0 
megaraid_sas           65504  0 
megaraid_mbox          26072  0 
megaraid_mm             7112  1 megaraid_mbox
megaraid               39808  0 
aacraid                69520  0 
sx8                    12216  0 
DAC960                 67912  0 
cciss                  47184  0 
3w_9xxx                32736  0 
3w_xxxx                24832  0 
mptsas                 35000  0 
scsi_transport_sas     20296  3 aic94xx,libsas,mptsas
mptfc                  10736  0 
scsi_transport_fc      35436  3 lpfc,qla2xxx,mptfc
scsi_tgt                7856  1 scsi_transport_fc
mptspi                 11256  0 
mptscsih               17224  3 mptsas,mptfc,mptspi
mptbase                58152  4 mptsas,mptfc,mptspi,mptscsih
atp870u                26912  0 
dc395x                 28788  0 
qla1280                21152  0 
imm                     9236  0 
parport                24912  1 imm
dmx3191d                9512  0 
sym53c8xx              66864  0 
gdth                   79640  0 
advansys               59296  0 
firmware_class          5000  9 r8169,tg3,pcmcia,aic94xx,libsas,lpfc,qla2xxx,qla1280,advansys
initio                 17184  0 
BusLogic               21968  0 
arcmsr                 24704  0 
aic7xxx               109148  0 
aic79xx               113564  0 
scsi_transport_spi     16168  5 mptspi,dmx3191d,sym53c8xx,aic7xxx,aic79xx
sg                     21848  0
vertexua ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

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

не пытайся залупаться здесь, щенок безмозглый, иди обратно в толксы

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