Difference between revisions of "Talk:Buffalo ARM9 Kernel Port"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m (typo)
m (typo)
Line 2: Line 2:
  
 
* For Linkstation:
 
* For Linkstation:
*:Only a simple diff between Davy Gravy's config and the vanilla defconfig_orion5x or Debian config would reveal a lot of not mandatory settings (just my guess).
+
*:Only a simple diff between Davy Gravy's config and the vanilla defconfig_orion5x or Debian config would reveal a lot of non-mandatory settings (just my guess).
 
*:A list of the mandatory settings with some headwords would be great and would make it easier to adopt to newer kernels. And maybe get these even upstream. - [[User:Maddes|Maddes]] 11:05, 28 March 2010 (UTC)
 
*:A list of the mandatory settings with some headwords would be great and would make it easier to adopt to newer kernels. And maybe get these even upstream. - [[User:Maddes|Maddes]] 11:05, 28 March 2010 (UTC)
  
* Davy Gravy's Debian kernel works with the modules of the pure Debian Build, so it must be something that has been added into the kernel.
+
* Davy Gravy's Debian kernel works with the modules of the pure Debian Build, so it must be something that has been put into the kernel directly.
  
  
Line 57: Line 57:
 
<pre>
 
<pre>
 
* Directly put into the kernel:
 
* Directly put into the kernel:
CONFIG_ARCH_VERSATILE=y  # was not set; support for ARM Ltd Versatile board)
+
CONFIG_ARCH_VERSATILE=y  # was not set; support for ARM Ltd Versatile board
CONFIG_ARCH_VERSATILE_PB=y  # was not set; support for the ARM(R) Versatile/PB platform)
+
CONFIG_ARCH_VERSATILE_PB=y  # was not set; support for the ARM(R) Versatile/PB platform
 
CONFIG_ARM_AMBA=y  # was not set
 
CONFIG_ARM_AMBA=y  # was not set
 
CONFIG_ARM_VIC=y  # was not set
 
CONFIG_ARM_VIC=y  # was not set
Line 115: Line 115:
 
CONFIG_USER_SCHED=y  # was not set
 
CONFIG_USER_SCHED=y  # was not set
 
CONFIG_ZD1211RW_DEBUG=y  # was not set
 
CONFIG_ZD1211RW_DEBUG=y  # was not set
CONFIG_ZLIB_DEFLATE=y  # was m; via IPv6, IPNet, etc.)
+
CONFIG_ZLIB_DEFLATE=y  # was m; via IPv6, IPNet, etc.
CONFIG_ZLIB_INFLATE=y  # was m; via IPv6, IPNet, etc.)
+
CONFIG_ZLIB_INFLATE=y  # was m; via IPv6, IPNet, etc.
  
 
* Modules:
 
* Modules:

Revision as of 18:25, 5 April 2010

Needed are some explanations about what has to be set in the kernel config to make it run on a Linkstation, Kurobox, etc. - Maddes 11:05, 28 March 2010 (UTC)

  • For Linkstation:
    Only a simple diff between Davy Gravy's config and the vanilla defconfig_orion5x or Debian config would reveal a lot of non-mandatory settings (just my guess).
    A list of the mandatory settings with some headwords would be great and would make it easier to adopt to newer kernels. And maybe get these even upstream. - Maddes 11:05, 28 March 2010 (UTC)
  • Davy Gravy's Debian kernel works with the modules of the pure Debian Build, so it must be something that has been put into the kernel directly.



Maddes 21:14, 4 April 2010 (UTC)
Started to analyse everything that was added by Davy Gravy for Debian Lenny kernel 2.6.26:
Check out the Kernel Configuration Archive to see what each config setting stands for.

  • Settings for a booting and working kernel on LS Pro / LS Live V2 (without XFS support):
a) Bigger RAM disks (definitely needed)
CONFIG_BLK_DEV_RAM_COUNT=3     # was 16; Block Devices -> Default number of RAM disks
CONFIG_BLK_DEV_RAM_SIZE=32768  # was 4096; Block Devices -> Default RAM disk size (kBytes)

