Common kernel configs

From thelinuxwiki
Jump to: navigation, search


Contents

Android USB Tethering

below info modified from [1]

Required menuconfig prompts/settings according to gentoo wiki and my own configs:

Device Drivers --->
  [*] Network device support --->
      USB Network Adapters --->
           <M> Multi-purpose USB Networking Framework
              -M-   CDC Ethernet support (smart devices such as cable modems)
              <M> CDC EEM support
              <M> Host for RNDIS and ActiveSync devices (EXPERIMENTAL)
              <M> Simple USB Network Links (CDC Ethernet subset)
                 [*] Embedded ARM Linux links

note ***

The prompts above frequently change from one kernel version to the next. The above settings were noted as of kernel version 3.8.3-gentoo-r1.

corresponding .config parameters spawned from above settings:

CONFIG_NETDEVICES=y
CONFIG_USB_USBNET=m
CONFIG_USB_NET_CDCETHER=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
CONFIG_USB_ARMLINUX=y

check config command run against your kernel config file to verify settings

cat .config | grep -E "NETDEVICES|USB_USBNET|USB_NET_CDC_SUBSET|USB_NET_CDCETHER|USB_NET_CDC_EEM|NET_RNDIS_HOST|USB_ARMLINUX"

iptables

-*- Networking support  --->
      Networking options  --->
       [*] Network packet filtering framework (Netfilter)  --->
          Core Netfilter Configuration  --->
               [*] Netfilter connection tracking support
               -*- Netfilter Xtables support (required for ip_tables)
               [*]   "conntrack" connection tracking match support  
               [*]   "state" match support
          IP: Netfilter Configuration  --->
               [*] IPv4 connection tracking support (required for NAT)
               [*] IP tables support (required for filtering/masq/NAT)
               [*]   Packet filtering


input devices

uinput

Symbol: INPUT_UINPUT [=m] │

 │ Type  : tristate                                                                                                            │  
 │ Prompt: User level driver support                                                                                           │  
 │   Defined at drivers/input/misc/Kconfig:418                                                                                 │  
 │   Depends on: !UML && INPUT [=y] && INPUT_MISC [=y]                                                                         │  
 │   Location:                                                                                                                 │  
 │     -> Device Drivers                                                                                                       │  
 │       -> Input device support                                                                                               │  
 │         -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])                                               │  
 │ (1)       -> Miscellaneous devices (INPUT_MISC [=y])

Griffin PowerMate

Symbol: INPUT_POWERMATE [=m]                                                                                                │  
 │ Type  : tristate                                                                                                            │  
 │ Prompt: Griffin PowerMate and Contour Jog support                                                                           │  
 │   Defined at drivers/input/misc/Kconfig:334                                                                                 │  
 │   Depends on: !UML && INPUT [=y] && INPUT_MISC [=y] && USB_ARCH_HAS_HCD [=y]                                                │  
 │   Location:                                                                                                                 │  
 │     -> Device Drivers                                                                                                       │  
 │       -> Input device support                                                                                               │  
 │         -> Generic input layer (needed for keyboard, mouse, ...) (INPUT [=y])                                               │  
 │ (1)       -> Miscellaneous devices (INPUT_MISC [=y])                                                                        │  
 │   Selects: USB [=y]

cameras and video 4 linux

Symbol: MEDIA_CAMERA_SUPPORT [=y] │

 │ Type  : boolean                                                                                                             │  
 │ Prompt: Cameras/video grabbers support                                                                                      │  
 │   Defined at drivers/media/Kconfig:21                                                                                       │  
 │   Depends on: MEDIA_SUPPORT [=y]                                                                                            │  
 │   Location:                                                                                                                 │  
 │     -> Device Drivers                                                                                                       │  
 │ (1)   -> Multimedia support (MEDIA_SUPPORT [=y])

Symbol: MEDIA_USB_SUPPORT [=y] │

 │ Type  : boolean                                                                                                             │  
 │ Prompt: Media USB Adapters                                                                                                  │  
 │   Defined at drivers/media/usb/Kconfig:1                                                                                    │  
 │   Depends on: USB [=y] && MEDIA_SUPPORT [=y]                                                                                │  
 │   Location:                                                                                                                 │  
 │     -> Device Drivers                                                                                                       │  
 │ (1)   -> Multimedia support (MEDIA_SUPPORT [=y])

