The mounting is done by the mininit program that booboo wrote, which is located in the initial ramdisk (initrd.cpio).
Thanks. That explains why grep turned nothing up - it is compressed/scrambled. And minit isn't included in Boukichi's* sources.
* Forgive me if I'm spelling this wrong
I haven't tried -Os yet; I'd be interested in hearing the results. The JZ4740 does have a cache, but it's small: 16K instruction cache, 16K data cache.
Will report on that. But first need some kind of a performance testing setup.
Blitting is indeed done in software. There is no GPU, so the only possible hardware support would be to use the DMA controller. This is not done right now.
I was thinking about speeding up ex. alpha blended blits with XBurst. Don't know much about DMA, but will investigate when I finish the "reference" implementation of the blitter.
You know, SDL is aiming to be fast but it's also aiming to be universal and cross-platform, that means that a hand-crafted solution optimized for dingoo would be surely faster. And blitting alpha-channeled surfaces in SDL is awfully slow*, even on my PC(s).
*A 800x600 32bit (say splash background) blit makes fps drop below usability level, both on my Intel Core Duo 1.8Ghz laptop and 2.2Ghz Athlon X2 box.
I prefer sticking with a read-only root file system, since it is much less likely to get damaged and is easier to upgrade. There could be more support for customization though, such as including /usr/local/bin in the default PATH.
I don't think it would be hard to upgrade with a package manager, you can always prepare one-file extract-and-go rootfs/localpack even for the rw root. If the memcard corruption bug is sorted out or maybe a journalling fs would suffice, then I don't see any obstacles.
Personally I don't like that when I download a localpack it has everything already in it. Most of the stuff I won't ever use. It would be nice if there was a single place which would provide up-to-date versions of everything (separately) though.
What do other power users have to say, what would you like?
Linux loads code on demand (on page fault), so I think static vs dynamic linking does not make a big difference in code size. Dynamic linking has the advantage though that common libs like SDL will be in the cache. Also, if a library is improved, all statically linked apps have to be relinked to take advantage of the new library, while dynamically linked apps automatically use the new library version.
But still, the best case - it doesn't do any harm but it doesn't do any good in terms of performance and memory usage either.
---
I'm a bit confused, because my knowledge is lacking in this areas. Does the current dingux kernel do virtual memory (it does swap, right?). Do we have the whole 32bit address space available or not? Is the mem allocated by malloc guaranteed to be physically continugous or not (isn't this a prerequisite for using dma transfers and the simd instructions)? Or maybe I have to write the blitter in kernel space and use kmalloc?