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

Re: ARM ports



+++ Mohammed Rashad [2010-08-13 11:44 +0530]:
> Hi all developers,
> 
> I would like port ARM to MINIX3. But dont know where to start. If you can give
> me a spark to start porting of ARM I will be very grateful to you. 

Strictly speaking you will be porting MINIX3 to ARM (not the other way
round), or more accurately adding ARM support to MINIX3.

> Can I use
> any simulators for porting MINIX to ARM processors. 

Yes. Qemu has very good arm support, including at the system level. On
a reasonably fast modern PC it is is equivalent to a slow ARM native machine.

> I had also purchased a book
> related to ARM7 LPC2000 series. Do I need to buy an ARM development board. 

Not necessarily. Someone will need to try your port on real hardware
eventually, but you can probably get a long way with only qemu.

> I
> dont have enough money to buy an ARM development board. But I will buy the
> development board when i complete the porting of MINIX to ARM.
> 
> May I know which simulator you used for developing linux to ARM? 
> 
> Can you tell me what all things I need and I should do for porting MINIX to
> ARM.? I need to know how you did the porting of linux to ARM processors?

I assume MINIX is written in C? And currently it only seems to support
ia32. You will need to add some mechanism for building it for a
different architecture, and replace any parts written in assembler.
And change any parts which deal directly with the hardware.

In practice you will need to choose a particular ARM board to do the
port to (because that defines things like serial ports, memory map,
available flash or other IO etc). QEMU has good support for the
versatile platform so that is a candidate. Another is to use the same
one you intend to purchase. Right now a good candidate would be the
Beagleboard, but by the time you've finished that may well have
changed :-)

You will need to add device drivers for the new ARM hardware to get
any IO.

You will need to cross-build MINIX. For which you need
cross-toolchains. According to the doc below these need to output COFF
for OS independence. Is that still true for MINIX3? You can download
pre-built arm cross toolchains that produce ELF output (e..g from
emdebian.org, and soon from Debian itself), but if you need coff
output you will need to build (or find) a suitable toolchain.

It turns out someone has already done this with MINIX2 to the
StrongARM (IPAQ), probably a few years ago now:
http://www.darnok.org/projects/ipaq/ipaq.html#toc1

So bear in mind that MINIX has changed, the toolchains have moved on,
the ARM ABI has changed (EABI, not OABI - i.e tools are called
arm-linux-gnueabi, not arm-linux-gnu), and so on, but that's probably
a very useful guide to the steps in general. You may need help to know
which bits are no longer relevant if you have no ARM experience.

That should get you pointed in the right direction.

THis is not technically a debian-arm subject as such, although as
Debian does support kernels other than Linux as well as architectures
other than x86 I guess it's as good a place to ask as any.

Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/


Reply to: