Hi there,
I didn't answer yet, 'cause I thought maybe someone else hat something to say
Well yesterday I did my first try to create a kernel without any modules...it ran...but PPP/PPPoE didn't work anymore. Yah, I forgot to build-in. but later I realized that I wasn't able to build it in. If I use
options ppp or
device ppp it won't work. After some time using Google, I read something about
pseudo-device but this directive also didn't work. Due to the fact that I didn't found this directive in LINT kernel configuration, I guess it's not in use any longer (if I err please submit reply

).
But that's not the topic.
First of all I did the same like you. I commented all (for my system) useless lines in GENERIC out (and added some too, 'cause for example
device pf or
options ALTQ is typically no part of GENERIC kernel configuration, but I need them for pf firewall).
Then I use
# kldstat to get a list with all modules loaded and started to add them directly to the kernel or use directive
makeoptions MODULES_OVERRIDE=" " to build ONLY modules I specified here.
If you want a kernel configuration with all possible directives in, have a look for
# make LINT in FreeBSD handbook or google. I for my share didn't use LINT yet, 'cause all comments are cut off :/ and I don't want to google for more then 800 directives (or search for them in NOTES files everywhere).
In my make.conf I specified
CPUTYPE=noncona only (Yes, I removed the question mark after CPUTYPE, because I don't ever want to use this kernel on another machine than this one). There is no need for setting any
CFLAGS, or else 'cause FreeBSD already set optimal build settings in Makefile or most ports and would override your own settings anyway.
Best Regards