Subject: Re: Porting NetBSD to a different ARM platform
To: None <larwe@larwe.com>
From: Ben Harris <bjh21@netbsd.org>
List: port-arm32
Date: 04/30/2001 19:09:50
Before I start, I should point out that I'm probably not the best person to
answer your questions, but I'm not the worst either.  Oh, and netbsd-ports
and port-arm are probably better mailing lists for your purposes than
port-arm32.

In article <4.3.2.7.2.20010430131947.0320ea00@mail.larwe.com> you write:
>The main reason I'm interested in an off-the-shelf OS is to ride a working 
>TCP/IP stack and ISO9660 filesystem, not to mention multithreading.

In that case, you should be aware that NetBSD's support for multi-threaded
user applications is a little rudimentary -- the kernel doesn't export a
thread interface, so all the implementations have to fake it all in
libraries.

>Where do I start looking at porting NetBSD; is there a porting guide?

<URL:http://http://tofu.alt.net/~lk/291.paper/291.paper.html> is a
reasonable (if rather outdated) description of the whole process.

>I am not at all familiar with the OS's structure.

If you're referring to the logical structure, the infamous "Design and
Implementation of the 4.4BSD Operating System" is still quite a reasonable
reference.  For more detailed questions, the section 9 manual pages are
gradually filling things in.

<URL:http://www.tac.eu.org/cgi-bin/man-cgi?+ANY+NetBSD-current>

The layout of the source tree is roughly documented in hier(7).

If you have any specific questions, tech-kern is probably the place to ask.

>I was hoping to start with the 
>iPAQ port and derive from that, but it seems to be a "coming attraction" 

You'd have to ask on port-hpcarm about that, I think.

>and I can't work out where to get the entire source tree downloaded.

<URL:ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/> contains both tar
files of the complete source tree and a complete unpacked source tree.  It's
updated every day.  If you've got CVS, you'll probably find anonymous CVS
access to be more useful.  See
<URL:http://www.netbsd.org/Documentation/current/> for more details.

>I'd really like to talk to someone who has ported NetBSD to a new platform, 
>so that I can evaluate how long it will take me to port.

This varies hugely depending on the amount of existing code you can reuse. 
In your case, all the core CPU/MMU support should exist already, so you'll
just need to sort out support for your I/O devices.

Incidentally, you should be aware that NetBSD/arm is in a somewhat
transitional state at the moment, as we try to re-organise it along slightly
more sensible lines.  Be careful around the virtual scaffolding.

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/arm26               <URL:http://www.netbsd.org/Ports/arm26/>