Armel RootFS erstellen

Ein Debian RootFS für einen ARM-Rechner oder Board zu erstellen ist gar nicht schwer, denn debootstrap läuft mit ein paar Tricks auch Cross-Plattform. So kann man bequem auf einem X86 oder AMD64 Rechner (oder wahrscheinlich auch mit was ganz anderem, solange nur eine DEB-basierende Distribution bereits drauf läuft) ein komplettes RootFS erstellen.
Als erstes braucht man ein paar Tools die aber schnell installiert sind:
apt-get install binfmt-support qemu qemu-user-static debootstrap
und schon kanns los gehen.
mkdir ./newrootfs 
/usr/sbin/debootstrap --arch armel --foreign squeeze ./newrootfs http://ftp.de.debian.org/debian 
Das ganze erstellt ein relativ großes RootFS mit vielen Tools drin. Wer ein Basis-RootFS ohne alles will, erreicht das mit dem zusätzlichen Parameter --variant=minbase , aber da fehlt dann wirklich alles, außer apt und bash, selbst so grundlegende Tools wie ifconfig, müsst ihr dann manuell im chroot nachinstallieren.
So, nun kommt der interessante Teil, der aber relativ simpel ist, nämlich das RootFS zu konfigurieren. Dazu kopiert man sich qemu für arm in das RootFS:
cp /usr/bin/qemu-arm-static ./newrootfs/usr/bin/ 
Und oh wunder, man kann einen ganz normalen chroot in das RootFS machen, trotz anderer Architektur! Nun können wir debootstrap seine Arbeit vollenden lassen:
chroot ./newrootfs /debootstrap/debootstrap --second-stage 
Und fertig ist das RootFS. Mit chroot kann man jetzt das RootFS noch nach seinen Wünschen anpassen und fertig !
ACHTUNG: Das RootFS enthält KEINEN KERNEL, wenn ihr den braucht müsst ihr den selbst installieren!
Tags: linux rootfs debian debootstrap armel queeze