Originally posted by zander
Tier 1 without support for loadable modules wouldn't help third-party driver development; where could one read up on the technical details behind this limitation?
I agree. I think they are rushing things to call it "Tier 1".
You can google for it but won't find much, even in groups. I think the general problem is that FreeBSD/AMD64 is Very New. It works -- all the big bugs are ironed out. I think the committers decided it was in the best interests of everyone involved to do a MS-style release: As soon as it boots without a blue screen, put it on the store shelves!
I don't disagree totally with this philosopy for bleeding-edge technology -- it allows the curious (like myself) to play with an almost-ready-for-prime-time state-of-the-art set of CPUs to see what the future holds.
The nice thing about AMD64 is it covers my butt: I could always revert to FreeBSD i386 with the same machine and still have a noticeable improvement over the single-cpu P-III /1ghz machine it's replacing. Fortunately, it seems I won't have to. The missing pieces are not show stoppers (vinum would have been, but my persistence paid off) -- they're just "Nice To Have".
There is a broad hint in line 29 of the kernel config (/usr/src/sys/amd64/conf/GENERIC) which says "makeoptions NO_MODULES=not_yet", which leads me to believe that kld modules are planned for the future. But I'm not holding my breath.
I will say this... I "Needed" to use Vinum. It's usually a module. It only took me 3 days to fool around and succeed in compiling it into the kernel as an included, static part of the kernel. An I know NOTHING
about C programming.
From what I can gather, if something can be loaded as a module, it can be also be compiled into the kernel. I'll also add that I could NEVER successfully compile a Linux kernel, but my experience with BSD has been quite positive (for a USER-NOT-A-DEVELOPER). The word I've heard from Developers (people other than me who can look at C source code and not get a migraine) is that BSD is easy to write for -- everything is in a standard location, and the existing codebase is Very Well Documented.