2007-06-23 18:14:07

by Wolfgang Draxinger

[permalink] [raw]
Subject: Linux on XScale 270

Typing "Linux XScale 270 or 27x" brings you a lot of pages but not an
in depth doc/HOWTO how to compile your own kernel and make a boot
image for that arch. The vendor from which I get the XScale sponsored
has ready to use Linux images and source on his webpage, but they're
kinda old and dusty.
http://www.toradex.ch/colibri_downloads/Linux/

So what are the steps I've to take, to get a Linux Kernel on a XScale?
It's obvious that I need a cross compiler for ARM, bootloader images
and so on, but it's the gory details I'm curios about.

Links to HOWTOs, documentation highly appreciated. And probably
there's also a better suited maillist than LKML for this, to a
pointer to that (if existing) would be nice, too.

Thanks in advance

Wolfgang


Attachments:
(No filename) (754.00 B)
(No filename) (189.00 B)
Download all attachments

2007-06-23 20:22:34

by Dmitry Krivoschekov

[permalink] [raw]
Subject: Re: Linux on XScale 270

Wolfgang Draxinger wrote:
> Typing "Linux XScale 270 or 27x" brings you a lot of pages but not an

Probably "XScale 270" is not the best word combination for this,
the exact processor name is PXA270 (formerly Intel, now Marvell).
> in depth doc/HOWTO how to compile your own kernel and make a boot
> image for that arch. The vendor from which I get the XScale sponsored
> has ready to use Linux images and source on his webpage, but they're
> kinda old and dusty.
> http://www.toradex.ch/colibri_downloads/Linux/
>
> So what are the steps I've to take, to get a Linux Kernel on a XScale?

Assuming the mainline kernel already includes support for your machine,

1. get the latest stable Linux kernel
2. compile the kernel:
make ARCH=arm CROSS_COMPILE=<your_crosscompiler_prefix>
<your_machine_name>_defconfig
make <kernel_image_name>

For example, to compile the kernel for Mainstone platform
with blob flashed, do the following:

make ARCH=arm CROSS_COMPILE=arm-linux- mainstone_defconfig
make zImage

3. boot the image as appropriate for your bootloader
>
> It's obvious that I need a cross compiler for ARM, bootloader images
> and so on, but it's the gory details I'm curios about.
>
> Links to HOWTOs, documentation highly appreciated. And probably
> there's also a better suited maillist than LKML for this, to a
> pointer to that (if existing) would be nice, too.
>

[email protected] - for kernel-specific issues
[email protected] - for general questions

these are the most appropriate lists for your questions
(your subscription is required).


Regards,
Dmitry

2007-06-23 21:03:22

by Hans J. Koch

[permalink] [raw]
Subject: Re: Linux on XScale 270

Am Samstag 23 Juni 2007 schrieb Dmitry Krivoschekov:
> Wolfgang Draxinger wrote:
> > Typing "Linux XScale 270 or 27x" brings you a lot of pages but not an
>
> Probably "XScale 270" is not the best word combination for this,
> the exact processor name is PXA270 (formerly Intel, now Marvell).
>
> > in depth doc/HOWTO how to compile your own kernel and make a boot
> > image for that arch. The vendor from which I get the XScale sponsored
> > has ready to use Linux images and source on his webpage, but they're
> > kinda old and dusty.
> > http://www.toradex.ch/colibri_downloads/Linux/
> >
> > So what are the steps I've to take, to get a Linux Kernel on a XScale?
>
> Assuming the mainline kernel already includes support for your machine,

It doesn't. I'm currently working on board support for the Toradex Colibri
module, plus one board that uses that module. It works for me now, but
still needs some testing and cleanup. I'll probably post my patch to the
linux-arm-kernel list next week and try to get it into mainline.

>
> 1. get the latest stable Linux kernel

Yes - please _don't_ use the 2.6.12-something stuff available somewhere
for the Colibri. It contains a serious bug that cost me days to find,
and it's hopelessly out of date.

Step 1.1: Apply my board support patch. Either wait until I post it to
the list or contact me by private mail.

Step 1.2: If your board has an LCD or other extra hardware, add support
for it in colibri.c.

> 2. compile the kernel:
> make ARCH=arm CROSS_COMPILE=<your_crosscompiler_prefix>
> <your_machine_name>_defconfig
> make <kernel_image_name>
>
> For example, to compile the kernel for Mainstone platform
> with blob flashed, do the following:
>
> make ARCH=arm CROSS_COMPILE=arm-linux- mainstone_defconfig
> make zImage

Depending on your bootloader, you might need to perform extra
steps, e.g. for U-Boot you need to convert zImage to uImage.

>
> 3. boot the image as appropriate for your bootloader
>
> > It's obvious that I need a cross compiler for ARM, bootloader images
> > and so on, but it's the gory details I'm curios about.
> >
> > Links to HOWTOs, documentation highly appreciated. And probably
> > there's also a better suited maillist than LKML for this, to a
> > pointer to that (if existing) would be nice, too.

I'd recommend to ask this question again on the linux-arm-kernel
list. We shouldn't flood linux-kernel list with arch specific stuff.
It would also be interesting to know which toolchain and/or
distribution you intend to use. Note that you do not only need
a kernel, but also a root file system. The colibri module has only
32MB flash, which means you have to handcraft a small rfs. If you
don't have any plans yet, have a look at http://www.busybox.net, and
http://www.scratchbox.org. I used scratchbox to cross compile my kernel
and the packages for my root file system.

>
> [email protected] - for kernel-specific issues
> [email protected] - for general questions
>
> these are the most appropriate lists for your questions
> (your subscription is required).

True. See you there,
Hans