Talk:Buffalo ARM9 Kernel Port

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) There should also be information specific to the TSProV2 and TSLive since those have been shown to use an ARM9 SoC, not ARM11 Speeddymon 04:16, 21 March 2011 (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 20:17, 8 April 2010 (UTC) Started to analyse everything what was added by Davy Gravy for Debian Lenny kernel 2.6.26: Check out the |Linux Kernel Configuration Archive to see what each config setting stands for. Concentrated on the things Davy added, by using a diff of his config against the original Debian one, then sorted the output and only looked at the lines starting with a plus (+) (result files).

Maybe these can be reduced even further? a) Support for bigger RAM disks CONFIG_BLK_DEV_RAM_COUNT=3    # was 16; Device Drivers -> Block Devices -> Default number of RAM disks CONFIG_BLK_DEV_RAM_SIZE=32768  # was 4096; Device Drivers -> Block Devices -> Default RAM disk size (kBytes)
 * Mandatory settings for a booting and working kernel on LS Pro / LS Live V2 (without XFS support):

b) Marvell SATA driver CONFIG_ATA=y     # was m; Device Drivers -> Serial ATA CONFIG_SATA_MV=y  # was m; Device Drivers -> Serial ATA -> Marvell SATA support

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

c) Filesystems 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

---

z) Additional settings for a Vanilla config (via make ARCH=arm orion5x_defconfig) CONFIG_MACH_LINKSTATION_PRO=y # was not set; System Type -> Orion Implementations -> Buffalo Linkstation Pro/Live CONFIG_BLK_DEV_INITRD=y        # was not set; General Setup -> Initial RAM filesystem and RAM disk (initramfs/initrd) support CONFIG_BLK_DEV_RAM=y           # was not set; Device Drivers -> Block Devices -> RAM block device support

a) Extra information for uname, etc. CONFIG_LOCALVERSION=-freelink.maddes # was not set; General Setup -> Local version - append to kernel release                                      # NOTE!!! Also changes modules directory to /lib/modules/2.6.26-freelink.maddes CONFIG_LOCALVERSION_AUTO=y            # was not set; General Setup -> Automatically append version information to the version string
 * Recommended additional settings:

a) Kernel features for embedded devices 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
 * Additional settings related to embedded devices:

b) 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)

Additions to kernel or enabled settings:
 * Other settings still to be investigated on:

=
=========================== CONFIG_AX25_DAMA_SLAVE=y	# was not set CONFIG_BLK_DEV_DM=y	# was m CONFIG_BLK_DEV_LOOP=y	# was m CONFIG_BLK_DEV_MD=y	# was m CONFIG_CAPI_AVM=y CONFIG_CAPI_TRACE=y CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_CDROM_PKTCDVD_WCACHE=y CONFIG_CHR_DEV_SG=y	# was m CONFIG_CODA_FS_OLD_API=y	# was not set CONFIG_COMPAT_BRK=y	# was not set CONFIG_CRAMFS=y	# was m CONFIG_CRC16=y	# was m CONFIG_CRC_CCITT=y	# was m CONFIG_CRYPTO_BLKCIPHER=y	# was m CONFIG_CRYPTO_CBC=y	# was m CONFIG_CRYPTO_DES=y	# was m CONFIG_DVB_CINERGYT2_ENABLE_RC_INPUT_DEVICE=y CONFIG_DVB_CINERGYT2_QUERY_INTERVAL=250 CONFIG_DVB_CINERGYT2_RC_QUERY_INTERVAL=50 CONFIG_DVB_CINERGYT2_STREAM_BUF_SIZE=512 CONFIG_DVB_CINERGYT2_STREAM_URB_COUNT=32 CONFIG_DVB_CINERGYT2_TUNING=y	# was not set CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"	# was "utf-8" CONFIG_FPE_FASTFPE=y	# was not set CONFIG_FW_LOADER=y	# was m CONFIG_IKCONFIG_PROC=y CONFIG_INPUT_MISC=y	# was not set CONFIG_ISDN_CAPI_CAPIFS_BOOL=y CONFIG_ISDN_CAPI_MIDDLEWARE=y CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y CONFIG_JFFS2_FS=y	# was m CONFIG_JFS_FS=y	# was m CONFIG_JFS_STATISTICS=y	# was not set CONFIG_KEYBOARD_GPIO=y	# was m CONFIG_LDM_DEBUG=y	# was not set CONFIG_LEGACY_PTY_COUNT=16	# was not set CONFIG_LEGACY_PTYS=y CONFIG_LOCKD=y	# was m CONFIG_LOG_BUF_SHIFT=14	# was 17 CONFIG_MEDIA_TUNER_CUSTOMIZE=y	# was not set CONFIG_MII=y	# was m CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MTD_DEBUG=y	# was not set CONFIG_MTD_DEBUG_VERBOSE=0 CONFIG_MV643XX_ETH=y	# was m CONFIG_NCPFS_IOCTL_LOCKING=y	# was not set CONFIG_NCPFS_PACKET_SIGNING=y	# was not set CONFIG_NCPFS_SMALLDOS=y	# was not set CONFIG_NCPFS_STRONG=y	# 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_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 CONFIG_ZLIB_INFLATE=y	# was m

