Well it’s been a while since my last post. Back to it!
Over the last few weeks I’ve been playing with the idea of doing my own Linux distribution based, in concept, on Tinycore Linux. It will target (guess!) the AVR32 family of uCs in the first instance hopefully ARM shortly thereafter.
The working name is Aevercore or avc for short. For those who don’t know Tinycore, the idea is that the entire distribution is run from RAM for a few reasons.
1) Increased speed.
2) No bitrot or residue – the system is at exactly the same state each startup.
Of course not everyone sees 2) as an advantage and indeed some times it isn’t. To that end there is a persistence list – at each shutdown the items on the list are written to persistent storage and at each boot, they’re extracted again. In embedded space, we also have
3) Running from RAM means less flash wear.
Tinycore, and avc as well, also support running from persistent storage in the usual manner. Anything to be run from persistent storage is loopback mounted and symlinked in to place. This means that all writebacks still hit RAM and you get all of the cleanliness advantages without eating more RAM than needed.
To this end, I’ve been experimenting with build systems. Ideal would be T2. After a good few days hitting it though, I can’t get the darn thing to build for AVR32 and can’t be bothered learning what’s going wrong. I know a fair bit about Buildroot so I’ll probably run with that in the first instance.
So, what I need first. Of course the first thing is just time. Once a current project at Nias is done I should have a bit more of that. Second is good compile hardware. I certainly can’t go compiling a full operating system on my Laptop and the desktop is creaking arthritically too.
Who knows, if I can break my habit of not following good idea through, I’ll have an alpha out in 6 weeks or so.
April 27th, 2009 at 12:38 pm
Sounds like something I could put to good use.
If you can get an alpha out in 3-4 weeks I may be able to get you a paragraph in my thesis.