Intro
UPDATE: I updated the main list, please, if you can write in the main list, near the module name why you think this module should be removed from the default image. Please, also mark which modules you think should be included into the kernel, and which should remain as modules. Please prefix modules with M (keep as module) X (remove) or K (include into kernel)
Please update both the modules list and the lsmod list (don't paste yours, just add what you have, that we don't).
This list consists of all the kernel modules used in SHR by default, feel free to edit this page to add comments and suggest the removal of some. We know not all of those are necessary and that's why we created this page.
Discussion
No edits since this page was created. Maybe the problem is, that nobody knows what all the modules are for (like me). With that much modules it might be easier to start with an empty list and add necessary modules. And not with the complete list and removing modules. If some people provide the output of lsmod we should have a good starting point...
Removal Suggestions
Also, do we really need all these advanced packet filtering modules? Relaying a GPRS connection to a PC via USB network can be done with these modules:
kernel-module-ipt-masquerade kernel-module-iptable-mangle kernel-module-iptable-nat //AFAIK this one is required for tethering kernel-module-xt-conntrack kernel-module-iptable-filter
Needs clarification Which modules should be removed (the ones referred to as "advanced").
Alternative Proposal - Metapackages
Move modules out of the default install and into metapackages targeting particular use cases. Module packages can be a dependency of more than one metapackage. Users can then install metapackages for their use case without needing to know all the individual modules. See #948
Metapackages like this already exists see task-base-bluetooth, task-base-irda, task-base-usbgadget in task-base.bb
All we need is to remove kernel-modules (metapackage with ALL kernel modules) from machine config om-gta02.conf and replace it with sane subset of modules: om-gta02.conf.patch
BTW: don't forget to clean & rebuild task-base.bb of bump PR after MACHINE_EXTRA_RRECOMMENDS change.
After this change
Number of modules in feeds (for 2.6.29-rc3) => 310
Number of modules installed in image => 42
List of modules installed in new shr-unstable images
kernel-module-ar6000 kernel-module-arc4 kernel-module-asix kernel-module-bluetooth kernel-module-bnep kernel-module-btusb kernel-module-crc-ccitt kernel-module-ecb kernel-module-g-ether kernel-module-g-file-storage kernel-module-g-serial kernel-module-gadgetfs kernel-module-hidp kernel-module-l2cap kernel-module-michael-mic kernel-module-nls-utf8 kernel-module-ohci-hcd kernel-module-pegasus kernel-module-ppp-async kernel-module-ppp-deflate kernel-module-ppp-generic kernel-module-ppp-mppe kernel-module-rfcomm kernel-module-s3cmci kernel-module-sco kernel-module-scsi-mod kernel-module-sd-mod kernel-module-slhc kernel-module-snd kernel-module-snd-mixer-oss kernel-module-snd-page-alloc kernel-module-snd-pcm kernel-module-snd-pcm-oss kernel-module-snd-soc-core kernel-module-snd-soc-neo1973-gta02-wm8753 kernel-module-snd-soc-s3c24xx kernel-module-snd-soc-s3c24xx-i2s kernel-module-snd-soc-wm8753 kernel-module-snd-timer kernel-module-uinput kernel-module-usb-storage kernel-module-usbserial
TAsn: This list doesn't include:
kernel-module-pl2303 - do we really need this?
and does include the oss modules which we probably don't need because we use alsa. and a coulpe of unwanted modules:
kernel-module-snd-mixer-oss kernel-module-snd-pcm-oss
beniwtv: I think we should keep snd-pcm-oss. Some programs like Moocow can't play sound otherwise ;)
Then that package should depend on that module. This discussion is about modules included in image, all other modules will be avaible in feed. (Heinervdm)
Modules list
kernel-module-af-key - equired if you are going to use IPsec tools ported from KAME kernel-module-ah4 - Support for IPsec AH kernel-module-ah6 - Support for IPsec AH X kernel-module-aircable - USB AIRcable Bluetooth Dongle X kernel-module-anubis - Anubis cipher algorithm M kernel-module-ar6000 - It's our wifi ;) M kernel-module-arc4 - ARC4 cipher algorithm, needed for WEP kernel-module-ark3116 kernel-module-as-iosched - Anticipatory I/O scheduler X kernel-module-asix - support for ASIX AX88xxx based USB 2.0 10/100 Ethernet adapters. kernel-module-authenc kernel-module-autofs4 - Kernel automounter version 4 support X kernel-module-belkin-sa - belkin modem X kernel-module-berry-charge - charging a blackberry from the FR USB host? I doubt it... kernel-module-blowfish M kernel-module-bluetooth - keep this M kernel-module-bnep - keep this for bluetooth networking kernel-module-bsd-comp M kernel-module-btusb - keep this for bluetooth X kernel-module-camellia - Camellia cipher algorithms module kernel-module-cast5 - CAST5 (CAST-128) cipher algorithm kernel-module-cast6 - CAST6 (CAST-256) cipher algorithm X kernel-module-catc - USB CATC NetMate-based Ethernet device support kernel-module-cdc-acm - supports USB modems and ISDN adapters which support the Communication Device Class Abstract Control Model interface M kernel-module-cdc-ether - keep this for wired connection to other phones kernel-module-cdc-subset - Simple USB Network Links X kernel-module-cdrom kernel-module-cfq-iosched - CFQ I/O scheduler X kernel-module-cifs - Samba is not needed in standard installation kernel-module-cls-basic kernel-module-cls-fw kernel-module-cls-route kernel-module-cls-rsvp kernel-module-cls-rsvp6 kernel-module-cls-tcindex kernel-module-cls-u32 X kernel-module-cn - This is unified userspace <-> kernelspace connector working on top of the netlink socket protocol. X kernel-module-configfs - Userspace-driven configuration filesystem X kernel-module-cp2101 - CP2101/CP2102 based USB to RS232 converter kernel-module-crc-ccitt - CRC-CCITT functions kernel-module-crc-itu-t - CRC ITU-T V.41 functions kernel-module-crc32c - Cyclic Redundancy-Check Algorithm. Used by iSCSI for header and data digests and by others kernel-module-crypto-null X kernel-module-cyberjack - USB REINER SCT cyberJack pinpad/e-com chipcard reader X kernel-module-cypress-m8 - USB Cypress M8 USB Serial Driver kernel-module-digi-acceleport kernel-module-dm9601 kernel-module-ebt-802-3 kernel-module-ebt-among kernel-module-ebt-arp kernel-module-ebt-arpreply kernel-module-ebt-dnat kernel-module-ebt-ip kernel-module-ebt-limit kernel-module-ebt-log kernel-module-ebt-mark kernel-module-ebt-mark-m kernel-module-ebt-pkttype kernel-module-ebt-redirect kernel-module-ebt-snat kernel-module-ebt-stp kernel-module-ebt-ulog kernel-module-ebt-vlan kernel-module-ebtable-broute kernel-module-ebtable-filter kernel-module-ebtable-nat kernel-module-ebtables kernel-module-ecb kernel-module-empeg kernel-module-esp4 kernel-module-esp6 kernel-module-exportfs kernel-module-fcrypt kernel-module-ftdi-sio kernel-module-funsoft kernel-module-fuse kernel-module-g-ether kernel-module-g-file-storage kernel-module-g-midi kernel-module-g-serial kernel-module-gadgetfs X kernel-module-garmin-gps - Download/upload to Garmin GPS. Usually have to blacklist to use a Garmin, anyways. kernel-module-gf128mul kernel-module-gl620a kernel-module-gpio-keys kernel-module-gta01-battery kernel-module-hid-dummy kernel-module-hidp kernel-module-hp4x kernel-module-io-edgeport kernel-module-io-ti kernel-module-iowarrior kernel-module-ip-gre kernel-module-ip-tables kernel-module-ip6-tables kernel-module-ip6-tunnel kernel-module-ip6t-ah kernel-module-ip6t-eui64 kernel-module-ip6t-frag kernel-module-ip6t-hbh kernel-module-ip6t-hl kernel-module-ip6t-ipv6header kernel-module-ip6t-log kernel-module-ip6t-mh kernel-module-ip6t-reject kernel-module-ip6t-rt kernel-module-ip6table-filter kernel-module-ip6table-mangle kernel-module-ipaq kernel-module-ipcomp kernel-module-ipcomp6 kernel-module-ipip kernel-module-ipt-addrtype kernel-module-ipt-ah kernel-module-ipt-clusterip kernel-module-ipt-ecn kernel-module-ipt-log kernel-module-ipt-masquerade kernel-module-ipt-netmap kernel-module-ipt-redirect kernel-module-ipt-reject kernel-module-ipt-ttl kernel-module-ipt-ulog kernel-module-iptable-filter kernel-module-iptable-mangle kernel-module-iptable-nat kernel-module-ipv6 kernel-module-ipw kernel-module-ir-usb X kernel-module-isofs - Obvious, a phone doesn't need support for a CD file system (unless connected to a USB DVD drive...) kernel-module-kaweth kernel-module-keyspan kernel-module-keyspan-pda kernel-module-khazad kernel-module-kl5kusb105 kernel-module-kobil-sct kernel-module-l2cap kernel-module-libcrc32c kernel-module-lockd kernel-module-loop kernel-module-lrw kernel-module-mcs7830 kernel-module-mct-u232 kernel-module-md4 kernel-module-michael-mic kernel-module-mos7720 kernel-module-mos7840 kernel-module-navman kernel-module-net1080 X kernel-module-nf-conntrack - I don't think we need netfilter X kernel-module-nf-conntrack-ftp X kernel-module-nf-conntrack-h323 X kernel-module-nf-conntrack-ipv4 X kernel-module-nf-conntrack-ipv6 X kernel-module-nf-conntrack-irc X kernel-module-nf-conntrack-netbios-ns X kernel-module-nf-conntrack-netlink X kernel-module-nf-conntrack-pptp X kernel-module-nf-conntrack-proto-gre X kernel-module-nf-conntrack-proto-sctp X kernel-module-nf-conntrack-sane X kernel-module-nf-conntrack-sip X kernel-module-nf-conntrack-tftp X kernel-module-nf-defrag-ipv4 X kernel-module-nf-nat X kernel-module-nf-nat-ftp X kernel-module-nf-nat-h323 X kernel-module-nf-nat-irc X kernel-module-nf-nat-pptp X kernel-module-nf-nat-proto-gre X kernel-module-nf-nat-proto-sctp X kernel-module-nf-nat-sip X kernel-module-nf-nat-snmp-basic X kernel-module-nf-nat-tftp kernel-module-nfnetlink kernel-module-nfnetlink-log kernel-module-nfnetlink-queue kernel-module-nfs kernel-module-nfs-acl X kernel-module-nfsd - NFS daemon on a phone? If we want to access the rootfs from our PC, we can still use sshfs kernel-module-nls-cp1251 kernel-module-nls-cp850 kernel-module-nls-cp866 kernel-module-nls-cp936 kernel-module-nls-cp950 kernel-module-nls-utf8 kernel-module-ohci-hcd kernel-module-omninet kernel-module-option kernel-module-pcbc kernel-module-pegasus X kernel-module-pl2303 - most (all?) USB-to-serial adapters, my main usage of the FR at the moment :-) kernel-module-plusb kernel-module-ppp-async kernel-module-ppp-deflate kernel-module-ppp-generic kernel-module-ppp-mppe kernel-module-ppp-synctty X kernel-module-reiserfs - anyone use this on their uSD, or is it just for USB connected devices? M kernel-module-rfcomm - keep as needed for bluetooth kernel-module-rndis-host kernel-module-rtc-s3c kernel-module-rtl8150 kernel-module-s3c2410-wdt kernel-module-s3cmci kernel-module-safe-serial kernel-module-sch-cbq kernel-module-sch-dsmark kernel-module-sch-gred X kernel-module-sch-hfsc - a good packet scheduler if you want to define latency classes, but I doubt many will use it kernel-module-sch-htb kernel-module-sch-netem kernel-module-sch-prio kernel-module-sch-red kernel-module-sch-sfq kernel-module-sch-tbf kernel-module-sch-teql kernel-module-sco kernel-module-scsi-mod kernel-module-scsi-wait-scan kernel-module-sd-mod kernel-module-serpent kernel-module-sg kernel-module-sha1-generic kernel-module-sha256-generic kernel-module-sha512-generic kernel-module-sierra kernel-module-sit kernel-module-slhc K kernel-module-snd - used for sound, all phones need sound. kernel-module-snd-hwdep X kernel-module-snd-mixer-oss - Doc advices to remove all oss modules and use alsa K kernel-module-snd-page-alloc - used for sound, all phones need sound. K kernel-module-snd-pcm - used for sound, all phones need sound. X kernel-module-snd-pcm-oss - Doc advices to remove all oss modules and use alsa kernel-module-snd-rawmidi K kernel-module-snd-soc-core - used for sound, all phones need sound. K kernel-module-snd-soc-neo1973-gta02-wm8753 - used for sound, all phones need sound. K kernel-module-snd-soc-s3c24xx - used for sound, all phones need sound. K kernel-module-snd-soc-s3c24xx-i2s - used for sound, all phones need sound. K kernel-module-snd-soc-wm8753 - used for sound, all phones need sound. K kernel-module-snd-timer - used for sound, all phones need sound. kernel-module-snd-usb-audio kernel-module-snd-usb-lib kernel-module-squashfs kernel-module-sr-mod kernel-module-stowaway kernel-module-sunrpc kernel-module-tcrypt kernel-module-tea kernel-module-tgr192 kernel-module-ti-usb-3410-5052 kernel-module-trancevibrator kernel-module-ts-bm kernel-module-ts-fsm kernel-module-ts-kmp kernel-module-tun kernel-module-tunnel4 kernel-module-tunnel6 kernel-module-twofish kernel-module-twofish-common kernel-module-ub X kernel-module-udf - Obvious, a phone doesn't need support for a udf file system (unless connected to a USB DVD drive...) kernel-module-uinput kernel-module-usb-storage kernel-module-usblp M kernel-module-usbserial - most (all?) USB-to-serial adapters, my main usage of the FR at the moment :-) kernel-module-usbtmc kernel-module-visor kernel-module-whiteheat kernel-module-wp512 X kernel-module-x-tables kernel-module-xcbc - XCBC keyed hash algorithm X kernel-module-xfrm-ipcomp - IP payload compression kernel-module-xfrm4-mode-beet kernel-module-xfrm4-mode-transport kernel-module-xfrm4-mode-tunnel kernel-module-xfrm4-tunnel kernel-module-xfrm6-mode-beet kernel-module-xfrm6-mode-transport kernel-module-xfrm6-mode-tunnel kernel-module-xfrm6-tunnel X kernel-module-xt-classify - XTables * X kernel-module-xt-connbytes X kernel-module-xt-connmark X kernel-module-xt-conntrack X kernel-module-xt-dccp X kernel-module-xt-dscp X kernel-module-xt-esp X kernel-module-xt-hashlimit X kernel-module-xt-helper X kernel-module-xt-length X kernel-module-xt-limit X kernel-module-xt-mac X kernel-module-xt-mark X kernel-module-xt-multiport X kernel-module-xt-nflog X kernel-module-xt-nfqueue X kernel-module-xt-physdev X kernel-module-xt-pkttype X kernel-module-xt-policy X kernel-module-xt-quota X kernel-module-xt-realm X kernel-module-xt-sctp X kernel-module-xt-state X kernel-module-xt-statistic X kernel-module-xt-string X kernel-module-xt-tcpmss X kernel-module-xt-tcpudp X kernel-module-zaurus - g_ether alternative for zaurus
lsmod list
pl2303 usbserial snd_soc_neo1973_gta02_wm8753 snd_soc_s3c24xx_i2s ar6000 snd_soc_s3c24xx s3cmci rfcomm ppp_generic slhc ohci_hcd ipv6 hidp l2cap bluetooth g_ether snd_soc_wm8753 snd_soc_core snd_pcm snd_timer snd_page_alloc snd btusb *
