By using a script rather than the user interface to create the config file, we have something that is much easier to deal with, change control being one such example.
For example, to add luci, nano & muninlite:
## Create the .config file...
VER=trunk; cd ~/openwrt/${VER}/
cat << 'EOF' > .config
CONFIG_TARGET_lantiq=y
CONFIG_TARGET_lantiq_xrx200=y
CONFIG_TARGET_lantiq_xrx200_VG3503J=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_muninlite=y
EOF
### Then, populate the config file...
make defconfig
### Finally...
make -j 5
After creating the .config file, you then do a
make defconfig, and all the other crap you see in your
.config file (which is currently 6 lines long) get automatically put in (and becomes 100's of lines). Try it! The end result is the same as doing it via
make menuconfig.
For me, it would help to understand the actual difference between your build and other builds I use.
I am not familar with muninlite, but it is a standard package. To see what I mean, start
make menuconfig and type the slash key, and type 'munin' and hit enter. It should show you something like
PACKAGE_muninlite which becomes
CONFIG_PACKAGE_muninlite.
I notice you have modulised (i.e. <M> via the UI, or =m via my method) a whole bunch of packages. Why? I suggest (to keep it simple) you only do it for the ones you need. Or you can use
https://downloads.openwrt.org/snapshots/trunk/lantiq/xrx200/packages/?