Da der Raspberry Pi 3 noch relativ jung ist, benötigen manche Projekte die aktuelle Buildroot-Version, um die Hardware des Pi vollständig nutzen zu können. Denn die Version in der VM ist von Ende 2016 und nutzt noch den Linux-Kernel 4.4, der bereits Anfang 2016 erschienen ist. Dieser unterstützt aber den Grafikchip und das WLAN-Modul des Pi noch nicht vollständig. Hier deshalb eine kurze Anleitung, wie Buildroot aktualisiert werden kann, damit der LTS-Kernel 4.9 genutzt werden kann:

$ cd ~
$ rm -rf buildroot make download cache
$ mkdir make download cache
$ git clone --branch 2017.05.x --depth 1 git://git.buildroot.net/buildroot buildroot
$ cd buildroot
$ make O=../make BR2_EXTERNAL=../custom

Anschließend bitte die neue Version des custom-Verzeichnisses herunterladen. Einfach alle Inhalte des Verzeichnisses durch die Dateien im ZIP-File ersetzen. custom (Update, 19.06.2017: ZIP-Datei aktualisiert)

Danach kann mit folgenden Befehlen eine neue Musterkonfiguration geladen werden:

$ cd ~/make
$ make clean
$ make dhbw_minimal_defconfig

Das Bauen des Images wird nun sehr lange gehen. 🙂

16.06.2017: In der ersten Version dieses Beitrags konnte es noch zu folgendem Fehler kommen, der mit dem neuen custom-Verzeichnis nicht mehr kommen sollte:

>>> Executing post-image script board/raspberrypi3/post-image.sh
file(bcm2710-rpi-cm3.dtb): stat(/home/buildroot/make/images/bcm2710-rpi-cm3.dtb) failed: No such file or directory
vfat(boot.vfat): could not setup bcm2710-rpi-cm3.dtb
Makefile:718: recipe for target 'target-post-image' failed
make[1]: *** [target-post-image] Error 1
Makefile:16: recipe for target '_all' failed
make: *** [_all] Error 2

Zur Behebung einfach die fehlende Datei manuell reinkopieren oder am besten den Inhalt des custom-Verzeichnisses nochmal tauschen. (Achtung: Der exakte Pfad kann etwas abweichend sein, daher am besten mit der Tab-Completion arbeiten, um den richtigen Pfad zu erwischen).

$ cp build/rpi-firmware-4b24a81a2ce94afd4458d1af4ea1e73d58e69848/boot/bcm2710-rpi-cm3.dtb images/

$ make

Jetzt sollte wieder alles in Ordnung sein. 😎

19.06.2017: custom.zip nochmal ausgetauscht. Die neue Version integriert das WLAN des Raspberry Pi3.

Buildroot auf die aktuelle Version 2017.05 aktualisieren