above not tested

DYNEX usb webcam

Symbol: USB_GSPCA_OV519 [=n] │

 │ Type  : tristate                                                                                                                                     │  
 │ Prompt: OV51x / OVFX2 / W996xCF USB Camera Driver                                                                                                    │  
 │   Defined at drivers/media/usb/gspca/Kconfig:135                                                                                                     │  
 │   Depends on: MEDIA_SUPPORT [=m] && MEDIA_USB_SUPPORT [=y] && MEDIA_CAMERA_SUPPORT [=y] && VIDEO_V4L2 [=m] && USB_GSPCA [=m]                         │  
 │   Location:                                                                                                                                          │  
 │     -> Device Drivers                                                                                                                                │  
 │       -> Multimedia support (MEDIA_SUPPORT [=m])                                                                                                     │  
 │         -> Media USB Adapters (MEDIA_USB_SUPPORT [=y])                                                                                               │  
 │ (1)       -> GSPCA based webcams (USB_GSPCA [=m])

crypto / dev mapper stuff

Device Drivers —>

Multi-device support (RAID and LVM)  —>
[*] Multiple devices driver support (RAID and LVM)
< >   RAID support
<*>  Device mapper support
<*>  Crypt target support

File Systems —>

<*>  The Extended 4 (ext4) filesystem

Cryptographic API —>

<*>  SHA256 digest algorithm
<*>  AES cipher algorithms

.config

CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=y


USB to Serial

for usb2serial device as listed by lsusb: ATEN International Co., Ltd UC-232A Serial Port [pl2303]

Symbol: USB_SERIAL_PL2303 [=m] │

 │ Type  : tristate                                                                                                            │  
 │ Prompt: USB Prolific 2303 Single Port Serial Driver                                                                         │  
 │   Defined at drivers/usb/serial/Kconfig:480                                                                                 │  
 │   Depends on: USB_SUPPORT [=y] && USB_SERIAL [=y]                                                                           │  
 │   Location:                                                                                                                 │  
 │     -> Device Drivers                                                                                                       │  
 │       -> USB support (USB_SUPPORT [=y])                                                                                     │  
 │ (1)     -> USB Serial Converter support (USB_SERIAL [=y])


Symbol: USB_SERIAL_FTDI_SIO [=m]                                                                                            │  
 │ Type  : tristate                                                                                                            │  
 │ Prompt: USB FTDI Single Port Serial Driver                                                                                  │  
 │   Defined at drivers/usb/serial/Kconfig:148                                                                                 │  
 │   Depends on: USB_SUPPORT [=y] && USB_SERIAL [=y]                                                                           │  
 │   Location:                                                                                                                 │  
 │     -> Device Drivers                                                                                                       │  
 │       -> USB support (USB_SUPPORT [=y])                                                                                     │  
 │ (1)     -> USB Serial Converter support (USB_SERIAL [=y])


TUN/TAP

CONFIG_TUN

TUN/TAP provides packet reception and transmission for user space programs. It can be viewed as a simple Point-to-Point or Ethernet device, which instead of receiving packets from a physical media, receives them from user space program and instead of sending packets via physical media writes them to the user space program.

When a program opens /dev/net/tun, driver creates and registers corresponding net device tunX or tapX. After a program closed above devices, driver will automatically delete tunXX or tapXX device and all routes corresponding to it.

Required for openvpn.

Symbol: TUN [=m]

 │ Type  : tristate
 │ Prompt: Universal TUN/TAP device driver support
 │   Defined at drivers/net/Kconfig:206 
 │   Depends on: NETDEVICES [=y] && NET_CORE [=y]
 │   Location:
 │     -> Device Drivers
 │       -> Network device support (NETDEVICES [=y])
 │ (1)     -> Network core driver support (NET_CORE [=y])
 │   Selects: CRC32 [=y]