Ok, the resonance over the Internet has died down a bit … I wasn’t expecting it to happen, but shit just happens. 7500 unique visitors on the first day, 32k on the second – not bad 🙂 Now I need to write few more ideas down (for my self).
A little list of things that I need to look into. It’s time to buy my desired hardware for prototyping, because…
- UEFI seems the way to go – I’ll try to drop any support for BIOS and MBR at the same time. GPT looks promising and if I’m able to write UEFI driver for a specific file system, then it’s a win-win situation. And this is why I need to get a hold on my hardware, because Bochs does not seem to support UEFI as it’s in the “Long range goals” list;
- I have my eyes on ZFS – because I need a partition with copy-on-write versioning. Also integrity checks will do me no harm, also ext3cow seems OK – I need to do a comparison;
- Also Pure64 (Thanks Denis for pointing me to it, Edit 2018-07-17: Thanks Alex for pointing out the link was dead) seems as a good starting point (or even the whole BareMetal OS) – at least it sets up everything for you and it has a friendly 3 clause BSD license. I have to find out how does it work with UEFI though;
- Development Environment – I’m still thinking of using Visual Studio (I have Eclipse installed too, but I’ve never used – only for Wowza module development with their own version of Wowza IDE). I’ve compiled Clang LLVM (I’ll post “nightly build” binaries later), as there’s no official port available – but it was quite easy. So I’ll try to mix Visual Studio with Clang LLVM and NASM, and try to avoid Cygwin which I’m currently using for GCC;
- Learn Assembly 😀 … well I understand it, but it’s frightening, as it’s not your regular programming language. I understand that it’s simply “command and operands”, but the thing that confuses me are registers – because they might have a special purpose – so the thing I’m afraid of is messing things up like: add reg1, reg2, but re1 is used for some special purpose at the same time. Start here.
To be continued…