Raspberry Pi Crosscompilation: Unterschied zwischen den Versionen
Aus Hackerspace Ffm
K (Kategorie) |
K (→Ordnerstruktur in lokales Filesystem kopieren) |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 22: | Zeile 22: | ||
sudo mount -v -o offset='''62914560''' 2015-09-24-raspbian-jessie.img mnt | sudo mount -v -o offset='''62914560''' 2015-09-24-raspbian-jessie.img mnt | ||
mkdir raspbian | mkdir raspbian | ||
− | sudo cp - | + | sudo cp -a mnt/* raspbian/ |
sudo umount mnt | sudo umount mnt | ||
Zeile 40: | Zeile 40: | ||
http://proot.me/#examples | http://proot.me/#examples | ||
− | [[Kategorie:Raspberry]] | + | [[Kategorie:Raspberry Pi]] |
Aktuelle Version vom 2. November 2015, 22:19 Uhr
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