Hope springs eternal – everyone knows…
Once upon a time I have promised to some of AROS enthusiasts improvements on the x86 kernel, among others support for modularized kernel. It seemed, we have got rid of the nice feature of Amiga-like operating systems — the strong separation of all essential components of the system in libraries, devices and resources. That’s how original kickstart was made, it was a bunch of different modules put together on one read only memory. Which components were there, that was unknown for AmigaOS unless it scanned entire ROM for resident modules. We did the same in AROS kernel, at least for native targets, but we also linked all modules together, into one single executable. How silly!
Sure, such approach has it’s own advantages. Some static libraries (like librom.a) could be reused by all modules and thus saved some space. However, we do link all of it into one big file — think about any potential licensing issues. Not only that, big statically linked kernel means, there was no way to replace one module with a new version, no way to add module of your own. Do you all need ability to boot from USB media? No? Pity you, all the necessary classes are there anyway. Does any of you ever thought about GUI-less core components of operating system, used for some imagined device? Well, compile and link all of it yourself, have trouble and solve it all alone. The modular kernel opens many opportunities, limited only by our imagination.
So, the promise was given, years passed and nothing happened. Until now. In some spare time between my real life, activities at the university and work on Aura, I’ve added the support for loadable modules to native x86 AROS target. There’s still the large kernel to see, but it’s a matter of writting new GRUB config file (which I didn’t had time). Feel free to test the nightly build, look at GRUB config file (to find a way how to add more modules) and be happy. And, of course, don’t forget visiting this site for some more news about Linux, Aura, AROS and others 🙂