Removed from kernel or additional modules:

=
============================= CONFIG_ASYNC_CORE=m	# was y CONFIG_BACKLIGHT_CLASS_DEVICE=m	# was y CONFIG_BAYCOM_SER_FDX=m	# was not set CONFIG_BAYCOM_SER_HDX=m	# was not set CONFIG_BPQETHER=m	# was not set CONFIG_CDROM_PKTCDVD=m	# was not set CONFIG_CRYPTO_CRYPTD=m	# was not set CONFIG_CRYPTO_HASH=m	# was y CONFIG_CRYPTO_HMAC=m	# was y CONFIG_DUMMY=m	# was not set CONFIG_IKCONFIG=m CONFIG_IRCOMM=m CONFIG_IRDA=m	# was not set CONFIG_IRLAN=m CONFIG_ISDN=m	# was not set CONFIG_ISDN_CAPI=m CONFIG_ISDN_CAPI_CAPI20=m CONFIG_ISDN_CAPI_CAPIFS=m CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m CONFIG_ISDN_DRV_AVMB1_C4=m CONFIG_KINGSUN_DONGLE=m CONFIG_LCD_CLASS_DEVICE=m	# was not set CONFIG_MACVLAN=m	# was not set CONFIG_MCS_FIR=m CONFIG_MMC=m	# was not set CONFIG_MMC_BLOCK=m CONFIG_PHANTOM=m	# was not set

CONFIG_NLS_CODEPAGE_437=y		# was m, this is vanilla CONFIG_NLS_CODEPAGE_850=y		# was m, this is vanilla CONFIG_NLS_DEFAULT="iso8859-1"	# was "utf-8" for Debian, this is vanilla CONFIG_NLS_ISO8859_1=y			# was m, this is vanilla CONFIG_NLS_ISO8859_2=y			# was m, this is vanilla USB: CONFIG_USB=y					# was m CONFIG_USB_ALI_M5632=y			# was not set CONFIG_USB_AMD5536UDC=m CONFIG_USB_AN2720=y				# was not set CONFIG_USB_AUERSWALD=m			# was not set CONFIG_USB_CYTHERM=m			# was not set CONFIG_USB_DSBR=m				# was not set CONFIG_USB_EHCI_HCD=y			# was m CONFIG_USB_EPSON2888=y			# was not set CONFIG_USB_ETH=m CONFIG_USB_ETH_RNDIS=y CONFIG_USB_FILE_STORAGE=m CONFIG_USB_FILE_STORAGE_TEST=y CONFIG_USB_G_PRINTER=m CONFIG_USB_G_SERIAL=m CONFIG_USB_GADGET=m				# was not set CONFIG_USB_GADGET_AMD5536UDC=y CONFIG_USB_GADGET_DUALSPEED=y CONFIG_USB_GADGET_SELECTED=y CONFIG_USB_GADGETFS=m CONFIG_USB_IDMOUSE=m			# was not set CONFIG_USB_IRDA=m CONFIG_USB_LCD=m				# was not set CONFIG_USB_LED=m				# was not set CONFIG_USB_LEGOTOWER=m			# was not set CONFIG_USB_LIBUSUAL=y			# was not set CONFIG_USB_MDC800=m				# was not set CONFIG_USB_MICROTEK=m			# was not set CONFIG_USB_MIDI_GADGET=m CONFIG_USB_OHCI_HCD=y			# was m CONFIG_USB_PHIDGETKIT=m			# was not set CONFIG_USB_PHIDGETSERVO=m		# was not set CONFIG_USB_RIO500=m				# was not set CONFIG_USB_SERIAL_SAFE_PADDED=y	# was not set CONFIG_USB_SERIAL_TI=m			# was not set CONFIG_USB_SERIAL_WHITEHEAT=m	# was not set CONFIG_USB_SISUSBVGA=y			# was m CONFIG_USB_SL811_HCD=y			# was m CONFIG_USB_STORAGE=y			# was m CONFIG_USB_TEST=m				# was not set CONFIG_USB_UHCI_HCD=y			# was m CONFIG_USB_ZD1201=m				# was not set CONFIG_USB_ZERO=m
 * Not necessary changes:
 * 1) FAT support, maybe needed when booting from USB or other devices (=not LS Pro / LS Live v2)
 * Settings that seem not to be important for LS Pro / LS Live v2:
 * USB:

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

Bluetooth: CONFIG_BT_HCIUART=m			# was not set CONFIG_BT_HCIUART_BCSP=y CONFIG_BT_HCIUART_H4=y CONFIG_BT_HCIUART_LL=y

Touchscreen: CONFIG_INPUT_TOUCHSCREEN=y	# was not set CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_MK712=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_PENMOUNT=m CONFIG_TOUCHSCREEN_TOUCHRIGHT=m CONFIG_TOUCHSCREEN_TOUCHWIN=m CONFIG_TOUCHSCREEN_UCB1400=m 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 CONFIG_TOUCHSCREEN_WM9705=y CONFIG_TOUCHSCREEN_WM9712=y CONFIG_TOUCHSCREEN_WM9713=y CONFIG_TOUCHSCREEN_WM97XX=m