Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Using lsmod info to inform kernel config?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
jeffk
l33t
l33t


Joined: 13 Sep 2003
Posts: 671

PostPosted: Mon Mar 28, 2011 10:23 pm    Post subject: Using lsmod info to inform kernel config? Reply with quote

Can someone advise what can be learned from lsmod output with the gentoo LiveCD, so I can check for missing settings in my genkernel config?

The hardware is an Intel Xeon on VMWare vSphere 4.1U1:
Code:
Linux livecd 2.6.36-gentoo-r5 #1 SMP Thu Feb 24 13:41:14 UTC 2011 x86_64 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz GenuineIntel GNU/Linux

Code:
(chroot) livecd kernels # lsmod
Module                  Size  Used by
ipv6                  206212  12
video                  11079  0
backlight               3332  1 video
output                  1596  1 video
ac                      2112  0
battery                 5558  0
button                  4602  0
fan                     2290  0
thermal                 7461  0
processor              25489  0
thermal_sys            10469  4 video,fan,thermal,processor
floppy                 48917  0
rtc                     4951  0
tg3                   106290  0
libphy                 14410  1 tg3
e1000                  82410  0
fuse                   53142  0
jfs                   138057  0
raid10                 18211  0
raid456                43608  0
async_raid6_recov       1161  1 raid456
async_memcpy            1134  1 raid456
async_pq                3010  1 raid456
async_xor               2121  2 raid456,async_pq
xor                     4140  1 async_xor
async_tx                1622  5 raid456,async_raid6_recov,async_memcpy,async_pq,async_xor
raid6_pq               77394  2 async_raid6_recov,async_pq
raid1                  18057  0
raid0                   6835  0
dm_snapshot            24303  0
dm_crypt                9987  0
dm_mirror              11490  0
dm_region_hash          6344  1 dm_mirror
dm_log                  7288  2 dm_mirror,dm_region_hash
dm_mod                 54734  4 dm_snapshot,dm_crypt,dm_mirror,dm_log
scsi_wait_scan           663  0
sbp2                   17235  0
ohci1394               23859  0
ieee1394               59454  2 sbp2,ohci1394
sl811_hcd               8630  0
usbhid                 29429  0
ohci_hcd               17773  0
uhci_hcd               17932  0
usb_storage            38582  0
ehci_hcd               30941  0
usbcore               108389  7 sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd
aic94xx                63941  0
libsas                 34296  1 aic94xx
lpfc                  379212  0
qla2xxx               281797  0
megaraid_sas           37273  0
megaraid_mbox          23613  0
megaraid_mm             6897  1 megaraid_mbox
megaraid               35887  0
aacraid                60335  0
sx8                    11093  0
DAC960                 61751  0
cciss                  38709  0
3w_9xxx                28682  0
3w_xxxx                20500  0
mptsas                 42747  0
scsi_transport_sas     20845  3 aic94xx,libsas,mptsas
mptfc                  11989  0
scsi_transport_fc      35443  3 lpfc,qla2xxx,mptfc
scsi_tgt                8344  1 scsi_transport_fc
mptspi                 13159  1
mptscsih               23931  3 mptsas,mptfc,mptspi
mptbase                74685  4 mptsas,mptfc,mptspi,mptscsih
atp870u                23553  0
dc395x                 27547  0
qla1280                19271  0
dmx3191d                9004  0
sym53c8xx              62559  0
gdth                   72993  0
advansys               50333  0
initio                 15329  0
BusLogic               19282  0
arcmsr                 23484  0
aic7xxx               104791  0
aic79xx               119712  0
scsi_transport_spi     18315  5 mptspi,dmx3191d,sym53c8xx,aic7xxx,aic79xx
sg                     23380  0
pdc_adma                5202  0
sata_inic162x           6503  0
sata_mv                23475  0
ata_piix               20548  1
ahci                   19337  0
libahci                15797  1 ahci
sata_qstor              5001  0
sata_vsc                3822  0
sata_uli                2857  0
sata_sis                3570  0
sata_sx4                7854  0
sata_nv                18743  0
sata_via                7672  0
sata_svw                3998  0
sata_sil24             10545  0
sata_sil                7060  0
sata_promise            9521  0
pata_sl82c105           3145  0
pata_cs5530             4061  0
pata_cs5520             3443  0
pata_via                7479  0
pata_jmicron            2248  0
pata_marvell            2689  0
pata_sis                9776  1 sata_sis
pata_netcell            2078  0
pata_sc1200             2786  0
pata_pdc202xx_old       4120  0
pata_triflex            2878  0
pata_atiixp             3449  0
pata_opti               2615  0
pata_amd                9908  0
pata_ali                8839  0
pata_it8213             3247  0
pata_pcmcia             9893  0
pcmcia                 28342  1 pata_pcmcia
firmware_class          5019  7 tg3,aic94xx,libsas,qla2xxx,qla1280,advansys,pcmcia
pcmcia_core            10317  1 pcmcia
pata_ns87415            3065  0
pata_ns87410            2621  0
pata_serverworks        5261  0
pata_platform           3232  0
pata_artop              4603  0
pata_it821x             8157  0
pata_optidma            4358  0
pata_hpt3x2n            4515  0
pata_hpt3x3             2917  0
pata_hpt37x             9962  0
pata_hpt366             4846  0
pata_cmd64x             5432  0
pata_efar               3363  0
pata_rz1000             2610  0
pata_sil680             4313  0
pata_radisys            2743  0
pata_pdc2027x           5771  0
pata_mpiix              2715  0
libata                133311  53 libsas,pdc_adma,sata_inic162x,sata_mv,ata_piix,ahci,libahci,
                                          sata_qstor,sata_vsc,sata_uli,sata_sis,sata_sx4,sata_nv,sata_via,sx

