Skip to the files

arm-oabi-chroot

18 items
README.txt
THE ARM OABI BUILD ENVIRONMENT ============================== A complete Debian etch ARM OABI system, 828 MB. This is the hard part to recreate, which is why it ships whole. WHY IT EXISTS The netBook Pro is ARM OABI -- ELF e_flags 0x2, the old ABI. Modern toolchains produce EABI and nothing current produces OABI at all. Debian's "arm" architecture (as distinct from "armel") was OABI, which is why Debian sarge and etch binaries still run on this machine unmodified. There is a second constraint that decides everything: the card carries libstdc++.so.6.0.3, which is GCC 3.4's C++ runtime. Anything C++ must therefore be built with GCC 3.4. Debian's own build of AbiWord, for instance, wants __gnu_cxx::__pool symbols from libstdc++ 4.1 and simply will not run here. So rather than cross-compiling, this whole system is booted as a real ARM machine under QEMU and the compiler runs natively inside it. Slow, but it removes every cross-compilation problem at once. HOW IT IS USED scripts/qbuild.sh packs this directory into a disk image, boots it with the kernel and initramfs in ../qemu/, runs a job script, and recovers /build/out. IT PACKS A FRESH COPY EVERY RUN. Nothing a job does survives into the next one except what it leaves in /build/out. WHAT IS ALREADY STAGED HERE build/ source trees, unpacked and patched, ready to build -- abiword-2.0.11, aspell, mozilla and the rest usr/bin/gcc-3.4, g++-3.4 usr/bin/pspell-config, usr/include/pspell/, usr/lib/libpspell.so usr/include/fribidi/ matched to the 0.10.4 library the card has, not a newer one -- staging newer headers over an older library produced a build that linked and would have crashed on the device TO MAKE SOMETHING PERSIST BETWEEN JOBS, PUT IT HERE. This directory is the template, and it is the only thing that carries over.