RSSAminetKontakt

Home/Seiten/Raspberry Pi 3 - Eigenes Image bauen

Raspberry Pi 3 - Eigenes Image bauen, Freitag, 27. Oktober 2017 09:31
Wenn man seinen Raspberry Pi 3 B in 64-Bit betreiben möchte ist man gezwungen sich eine eigene Lösung einfallen zu lassen. Am leichtesten scheint mir der Weg über das Crosscompilieren und deswegen findet die Erstellung auf einem Desktop-Linux statt: Erstellen der Image-Datei
dd if=/dev/null of=image.img bs=1024k seek=2000 count=0
Anlegen der Partitionen
fdisk image.img
n,p,1,2048,+200M,t,c,n,p,2,411648,4095999,a,1,w
fdisk -l image.img
Bash: getimageinfo.sh
Device     Boot  Start     End Sectors  Size Id Type
image.img1 *      2048  411647  409600  200M  c W95 FAT32 (LBA)
image.img2      411648 4095999 3684352  1.8G 83 Linux
losetup --offset $((512*2048)) --sizelimit $((512*409600)) --show --find image.img
/dev/loop0
mkfs.vfat /dev/loop0
losetup --offset $((512*411648)) --sizelimit $((512*3684352)) --show --find image.img
/dev/loop1
mkfs.ext4 /dev/loop1
Einbinden der Partitionen ins Dateisystem
mkdir mnt
mount /dev/loop1 mnt
mkdir mnt/boot
mount /dev/loop0 mnt/boot
Anlegen des Linux-Dateisystems (Ubuntu Xenial)
mk-sbuild --arch arm64 xenial
Wechsel in das Zielsystem mit chroot
schroot -c source:xenial-arm64 -u root
Zielsystem anpassen
apt-get update && apt-get upgrade
apt-get install network-manager bash-completion ubuntu-server
apt-get -dy install openssh-server
/etc/fstab anlegen
/dev/mmcblk0p2 / ext4 defaults 0 1
/dev/mmcblk0p1 /boot vfat defaults 0 0
rm /etc/debian_chroot
echo xenial>/etc/hostname
passwd
exit
Zielsystem kopieren
rsync -au /var/lib/schroot/chroots/xenial-arm64/* ./mnt/
cd mnt/boot
rm -rf grub
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/fixup_cd.dat
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/fixup_db.dat
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/fixup.dat
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/fixup_x.dat
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/start_cd.elf
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/start_db.elf
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/start.elf
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/start_x.elf
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/LICENCE.broadcom
wget -N https://github.com/raspberrypi/firmware/raw/master/boot/COPYING.linux
cd ../..
Kernel kompilieren
git clone https://github.com/raspberrypi/linux.git
mkdir kernel-out
cd linux
git checkout rpi-4.13.y
make O=../kernel-out/ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcmrpi3_defconfig
make O=../kernel-out/ -j 3 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
make O=../kernel-out/ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu INSTALL_MOD_PATH=../mnt modules_install
Kernel kopieren
cp -rp ./kernel-out/arch/arm64/boot/dts/overlays ./mnt/boot/
cp -p ./kernel-out/arch/arm64/boot/Image ./mnt/boot/kernel8.img
cp -p ./kernel-out/arch/arm64/boot/dts/broadcom/bcm*-rpi-3-b.dtb ./mnt/boot/
Soundkarte aktivieren Damit die Onboard-Soundkarte snd_bcm2835 geladen und genutzt werden kann braucht man noch einen Eintrag in der Datei /boot/config.txt
dtparam=audio=on
Zusätzlich finde ich folgenden Eintrag nützlich wenn man eine externe Festplatte betreibt.
max_usb_current=1
Aufräumen
umount mnt/boot
umount mnt
losetup -d /dev/loop1
losetup -d /dev/loop0
Fertig Das Image ist fertig und kann genutzt werden. Also auf SD-Karte gespeichert werden oder zum Download angeboten.
zip xenial_4.13.10.zip image.img
Benutzer/Passwort: root/root Nach dem Login: apt install openssh-server (Die Dateien sind vorhanden aber nicht installiert) Damit werden die Keys erst auf dem Ziel eingerichtet und nicht schon beim Erstellen des Images. 💾 xenial_4.13.10.zip
Erstellt von: Robin Hüskes
Erstellt am: Freitag, 27. Oktober 2017 09:31
Geändert von: Robin Hüskes
Geändert am: Montag, 06. November 2017 14:56
Raspberry Pi 3 - Eigenes Image bauen/Test, Samstag, 28. Oktober 2017 21:34
😍
Erstellt von: Robin Hüskes
Erstellt am: Samstag, 28. Oktober 2017 21:34
Geändert von: Robin Hüskes
Geändert am: Samstag, 28. Oktober 2017 21:34
Zum Live Linux: