Beagle Bone Black

1   Lokaler Arbeitsbereich auf SSD

NICHT IM HOME-VERZEICHNIS DES RZ KOMPILIEREN!!!

Verwende lokale SSD Platte des Rechners elinux-remote, oder ihren eigene Rechner

Jede/Jeder legt sich Arbeitsbereich an nach dem Muster

/home/elinux_work/<nachname> + "_" + <vorname[0]>

Beispiele:

  • /home/elinux_work/hoegl_h
  • /home/elinux_work/schaeferling_m

Achtung: Gesamte Partition hat ca. 500 GByte frei. Bei 25 Teilnehmern waeren das ca. 20 GByte je TN. Das reicht zum Kompilieren von U-Boot, Kernel, Buildroot. Beim Kompilieren von Yocto fallen bis zu 60 GByte Daten an. Das kann dann natuerlich nicht jeder zur gleichen Zeit machen. Der Kompiliervorgang dauert auch mehrere Stunden!

2   U-Boot kompilieren

An Anleitungen von Robert C. Nelson halten. Er Applikationsingenieur bei Texas Instruments und hat praktisch das komplette Linux auf AM335x angepasst.

https://forum.digikey.com/t/debian-getting-started-with-the-beaglebone-black/12967

 sudo apt install bison

 wget -c https://releases.linaro.org/components/toolchain/binaries/6.5-2018.12/arm-linux-gnueabihf/gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf.tar.xz
 tar xf gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf.tar.xz
 export CC=`pwd`/gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

 git clone -b v2019.04 https://github.com/u-boot/u-boot --depth=1

 wget -c https://github.com/eewiki/u-boot-patches/raw/master/v2019.04/0001-am335x_evm-uEnv.txt-bootz-n-
fixes.patch
 wget -c https://github.com/eewiki/u-boot-patches/raw/master/v2019.04/0002-U-Boot-BeagleBone-Cape-
 Manager.patch
 cd u-boot/
 patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
 patch -p1 < ../0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
 patch -p1 < ../0002-U-Boot-BeagleBone-Cape-Manager.patch

 make ARCH=arm CROSS_COMPILE=${CC} distclean
 make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig
 make ARCH=arm CROSS_COMPILE=${CC}

3   Kernel kompilieren

Anleitung von R. C. Nelson: https://forum.digikey.com/t/debian-getting-started-with-the-beaglebone-black/12967

git clone https://github.com/RobertCNelson/bb-kernel
cd bb-kernel/
git checkout origin/am33x-v4.19 -b tmp

Immer wieder:
warning: konnte nicht auf '/rzhome/hhoegl/.config/git/attributes' zugreifen: Keine Berechtigung

Installieren: lzop,

./build_kernel.sh   # siehe build_kernel.log
  • Wie konfiguriert man den Kernel?

4   Vorarbeiten zum Booten ueber TFTP/NFS

Auf dem Hostrechner ist ein TFTP Server und ein NFS Server zu installieren.

Auf dem TFTP Server wird der Kernel (uImage) und der Device Tree liegen.

Auf dem NFS Server wird das Root Filesystem liegen. Der Kernel wird am Ende des Bootvorgangs das Root Filesystem ueber NFS mounten.

4.1   TFTP

Installiere "tftpd-hpa" Server und "tftp-hpa" Client (zum Testen).

man tftpd
man tftp

systemctl status tftpd-hpa.service

Konfigurationsdatei: /etc/init/tftpd-hpa.conf

Server Verzeichnis: /srv/tftp/

Test: tftp -v 127.0.0.1 -c get <Pfad/zur/Datei>

Defaults::

$ cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"

5   Yocto Project

Lit.:

ElinuxBBBPraxis (zuletzt geƤndert am 2021-05-04 06:47:29 durch HubertHoegl)