On Mar 26, 2010, at 12:49 PM, Jack Atkinson wrote:
This is my first time posting here, so go easy on me. The past few years, my former employer and now client, has been going through a struggle of how best to move from their proprietary OS/RTOS to a commercial OS. I've helped with a lot of research in this issue. The two biggest contenders at the moment are Linux and QNX. QNX is the strong favorite, but negotiations are not going well of late. A lot people dread the Linux GPL, but love the plentiful driver support out there for most of our processors (mainly PowerQuic I & PowerQuicc Pro with some MIPS) and other peripherals currently on existing hardware.
Having done a couple of years of QNX, a number of years of Linux and a bunch of years of NetBSD, all embedded; I predict that you will quickly come to hate QNX and regret your decision. But that's not what we're here for ...
I personally like what I see of the overall design of the NetBSD kernel and the build system. The few times I've dipped into the source, I have been impressed with the layout and organization of it. I prefer the BSD license over GPL, because BSD really is a free license in every meaning of the word free. However, I cannot recommend NetBSD to them at this time, because of these areas that are lacking:(listed by highest priority)1. Official PowerQuicc support in the NetBSD tree along with drivers for CPM module. (PowerPC is not quite the same, but a good starting point) 2. No flash support for NOR flash (NAND lacking is well, but NOR is more important for this company based on current deployed hardware) 3. Better remote debugging over ethernet (kernel included). I may be wrong on this, but I haven't seen a lot of info on how to do this for NetBSD.
There's not a lot of info either. I use a BDI2k on MPC5200 and PPC405 with NetBSD. I run GDB on my build host, connected to my bdi which is plugged into my virtex2 board and I can debug the kernel. Sure, it's hardware debugging, but it's relatively painless..
4. Ability to build a small kernel with small subset of userland utilities much like BusyBox on Linux, but not GPL.
We used to have a thing called 'crunchgen' but it's been a bunch of years since I touched that. My current NetBSD embedded platform boots off compact flash and we just use normal userland binaries but we hand- pick the ones we want.
Obviously you know that NetBSD is not a commercial product... So things like PowerQuicc support would be added only if someone wrote it who needed it... That would be you. Unless someone needs it, it's not going to suddenly appear...
At my current gig, there's another platform that is Linux on MPC5200 and Linux on Virtex5... The biggest angst they have currently is the increasing number of packages that are switching to GPLv3. That license has become 'verboten' in that organization so there is consideration to moving to a BSD licensed OS.