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
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.