Respondiendo a mi propia pregunta, después de que descubrí qué buscar. Un archivo "dtb" contiene un Device Tree Blob (o binario) (buena descripción aquí). Es la nueva forma de pasar información de hardware sobre la placa al kernel de Linux.
Puede cargarse en la memoria y pasarse al kernel mediante u-Boot.
Aquí están los comandos de u-Boot que usé:
setenv bootargs 'console=tty0 console=ttyO2,115200n8 root=/dev/mmcblk0p2 rootwait rootfstype=ext4 rw'
fatload mmc 0:1 0x80300000 zImage
fatload mmc 0:1 0x815f0000 beagle-xm.dtb
bootz 0x80300000 - 0x815f0000
zImage es el kernel y beagle-xm.dtb es el blob del árbol de dispositivos. Automaticé el proceso de arranque configurando una variable "uenvcmd=..." en uEnv.txt (con lo anterior), pero es un poco feo y probablemente haya formas mejores.
Tenga en cuenta que esto se inicia y dice que cargó correctamente el árbol de dispositivos. Sin embargo, todavía no tengo dispositivos USB ni video (que yo sepa). Sin embargo, sospecho que puede ser un problema diferente.
Estoy usando Ubuntu 14.04 en beaglebone black, por lo que mi configuración puede ser un poco diferente, pero así es como cargué un dtb personalizado:
En uEnv.txt, agregue una línea con:dtb=name-of-desired.dtb
Las ubicaciones buscadas deben ser las especificadas aquí. Para mí esto fue /boot/dtbs/linux-kernel/
donde linux-kernel es el nombre de la versión cargada.