b) Marvell SATA driver (seems to be necessary)
CONFIG_ATA=y      # was m; Device Drivers -> Serial ATA
CONFIG_SCSI=y     # was m; Device Drivers -> Serial ATA
CONFIG_SATA_MV=y  # was m; Device Drivers -> Serial ATA -> Marvell SATA support

CONFIG_BLK_DEV_SD=y  # was m; SCSI, SATA, PATA, USB and more hard disks; Device Drives -> SCSI device support

c) Filesystems (seems to be necessary)
CONFIG_EXT2_FS=y  # was m; File Systems -> Second Extended fs support
CONFIG_EXT3_FS=y  # was m; File Systems -> Ext3 journalling fs support
  CONFIG_JBD=y         # was m; set by EXT3_FS
  CONFIG_FS_MBCACHE=y  # was m; set by EXT3_FS

CONFIG_NLS=y  # was m; File Systems -> Native Langugae Support)
CONFIG_NLS_UTF8=y  # was m; changed to y; File Systems -> Native Langugae Support -> UTF-8 = *

d) Extra information for uname (useful)
CONFIG_LOCALVERSION=-maddes.freelink  # was not set; General Setup -> Local version - append to kernel release
                                      # NOTE!!! Also changes modules directory to /lib/modules/2.6.26-maddes.freelink
CONFIG_LOCALVERSION_AUTO=y            # was not set; General Setup -> Automatically append version information to the version string

e) Kernel features for embedded devices (seems optional)
CONFIG_PREEMPT=y        # was not set; Kernel Features -> Preemptible Kernel; suggested for embedded devices; also selected by Buffalo?
  CONFIG_LOCK_KERNEL=y    # was not set; set by PREEMPT
  CONFIG_DEBUG_PREEMPT=y  # was not set; set by PREEMPT, changed to not set; Kernel Hacking -> Debug preemptible kernel

f) Loop device (don't know, was in my last change for bigger RAM disks)
CONFIG_BLK_DEV_LOOP=y  # was m; Block Devices -> Loopback device support

g) Allow tweaking of more kernel options
CONFIG_EMBEDDED=y  # was not set; allows for more kernel tweaks; General Setup -> Configure standard kernel features (for small systems)

Maybe these can be reduced even more (e.g. PREEMPT, EMBEDDED, BLK_DEV_LOOP).

  • Other settings still to be investigated on:
* Directly put into the kernel:
CONFIG_ARCH_VERSATILE=y  # was not set; support for ARM Ltd Versatile board
CONFIG_ARCH_VERSATILE_PB=y  # was not set; support for the ARM(R) Versatile/PB platform
CONFIG_ARM_AMBA=y  # was not set
CONFIG_ARM_VIC=y  # was not set
CONFIG_BLK_DEV_DM=y  # was m
CONFIG_BLK_DEV_MD=y  # was m
CONFIG_BLK_DEV_SR=y  # was m
CONFIG_CHR_DEV_SG=y  # was m
CONFIG_COMPAT_BRK=y  # was not set
CONFIG_CPU_ABRT_EV5TJ=y  # was not set
CONFIG_CPU_ARM926T=y  # was not set
CONFIG_CPU_COPY_V4WB=y  # was not set
CONFIG_CRC16=y  # was m
CONFIG_CRC_CCITT=y  # was m
CONFIG_CRAMFS=y  # was m
CONFIG_CRYPTO_BLKCIPHER=y  # was m
CONFIG_CRYPTO_CBC=y  # was m
CONFIG_CRYPTO_DES=y  # was m
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"  # was "utf8"
CONFIG_FPE_FASTFPE=y  # was not set
CONFIG_FW_LOADER=y  # was m
CONFIG_ICST307=y  # was not set
CONFIG_INET6_XFRM_MODE_BEET=y  # was m
CONFIG_INET6_XFRM_MODE_TRANSPORT=y  # was m
CONFIG_INET6_XFRM_MODE_TUNNEL=y  # was m
CONFIG_INET_DIAG=y  # was m
CONFIG_INET_TCP_DIAG=y  # was m
CONFIG_INET_TUNNEL=y  # was m
CONFIG_INET_XFRM_MODE_BEET=y  # was m
CONFIG_INET_XFRM_MODE_TRANSPORT=y  # was m
CONFIG_INET_XFRM_MODE_TUNNEL=y  # was m
CONFIG_IP_PNP=y  # was not set
CONFIG_IP_PNP_DHCP=y  # was not set
CONFIG_IPV6=y  # was m
CONFIG_IPV6_SIT=y  # was m
CONFIG_JFFS2_FS=y  # was m
CONFIG_JFS_FS=y  # was m
CONFIG_JFS_STATISTICS=y  # was not set
CONFIG_LDM_DEBUG=y  # was not set
CONFIG_LEGACY_PTY_COUNT=16  # was not set
CONFIG_LEGACY_PTYS=y  # was not set
CONFIG_LOCKD=y  # was m
CONFIG_LOG_BUF_SHIFT=14  # was 17
CONFIG_MMC_BLOCK_BOUNCE=y  # was not set
CONFIG_MTD_DEBUG=y  # was not set
CONFIG_MTD_DEBUG_VERBOSE=0  # was not set
CONFIG_NETCONSOLE=y  # was m
CONFIG_NETPOLL_TRAP=y  # was not set
CONFIG_NFS_ACL_SUPPORT=y  # was m
CONFIG_NFS_FS=y  # was m
CONFIG_REISERFS_FS=y  # was m
CONFIG_REISERFS_PROC_INFO=y  # was not set
CONFIG_ROOT_NFS=y  # was not set
CONFIG_RPCSEC_GSS_KRB5=y  # was m
CONFIG_SUNRPC=y  # was m
CONFIG_SUNRPC_GSS=y  # was m
CONFIG_USER_SCHED=y  # was not set
CONFIG_ZD1211RW_DEBUG=y  # was not set
CONFIG_ZLIB_DEFLATE=y  # was m; via IPv6, IPNet, etc.
CONFIG_ZLIB_INFLATE=y  # was m; via IPv6, IPNet, etc.

* Modules:
CONFIG_ASYNC_CORE=m  # was y
CONFIG_CRYPTO_HASH=m  # was y
CONFIG_CRYPTO_HMAC=m  # was y
CONFIG_IRCOMM=m  # was not set
CONFIG_IRDA=m  # was not set
CONFIG_IRLAN=m  # was not set
CONFIG_KINGSUN_DONGLE=m  # was not set
CONFIG_LLC=m  # was y
CONFIG_MCS_FIR=m  # was not set
CONFIG_MMC=m  # was not set
CONFIG_MMC_BLOCK=m  # was not set

* Not necessary changes:
# FAT support, maybe needed when booting from USB or other devices (=not LS Pro / LS Live v2)
CONFIG_NLS_DEFAULT="iso8859-1"  # was "utf8"
CONFIG_NLS_CODEPAGE_437=y  # was m
CONFIG_NLS_CODEPAGE_850=y  # was m
CONFIG_NLS_ISO8859_1=y  # was m
CONFIG_NLS_ISO8859_2=y  # was m
  • Settings that seem not to be important for LS Pro / LS Live v2:
* USB:
CONFIG_USB=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_CYTHERM=m
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_IRDA=m
CONFIG_USB_LCD=m
CONFIG_USB_LED=m
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_WHITEHEAT=m
CONFIG_USB_SL811_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_ZD1201=m

Sound (Dummy-Card):
CONFIG_SND_DUMMY=m
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_MPU401=m
CONFIG_SND_MTPAV=m
CONFIG_SND_OSSEMUL=y
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_SEQ_DUMMY=m
CONFIG_SND_SEQUENCER=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_VIRMIDI=m

Bluetooth:
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_LL=y

Touchscreen:
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=m
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y