Are any tools available to configure the genkernel config based on the above information, so everything detected is available as a module or compiled in, but not everything in the whole kernel gets built? The target kernel is 2.6.38-gentoo-r1.
Thanks.
Back to top
View user's profile Send private message
DONAHUE
Watchman
Watchman


Joined: 09 Dec 2006
Posts: 7651
Location: Goose Creek SC

PostPosted: Mon Mar 28, 2011 11:41 pm    Post subject: Reply with quote

The tool you ask for is
Code:
genkernel --menuconfig all
Pruning the genkernel would reduce the disk space the kernel requires: I have a 3.9MB kernel versus a 2.8MB genkernel plus 3.4MB initramfs plus 1.6MB system.map. A trivial 4.9MB difference in a terabyte world. The unpruned genkernel boot should be slower; but not enough for me to notice. Pruning will take a lot of time and seems not worth the effort. http://kernel-seeds.org/ is a repository of efficient kernel configurations good as a basis for manual configuration.
_________________
Defund the FCC.
Back to top
View user's profile Send private message
jeffk
l33t
l33t


Joined: 13 Sep 2003
Posts: 671

PostPosted: Wed Mar 30, 2011 5:17 pm    Post subject: Reply with quote

Thanks for the reply. I am always impressed by the supported hardware of a full-config Linux kernel. I'm also more than happy to trade disk space for the benefit.

I've always customized my genkernel configs, and it's worked out well. On this new VMWare virtualized hardware, there was just a lot of unfamiliar territory for what needs to be compiled in for best performance and reliability. My main objective on this server, after full hardware and acceleration support, is to reduce compile time, which can be considerable for the full config, and considerably shorter for a config pared down to the expected hardware.

There's also some interest from my users about disabling the running kernel's support for unneeded hardware e.g. USB for security reasons.

Thanks.
Back to top
View user's profile Send private message
jbouzan
Tux's lil' helper
Tux's lil' helper


Joined: 23 Nov 2007
Posts: 138

PostPosted: Wed Mar 30, 2011 7:01 pm    Post subject: Reply with quote

Quote:
/usr/src/linux $ make help
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files

Configuration targets:
config - Update current config utilising a line-oriented program
nconfig - Update current config utilising a ncurses menu based program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a QT based front-end
gconfig - Update current config utilising a GTK based front-end
oldconfig - Update current config utilising a provided .config as base
localmodconfig - Update current config disabling modules not loaded
localyesconfig - Update current config converting local mods to core

silentoldconfig - Same as oldconfig, but quietly, additionally update deps
defconfig - New config with default from ARCH supplied defconfig
savedefconfig - Save current config as ./defconfig (minimal config)
allnoconfig - New config where all options are answered with no
allyesconfig - New config where all options are accepted with yes
allmodconfig - New config selecting modules when possible
alldefconfig - New config with all symbols set to default
randconfig - New config with random answer to all options
listnewconfig - List new options
oldnoconfig - Same as silentoldconfig but set new symbols to n (unset)

I think these options create a kernel .config by seeing currently loaded modules. Start with the appropriate version seed, then run make localyesconfig, and see if it boots.
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Wed Mar 30, 2011 7:31 pm    Post subject: Reply with quote

lspci -k can also answer that

the make allmodconfig + setting criticals part build-in (read mostly disk controller) can also add options your hardware handle but not the livecd kernel
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum