Raspberry Pi Crosscompilation
Aus Hackerspace Ffm
Version vom 2. November 2015, 22:19 Uhr von Hephaisto (Diskussion | Beiträge) (→Ordnerstruktur in lokales Filesystem kopieren)
Kurze Einführung, wie man am bequemsten für den Raspberry auf einem PC (unter Linux) kompiliert. Und zwar, ohne sich die große Mühe mit Crosscompilern und dergleichen zu machen. Dazu verwenden wir einen architectural chroot, bei dem wir eine Art virtuellen ARM-Chip simulieren, aber ohne den ganzen Overhead einer VM.
Inhaltsverzeichnis
Vorbereitung
Packages installieren
sudo apt-get install proot qemu-user
Image herunterladen
Image: https://downloads.raspberrypi.org/raspbian_latest
unzip 2015-09-24-raspbian-jessie.img
Ordnerstruktur in lokales Filesystem kopieren
Position der root-partition im disk-image finden:
file 2015-09-24-raspbian-jessie.img 2015-09-24-raspbian-jessie.img: DOS/MBR boot sector; partition 1 : ID=0xc, start-CHS (0x0,130,3), end-CHS (0x7,165,30), startsector 8192, 114688 sectors; partition 2 : ID=0x83, start-CHS (0x7,165,31), end-CHS (0x2d,220,15), startsector 122880, 8325120 sectors
Obige fette Zahl mit 512 (block size) multiplizieren und dann:
mkdir mnt sudo mount -v -o offset=62914560 2015-09-24-raspbian-jessie.img mnt mkdir raspbian sudo cp -a mnt/* raspbian/ sudo umount mnt
Chroot
Normale Nutzung (z.B. compilieren):
proot -r raspbian -q qemu-arm [command]
Root-Zugang:
sudo proot -0 -r -q qemu-arm [command]
Die Argumente -R bzw. -S binden spezielle Verzeichnisse ein, das machte bei mir allerdings mehr Probleme als dass es eine Hilfe war.
TODO
- fakeroot-Zugriff ohne sudo