The Linux Kernel Source Finder
And thus it came to pass that Linux was ported
to many architectures and platforms, varied and wonderful (or at least interesting)
and each needed code and tweaks and general frobbing. Each architecture
(and sometimes platforms within architectures) have their own source
distributions, with only some of them occasionally making their way
back to the main tree, and it became a right-royal-pain to try and find
the source for a particular machine. Here is a list to help you find
stuff.
The main kernel tree can be found at
kernel.org.
alpha
Kernel: Normally the main kernel tree works on Alpha.
Binutils: Use
H.J. Lu's latest binutils package he tests on Alpha before release..
ARM
The ARM kernel sources are normally obtained by taking the
main kernel tree and then applying the patches that can be found on
the ARM Linux
Developer pages (follow the release notes links for the patches
and explanation of what has changed recently). Recently a CVS repository
has been created by Erik Mouw and is available on his
armlinux sourceforge project.
Netwinder
For the netwinder ARM platform there is a CVS repository containing
its own source tree; instructions for accessing it are
here. There aim is to eventually merge back into the main tree
above.
Toolchain: A set of binutils and gcc for the ARM with appropriate patches
is available on the
ARM Linux ftp site.
cris
The main CRIS Linux
developer site has lots of documentation and links to the
kernel download directory containing patches.
i386 (aka all x86)
Kernel: Just see the main kernel tree
Binutils: Use
H.J. Lu's latest binutils package he tests on x86 before release.
gcc: Use the standard GNU release 2.95.3 available on ftp.gnu.org and your
favorite mirrors.
ia64
The ia64 kernel is available as a series of patches to the
main kernel tree; the patches are available
here.
m68k
CVS details on:
Linux/m68k CVS page.
Mac (68k varients only)
The Linux for 68k Macintoshes project has its
own site pointing to its kernel source and boot loaders and associated
utilities.
MIPS (and MIPS64)
Kernel: The MIPS ports are documented in Ralf Bächle's
Linux/MIPS HOWTO together with pointers to CVS repositories
and FTP sites.
Binutils: Use
H.J. Lu's latest binutils package he tests on MIPS before release.
parisc
Best accessed from the CVS pointed to by
PA-RISC Linux CVS Repository page
ppc
PenguinPPC lists a number of options for getting kernel source
(including patches against the main tree, a bitkeeper archive and
rsync) on its
Developer kernel page. In addition patches and full source for PowerPCs
in 64 bit mode can be found at the
Linux for 64 bit PowerPC Processors web page.
s390
IBM's
LINUX for S/390 and zSeries page holds links to the latest
source for the S390 as well as tools and details of the systems it runs
on.
sh
The Linux on SH source is available at the
LinuxSH CVS page.
sparc (and sparc64)
The main kernel tree has a good chance on sparc but it is often
better to check the Vger CVS repository
.
Vax
Yes, there is even a port that provides
Linux on Vax machines.
x86-64
x86-64
CVS web page
User Mode Linux (UML)
UML is a special port of Linux that lets you run a Linux kernel
under a running Linux system; it can be found on the
User Mode Linux sourceforge page.
Microcontroller Linux (uClinux)
uClinux is really a set of ports to various processors without
memory management units (MMUs). Fortunatly they have a
single CVS repository containing the source for all processors.
binutils and gcc for uClinux on ARM and m68k can be found at
this page - yep that has ARM as well. For other platforms look at
the uClinux Directory (which
currently breaks Javascript for me).
To do
- Include info on where to get appropriate/latest
binutils/gcc
- Include links to pre-built cross tools
- Add Linux varients (MkLinux ?)
Comments, (constructive) criticism, addition, corrections
and chocolate to lksf AT treblig.org
back to my home page