Subject: Re: NetBSD 3.0 kernel for 16MB TS-7200
To: Ryan Cresawn <firstname.lastname@example.org>
From: Ken Hornstein <email@example.com>
Date: 01/13/2006 23:59:35
>Of course, my assumption that I will need a different kernel for the
>16MB TS-7200 than is needed for the 8MB version may be outdated.
>Please correct me if I'm wrong.
I suspect, judging from the name of the kernel, you need to have a
custom kernel built (actually, probably a custom bootloader), but
someone with more knowledge will probably chime up.
>Also, I'm willing to attempt a
>cross-compile of a kernel for the 16MB TS-7200 if I had some
>instructions on how to go about it. I have compiled custom kernels
>for i386 and sparc64 but never in a cross-compile environment. I have
>never compiled an evbarm kernel.
I had never tried cross-compiling anything for NetBSD, but I was surprised
how easy it was.
In the source tree, look at BUILDING, and tools/compat/README (if you're
cross-compiling on a non-NetBSD platform).
For me, building a new kernel for the evbarm platform was as easy as:
% ./build.sh -u -U -m evbarm kernel=TS7200
However, that's not all you need. I believe you need a special gzboot
image that's designed to work at a different address. It looks like to
me that is controlled in sys/arch/evbarm/stand/gzboot/*.
If you look at sys/arch/evbarm/stand/gzboot/TS7200_flash_0x60660000/Makefile,
you will see the following line:
That is also mentioned in the ldscript in a few places. I bet if you change
those instances to 0x60e60000, you will have a gzboot that will work at the
correct address. Note that you need to concatenate this in front of your
kernel; if you look at distribution tools, all they do is "cat" the gzboot
binary and kernel together.
I admit that I am not sure if this is the correct direction to take, but
this should at least get you going in terms of setting up cross-compiling.