This page is to give an overview of how Debian was bootstrapped for new architectures in the past. It starts from the point when arch labels are agreed upon and assumes that gcc, glibc, binutils etc understand the arch. This leaves the task of cross compiling or natively compiling a base system and starting from there, natively building the rest of Debian. Naturally build dependency cycles have to be resolved, the new arch name has to be added to Architecture lists and packages that dont compile for the new arch have to be fixed.
The goal is not only to record the history of the existing (or deprecated) Debian architectures but also as a place to learn for new porters.
Another goal is to justify and enhance the work that has been and will be done in terms of automating the Debian bootstrapping process. It is to show that such an application is indeed needed and useful. In the best case it will also give people working on this application more ideas for useful heuristics to make the right decisions for or provide the right suggestions to the user.
The ports are sorted alphabetically
alpha
amd64
arm
armel
armhf
- natively built on stage3 gentoo for armhf
- no cross compilation, everything built native
- step by step
- built glibc, gcc, binutils, coreutils, etc
- built a debian chroot
- built packages with reduced build dependencies
- the initial bootstrap consisted of ~3k packages, all manually built
- then recompilation of all those with full build dependencies
- setup autobuilders in debian-ports project which rebuilt everything and reached ~90% of main
- ~150 bug reports, from trivialities like "please add armhf to the arch list"
Thanks, markos!
avr32
hppa
hurd-i386
i386
Of course doesnt matter in this context
ia64
kfreebsd-amd64
kfreebsd-i386
m32
m68k
- first port ever in Debian with Hamm
introduced first ever buildd (kullervo: http://people.debian.org/~joey/misc/naming.html), created autobuilder suite by Roman Hodek & James Troup (http://www.debian.org/ports/m68k/index.de.html)
Porting: http://wiki.debian.org/M68k/Porting
- the port was updated by Thorsten Glaser based on packages from etch-m68k and unstable (at that time)
- packages built using cowbuilder instead of sbuild
- build dependency analyzed by drawing dependency graphs by hand
- took one year as a side-project
- resolving of arch-specific bugs upstream can take months
Thanks Ingo Jürgensmann, Thorsten Glaser!
mips
mipsel
netbsd-alpha
netbsd-i386
powerpc
powerpcspe
ppc64
s390
s390x
sh4
sparc