Note to readers:
This thread follows the founding and early history of what became raspbian (though the name raspbian wasn't used until some time after the project began). Most early discussions happened here (though some happened on the debian-arm mailing list). The thread was originally posted in the "projects and collaboration general" forum and has moved forums a couple of times as the raspberry Pi guys reorganised and expanded their forums.
Some even earlier discussions (before the project really started) can be found in http://www.raspberrypi.org/phpBB3/viewt ... 1&start=25
I have now locked this topic because having new posts in it when we have a whole forum to use does doesn't serve to do anything except confuse.
-- plugwash
----------------------------------------
I'm creating a new topic in this forum in the hopes of getting some help around the project of creating a flavor of Debian armhf that is tuned to the specifics of the RPi. I'm hoping that by doing some of the early work I can help kick off a broader effort to make Debian a first class, no compromise, Linux distribution for the RPi.
Right now, my immediate goal is to not create a full Debian port for the Raspberry Pi, but rather an experimental build of armhf tuned to the RPi that would have enough of the system in place that tests can be run to determine if a full blown porting effort would be worthwhile. This would involve re-compiling enough of the armhf packages for ARMv6+VFPv2 to create a minimal Debian install using debootstrap, the build-essential packages and perhaps some other interesting packages that might demonstrate the performance benefits of hardfloat compilation.
As of now, I've purchased a Freescale iMX53 Quick Start Board with a ARM Cortex-A8 1 GHz processor and 1GB of RAM and went through the somewhat arduous task of getting u-boot, a working Linux Kernel and a basic install of Debian Wheezy armhf distribution running on it. It is my intention to use this platform to develop the early RPi tuned Debian packages that I can share with others.
My next steps are to recompile the build-essential packages to, by default, output RPi friendly ARMv6+VFPv2 binaries rather than ARMv7-A+Thumb-2+VFPv3D16 binaries and then use these packages to recompile the 250, or so, packages required to create a minimal install of Debian. I believe (and someone please confirm this if possible) that the ARMv6+VFPv2 packages I create should be fully compatible with the standard armhf packages, meaning I can mix them on a system which should help the porting process. This is because they share the same ABI and the ARMv7 processor should run ARMv6 binaries fine (the passing of floating point values in the VFP registers is where some issue may crop up).
Once I get the 250 or so packages recompiled for a minimal install of Debian armhf for RPi, I should then be able to test these out by creating a minimal install for my iMX53 Quick Start Board. By then, hopefully, I'll have actual RPi hardware in hand and use the same packages to create a Debian armhf install on the Raspberry Pi. Obviously, such an install will be severely limited due to a lack of all the 10,000 other Debian ports being available, but it should at least be enough to run performance experiments against and have enough available to port any other Debian package to the RPi with hard float enabled.
The other route I could have gone is to stay with the armel ABI where floating point values are passed in integer registers and recompile key packages with hardware floating point enabled. The advantage this has is that the 10,000s of existing armel packages for Debian could be used without change and the compilation process is narrowed down to just a few hundred packages that could really benefit from hard float compilation. However, to me, this seems to be just a half step forward for RPi Debian users and the RPi would benefit from having a Linux distribution that takes maximum advantage of the computing resources of the platform.
I could use help in this effort by people more familiar with the Debian package build system giving me advice as to the most efficient way of getting the packages built. First, beginning with the build-essential compilers and making sure I'm selecting the right options and configuring things so that the resulting binaries would indeed run on the Raspberry Pi. Then, if there are other people who have iMX53 boards, perhaps sharing the task of building the initial set of packages needed for the minimal install of Debian.
What do other Debian fans think of this approach? Comments or suggestions?