Series

Yocto-BBB

21 posts · Beaglebone Black

  1. 0
    [Yocto-BBB] 0. Theory, documents, and common commands in the Yocto series
    · A cheat sheet for the Yocto-BBB series: what Yocto, Poky, OpenEmbedded, BitBake, recipes and layers are, reference documents, and the Yocto and Linux commands used most often.
  2. 1
    [Yocto-BBB] 1. Build a Beaglebone Black image with the Yocto Project
    · Setting up an Ubuntu 22.04 host, cloning Poky Scarthgap with meta-openembedded, meta-arm and meta-ti, building core-image-minimal for MACHINE beaglebone, and flashing the .wic.xz with bmaptool.
  3. 2
    [Yocto-BBB] 2. UART Debug Board and Bitbake Append
    · Connecting a PL2303 USB-UART adapter to the BeagleBone Black and opening it with screen, then how .bbappend files and layer priority work, with a three-layer example and the ?=, ??=, := and += operators.
  4. 3
    [Yocto-BBB] 3. Adding a password for the user
    · Creating the meta-bbb layer and a core-image-minimal.bbappend that inherits extrausers and sets a hashed root password with EXTRA_USERS_PARAMS.
  5. 4
    [Yocto-BBB] 4. Changing the Distro Description
    · Where the "Poky (Yocto Project Reference Distro)" login text comes from (DISTRO_NAME into /etc/issue) and how to replace it with your own distro conf in meta-bbb.
  6. 5
    [Yocto-BBB] 5. Changing the banner after login
    · Showing a custom banner with uptime, hostname, disk and memory after login via /etc/profile.d, packaging the script in a custom-banner recipe, and resizing the root partition of the wic image.
  7. 6
    [Yocto-BBB] 6. SSH into the board over Ethernet
    · A custom-image recipe with dhcpcd, iproute2, iputils and openssh for Ethernet and SSH, then the extra packages (bash, tar, xz, procps, coreutils, curl, libstdc++, libatomic) that VS Code Remote-SSH needs.
  8. 7
    [Yocto-BBB] 7. Adding a driver for a USB wifi adapter
    · Checking Linux compatibility of a TP-Link WN722N v2, writing an rtl8188eu kernel module recipe (license, SRC_URI, SRCREV, inherit module, autoload), then connecting to wifi with wpa_supplicant and SSH.
  9. 8
    [Yocto-BBB] 8. Connecting an SSD1306 0.96 inch OLED over I2C
    · Adding gcc, nano and i2c-tools to the image, confirming which I2C bus is enabled from the AM335x memory map, detecting the SSD1306 with i2cdetect and printing text from a small C program.
  10. 9
    [Yocto-BBB] 9. Using devtool, creating patches and installing IPK files
    · devtool add, modify and finish for the ssd1306 recipe and what the workspace layer does, creating a git patch and applying it through SRC_URI, and installing the resulting .ipk on a running board with opkg.
  11. 10
    [Yocto-BBB] 10. Booting from eMMC
    · Why boot the BeagleBone Black from eMMC, the lazy way (wipe the eMMC so it falls back to the SD card), and the proper way: partition, format and copy the rootfs and boot files to eMMC, then fix fstab and extlinux.conf.
  12. 11
    [Yocto-BBB] 11. Transferring files over UART
    · Comparing SD card, SCP, TFTP and UART for getting files onto a board, configuring minicom, adding lrzsz to the image, and sending files with ZMODEM using rz.
  13. 12
    [Yocto-BBB] 12. Transferring files over TFTP
    · What TFTP is, adding tftp-hpa to the image (and the meta-networking and meta-python layers it needs), static IPs over a direct Ethernet cable, setting up tftpd-hpa on the host and getting/putting files from the board.
  14. 13
    [Yocto-BBB] 13. Building Weston, fixing input and dnd errors
    · Getting Weston running on the BeagleBone Black: systemd, downgrading to Weston 8.0 from dunfell, a weston.service with XDG_RUNTIME_DIR, the Adwaita cursor theme and libinput, plus the debugging path that led there.
  15. 14
    [Yocto-BBB] 14. X11 and RDP (Remote Desktop Protocol)
    · Remote desktop into core-image-sato on the BeagleBone Black with xrdp and xorgxrdp: systemd, PAM and X11 distro features, RSA keys, a startwm.sh session script and xfreerdp from the host, with each step explained.
  16. 15
    [Yocto-BBB] 15. Changing the Boot Logo
    · Finding where psplash gets its splash image in Poky, generating a psplash image header from your own PNG with make-image-header.sh, and rebuilding a GUI image for the BeagleBone Black.
  17. 16
    [Yocto-BBB] 16. Enabling ADB, SSH port forwarding
    · What ADB is useful for outside Android, building android-tools adbd into a Yocto image for the BeagleBone Black, fixing the usb-debugging condition, and forwarding SSH over the USB cable for VS Code.
  18. 17
    [Yocto-BBB] 17. Installing Links-X11, browsing the web on core-image-sato
    · Adding the links-x11 browser to core-image-sato on the BeagleBone Black, powering a screen and USB wifi at the same time, fixing DNS name resolution, and browsing with and without the GUI.
  19. 18
    [Yocto-BBB] 18. GDB debugging through recipe-sysroot
    · What a recipe-sysroot is, building a tiny example recipe, running its ARM binary under QEMU user mode as a gdb server, and debugging it from VS Code with gdb-multiarch on the laptop without any hardware.
  20. 19
    [Yocto-BBB] 19. Sharing sstate to speed up builds
    · Serving a sstate-cache folder over HTTP with nginx, pointing another machine at it with SSTATE_MIRRORS and a hash equivalence server, and what OEEquivHash changes compared with OEBasicHash.
  21. 20
    [Yocto-BBB] 20. Building Yocto 6.0 Wrynose for the Beaglebone Black
    · What changed in Yocto 6.0 Wrynose (no more poky repo, layers cloned side by side, nodistro by default) and the steps to build for MACHINE beaglebone with openembedded-core, meta-ti and meta-arm.