Talk:Buffalo ARM9 Kernel Port

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 21:10, 4 April 2010 by Maddes (Talk | contribs)

Jump to: navigation, search

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 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).
    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 added into the kernel.



Started to analyse everything that was added by Davy Gravy:

  • Settings for a booting (=not panic-ing kernel), but which is not working completely:
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 32768; 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

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

d) Extra information for uname (useful)
CONFIG_LOCALVERSION=-maddes.freelink  # was not set; General Setup -> Local version - append to kernel release
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; General Setup -> Configure standard kernel features (for small systems)
  • Other settings still to be investigated on:
CONFIG_ARCH_VERSATILE=y
CONFIG_ARCH_VERSATILE_PB=y
CONFIG_ARM_AMBA=y
CONFIG_ARM_VIC=y
CONFIG_ASYNC_CORE=m
CONFIG_BLK_DEV_DM=y
CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=y
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_LL=y
CONFIG_CHR_DEV_SG=y
CONFIG_COMPAT_BRK=y
CONFIG_CPU_ABRT_EV5TJ=y
CONFIG_CPU_ARM926T=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CRAMFS=y
CONFIG_CRC16=y
CONFIG_CRC_CCITT=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_HMAC=m
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_FPE_FASTFPE=y
CONFIG_FW_LOADER=y
CONFIG_ICST307=y
CONFIG_INET6_XFRM_MODE_BEET=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IPV6=y
CONFIG_IPV6_SIT=y
CONFIG_IRCOMM=m
CONFIG_IRDA=m
CONFIG_IRLAN=m
CONFIG_JFFS2_FS=y
CONFIG_JFS_FS=y
CONFIG_JFS_STATISTICS=y
CONFIG_KINGSUN_DONGLE=m
CONFIG_LDM_DEBUG=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_LEGACY_PTYS=y
CONFIG_LLC=m
CONFIG_LOCKD=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_MCS_FIR=m
CONFIG_MMC=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MTD_DEBUG=y
CONFIG_MTD_DEBUG_VERBOSE=0
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_FS=y
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_REISERFS_FS=y
CONFIG_REISERFS_PROC_INFO=y
CONFIG_ROOT_NFS=y
CONFIG_RPCSEC_GSS_KRB5=y
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
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
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
CONFIG_USER_SCHED=y
CONFIG_ZD1211RW_DEBUG=y
CONFIG_ZLIB_DEFLATE=y  # set via IPv6, IPNet, etc.
CONFIG_ZLIB_INFLATE=y  # set via IPv6, IPNet, etc.
  • Settings that seem not to be important:
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