So with other problems solved, new ones arise.
My latest master build for ath79/tiny (with a few additions) is breaking my 4 MiB images again. I am trying to expose the SERIAL_8250 kernel symbol in the Openwrt menuconfig. Traditionally, one sets kernel settings through OpenWrt's
.config by prefixing them with CONFIG_KERNEL_ (similar to CONFIG_PACKAGE_ for packages in the buildroot). However, for that to work the symbols need to be exposed already (which seems to be done through
Going on the settings that show in
make kernel_menuconfig target=ath79, I have added this code to
config KERNEL_SERIAL_8250 tristate "8250/16550 and compatible serial support" default n if SMALL_FLASH #depends on KERNEL_TTY && KERNEL_HAS_IOMEM depends on KERNEL_HAS_IOMEM select KERNEL_SERIAL_CORE select KERNEL_SERIAL_MCTRL_GPIO
OpenWrt does not seem to define the TTY symbol somehow so I am just trying with HAS_IOMEM for now. This code should make the symbol turn up in menuconfig under
Global build settings -> Kernel build options but it's not there. The search function does show a match though:
Symbol: KERNEL_SERIAL_8250 [=n] Type : tristate Defined at config/Config-kernel.in:1153 Prompt: 8250/16550 and compatible serial support Depends on: KERNEL_HAS_IOMEM Location: -> Global build settings (1) -> Kernel build options Selects: KERNEL_SERIAL_CORE && KERNEL_SERIAL_MCTRL_GPIO
Can someone tell me what I'm doing wrong?
As documented in this excellent write-up, disabling kernel symbols helps with flash constrained devices, but I'd need these exposed in menuconfig to make them usable; otherwise the same kernel options would be used for my ath79/generic builds as well, not just for ath79/tiny.