4 Kommentare zu „Buildroot auf die aktuelle Version 2017.05 aktualisieren

  • 13. Juni 2017 um 10:57 Uhr
    Permalink

    Hallo Dennis,
    ich habe ein Update auf die neue Buildroot Version gemacht und das custom Verzeichnis ausgetauscht. Ich bekomme beim build jedoch Fehler von qt-web-kiosk. Ich möchte diesen nicht installieren, das post-build.sh scheint jedoch etwas ändern zu wollen.

    Reicht es diese Zeilen auszukommentieren? Wo finde ich dieses Script?

    ———————————————————————————————————-

    >>> Executing post-build script /home/buildroot/custom/config.sh
    >> Nehme Änderungen an der config.txt vor
    dtoverlay=vc4-fkms-v3d
    >>> Executing post-build script board/raspberrypi3/post-build.sh
    >>> Generating root filesystem image rootfs.ext2
    rm -f /home/buildroot/make/build/_fakeroot.fs
    rm -f /home/buildroot/make/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
    rm -f /home/buildroot/make/build/_users_table.txt
    echo ‚#!/bin/sh‘ > /home/buildroot/make/build/_fakeroot.fs
    echo „set -e“ >> /home/buildroot/make/build/_fakeroot.fs
    echo „chown -h -R 0:0 /home/buildroot/make/target“ >> /home/buildroot/make/build/_fakeroot.fs
    cat /home/buildroot/custom/users >> /home/buildroot/make/build/_users_table.txt
    printf ‚ – – input -1 * – – – Input device group\n sshd -1 sshd -1 * – – – SSH drop priv user\n\n‘ >> /home/buildroot/make/build/_users_table.txt
    PATH=“/home/buildroot/make/host/bin:/home/buildroot/make/host/sbin:/home/buildroot/make/host/usr/bin:/home/buildroot/make/host/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games“ /home/buildroot/buildroot/support/scripts/mkusers /home/buildroot/make/build/_users_table.txt /home/buildroot/make/target >> /home/buildroot/make/build/_fakeroot.fs
    cat system/device_table.txt /home/buildroot/custom/permissions > /home/buildroot/make/build/_device_table.txt
    printf ‚ /bin/busybox f 4755 0 0 – – – – -\n /usr/bin/sudo f 4755 0 0 – – – – -\n /dev/console c 622 0 0 5 1 – – -\n\n‘ >> /home/buildroot/make/build/_device_table.txt
    echo „/home/buildroot/make/host/usr/bin/makedevs -d /home/buildroot/make/build/_device_table.txt /home/buildroot/make/target“ >> /home/buildroot/make/build/_fakeroot.fs
    printf ‚ PATH=“/home/buildroot/make/host/bin:/home/buildroot/make/host/sbin:/home/buildroot/make/host/usr/bin:/home/buildroot/make/host/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games“ mke2img -d /home/buildroot/make/target -G 4 -R 1 -b 262144 -I 0 -o /home/buildroot/make/images/rootfs.ext2\n‘ >> /home/buildroot/make/build/_fakeroot.fs
    chmod a+x /home/buildroot/make/build/_fakeroot.fs
    PATH=“/home/buildroot/make/host/bin:/home/buildroot/make/host/sbin:/home/buildroot/make/host/usr/bin:/home/buildroot/make/host/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games“ /home/buildroot/make/host/usr/bin/fakeroot — /home/buildroot/make/build/_fakeroot.fs
    rootdir=/home/buildroot/make/target
    table=’/home/buildroot/make/build/_device_table.txt‘
    makedevs: line 35: regular file ‚/home/buildroot/make/target/bin/qt-webkit-kiosk‘ does not exist: No such file or directory
    makedevs: cap_get_file failed on /home/buildroot/make/target/bin/qt-webkit-kiosk: No such file or directory
    fs/ext2/ext2.mk:42: recipe for target ‚/home/buildroot/make/images/rootfs.ext2‘ failed
    make[1]: *** [/home/buildroot/make/images/rootfs.ext2] Error 1
    Makefile:16: recipe for target ‚_all‘ failed
    make: *** [_all] Error 2

  • 13. Juni 2017 um 13:29 Uhr
    Permalink

    Ich vermute, dass das an der Datei „permissions“ im custom-Verzeichnis liegt. Kann sein, dass da noch alte Einträge drin sind, weil ich momentan viel für das Browser-Problem ausprobieren. Schau mal, ob die Datei außer

    /etc/ssh/ssh_host_rsa_key f 600 root root – – – – –

    noch weitere Einträge hat. Wenn ja, einfach alle rausschmeißen. Ich habe zwischenzeitlich aber auch das ZIP-File mit dem custom-Verzeichnis nochmal ausgetauscht und in dieser Version scheinen die übreflüssigen Zeilen nicht mehr enthalten zu sein.

  • 14. Juni 2017 um 8:58 Uhr
    Permalink

    Danke, hat funktioniert.

  • Pingback:WLAN unter Buildroot zum Laufen bringen – Iot/Embedded-Workshop 2017

Kommentare sind geschlossen.