Re: Roadblocks to further widespread adoption of NetBSD in embedded systems (at least in my neck of the woods)

Herb Peyerl <[email protected]> Fri, 26 Mar 2010 12:58:35 -0600
Newsgroups gmane.os.netbsd.devel.embedded
Message-ID <[email protected]>
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.