open-hardware

BeaglePlay network boot guide cuts kernel dev loop from minutes to seconds

Key Takeaway

A BeagleBoard.org developer published a detailed guide for booting BeaglePlay entirely over the network using TFTP for the kernel and NFS for the root filesystem, eliminating SD card swapping.

Summary

Ayush Singh from BeagleBoard.org documented a complete network-boot setup for BeaglePlay that replaces the tedious SD card shuffle with U-Boot fetching the kernel over TFTP and mounting root via NFS. The guide covers host configuration on Fedora Atomic, rootfs preparation with rsync preserving numeric IDs, kernel config requirements for NFS root without initramfs, and U-Boot pxelinux.cfg pitfalls. The result: kernel modules install directly to the host directory with make modules_install, and nothing needs copying to the board.

What the setup requires

  • TFTP server: socket-activated tftp-server on Fedora Atomic, serving /var/lib/tftpboot by default
  • NFS export: needs no_root_squash (root mapped to nobody breaks /etc/sudoers and SSH keys) and async for speed; data-loss risk acceptable for dev rootfs
  • Rootfs copy: rsync with -aHAX --numeric-ids from loop-mounted BeaglePlay Debian image; --filter='-x security.selinux' needed on SELinux hosts
  • Debian image tweaks: remove root and /boot/firmware from /etc/fstab; mask bbbio-set-sysconf.service dependency; handle zram (enable CONFIG_ZRAM or disable in rootfs)
  • Kernel built-ins required: NFS_FS, NFS_V3, ROOT_NFS, IP_PNP, IP_PNP_DHCP, TI_K3_AM65_CPSW_NUSS, TI_DAVINCI_MDIO — all must be =y, not modules
  • U-Boot pxelinux.cfg: append must be single line; keyword is fdtoverlays not fdtoverlay; overlays require explicit fdt entry; vers=3 avoids NFSv4 ID mapping issues
  • Boot order matters: dhcp overwrites serverip, so set serverip after dhcp; saveenv unavailable on this U-Boot build prevents persistent config

Why it matters

The guide lowers the barrier for kernel hacking on ARM boards by replacing physical SD card iteration with a fast network loop, potentially benefiting other TI K3-based boards with similar U-Boot capabilities.

Original reference: www.beagleboard.org →