[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Big endian in debian ARM

On Fri, May 27, 2005 at 04:07:26PM +0200, Marco Canini wrote:
> Normally you would be right but in the case of IXP2400 this's not necessarily 
> true. Indeed the IXP2400 is a network processor and here is employed to 
> transmit data at 3 Gbps. In my case I've no problems in making byte swaps, 
> but I had preferred not to. However in general making byte swaps for every 
> packet you process would result in a performance loss.

Doesn't the microengine chips have a byte swap instruction or some way
to byteswap data to be exchanged with the xscale?  If it doesn't someone
left out a rather useful feature in a network processor.

And isn't the idea that the microengines process the network data based
on the programs you load into them, and the xscale only suppervises and
deals with special cases?  If one of the microengines process and
byteswap the packet before giving it to the xscale, you shouldn't have
any performance problem because of endianess.  And hopefully you
wouldn't be passing too many packets to the xscale at all if the normal
packet flow can be programed into the microengines directly.  Of course
I may just not understand the point of the ixp2400 from the datasheet at

> Considering that it's an embedded system with nfs root fs, serial console and 
> network access, what is the suggested/simplest method to install Debian ARM?

Well if your platform is one of the (few) supported ones, you follow the
install guide.  If it isn't, then you need to somehow get linux or
something going on the system enough that you can run debootstrap (a
perl script) to create a new debian root fs and then boot to that.  once
you get that going you are pretty much running debian on it.
Unfortunately arm systems vary greatly with different boot loaders and
kernels for every single system (just about) and are in general quite a
hassle to support.

I have done the debootstrap install on top of a redhat based
distribution the board maker offered on a Compulab board (xscale PXA255
based), and then after I got it booting their kernel with debian user
space, I started the work of building a kernel the with the features I
wanted and the patches from the board maker using make-kpkg to get a
debian packge for the kernel which I could install and then fiddled with
the boot firmware to make it able to make the system boot from a new
kernel.  Far from trivial to get going at least.

Len Sorensen

Reply to: