Hey Andy,

Great questions.

On 01/12/14 01:03, Andy Ray wrote:
> Now the real question is how to start getting going on this stuff.  I
> am hoping that cross compiling src-netbsd is easy enough (assuming I
> use the right compiler - arm-linux-gnueabi-, arm-none-eabi-?).

It should more or less work on any compiler that targets the right ISA. 
  Just set CC (and optionally AR/NM/OBJCOPY) in the env when you run 
buildrump.sh.

If it doesn't work, let us know ;)

> Then I assume a bunch of work in a bare-metal/arch/arm directory.  I
> would be very interested in any tips that could get to "something"
> working initially that I can then build on.

I'd start off by trying to get a simple printf("hello world\n") going. 
There's a few bits in "bmk" (i.e. "bare metal kernel") that are not 
currently as machine independent as they should be (see e.g x86 inline 
assembly in intr.c ;), but it shouldn't be too difficult to ignore it 
for initial hacking and later clean it up.  After that, start piling on 
device drivers and get e.g. a NIC driver working to get the TCP/IP stack 
going.  You'll need to implement at least interrupts and stack switching 
on ARM for that.

> I am getting somewhat familiar with qemu, but I also have a few arm
> based boards I would very much like to support.  Complete net-bsd
> support for each of these (*) is likely patchy but, correct me if I am
> wrong, I think rump-kernels would provide libc and posix support
> regardless, which I think is very, very useful anyway.

Yes, if you write the bootstrap code, you will get more or less complete 
POSIX support (sans fork, exec & mmap).  Now, POSIX support is of course 
runs on top of device drivers.  Device support doesn't have much to do 
with what boards NetBSD supports and more to do with what devices NetBSD 
supports.  After all, ARM board support is more or less a question of 
setting up the MMU in bootstrap so that devices are accessible.

Ultimately, I don't know if there are code sharing opportunities with 
NetBSD ARM board bootstrap (or some other OS ARM bootstrap).  For now, 
I'd treat rump kernels on bare metal as what they are: drivers running 
on top of a thin "firmware" layer.  Any insights you gain during your 
work are of course most interesting stories for this list!

   - antti

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
rumpkernel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rumpkernel-users

Reply via email to