Devuan bug report logs - #311
Device Tree Overlays Do Not Work

Package: arm-sdk; Maintainer for arm-sdk is (unknown);

Reported by: Paul Bryan Roberts <>

Date: Tue, 26 Mar 2019 14:18:02 UTC

Severity: normal

Full log

Message #5 received at (full text, mbox, reply):

Received: (at submit) by; 26 Mar 2019 14:10:02 +0000
Return-Path: <>
Received: from []
	by fulcanelli with IMAP (fetchmail-6.3.26)
	for <debbugs@localhost> (single-drop); Tue, 26 Mar 2019 15:10:02 +0100 (CET)
Received: from ( [])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by (Postfix) with ESMTPS id 990EAF60A32
	for <>; Tue, 26 Mar 2019 15:03:41 +0100 (CET)
Received: from [] ( [])
	(Authenticated sender:
	by (Postfix) with ESMTPSA id 27E69240018
	for <>; Tue, 26 Mar 2019 14:03:40 +0000 (UTC)
From: Paul Bryan Roberts <>
Subject: Device Tree Overlays Do Not Work
Message-ID: <>
Date: Tue, 26 Mar 2019 14:03:40 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
MIME-Version: 1.0
Content-Type: multipart/alternative;
Content-Language: en-GB
X-Spam-Status: No, score=-0.7 required=5.0 tests=HTML_MESSAGE,
	RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=disabled version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
[Message part 1 (text/plain, inline)]
Package: arm64_raspi3
Version: ascii_2.0.0

 * Details of the configuration of the program with the problem.
   Include the complete text of its configuration files.

I was using devuan_ascii_2.0.0_arm64_raspi3.img.xz downloaded on January 
19th 2019 at around 18:00 UTC.

 * A description of the incorrect behaviour: exactly what behaviour you
   were expecting, and what you observed. A transcript of an example
   session is a good way of showing this.

This image comes with a /boot/overlays directory containing a large 
number Device Tree Overlay files and a /boot/config.txt that contain at 
least one dtoverlay= directive.

So it seems reasonable to suppose that this Devuan image is supposed to 
be Device Tree Overlay capable.  It appears not to be.

 * The /exact/ and /complete/ text of any error messages printed or
   logged. This is very important!

It appears DT overlays are not loaded.  There are no error messages 
printed or logged:  such failures are silent.

There is a tool named vcdbg that can be used to extract the Device Tree 
load time logs but this is closed source and, as yet, there is no arm64 
binary.  I did get the following using a different tool:

pi@devuan:~$ dtmerge /boot/bcm2710-rpi-3-b-plus.dtb merge.dtbo 
DTOVERLAY[error]: No symbols found
* Exiting with error code 1

Without symbols you can't overlay.  Sadly the tool dtmerge is not 
available for Devuan.  You can build it from source or pinch an arm64 
binary from the Ubuntu ubuntu-raspi2 PPA.

 * Exactly what you typed or did to demonstrate the problem.

What you can do under Devuan is confirm that Device Tree Blob is missing 
symbols.  Install the device-tree-compiler-package first.

pi@devuan:~$ fdtdump /boot/overlays/tft35a.dtbo | fgrep '__ {'
        __overlay__ {
        __overlay__ {
        __overlay__ {
    __overrides__ {
    __symbols__ {
    __fixups__ {
    __local_fixups__ {
pi@devuan:~$ fdtdump /boot/bcm2710-rpi-3-b-plus.dtb | fgrep '__ {'

This confirms that the symbols are missing from the Devuan DT Blob, not 
my DT Overlay.

 * A description of the incorrect behaviour: exactly what behaviour you
   were expecting, and what you observed. A transcript of an example
   session is a good way of showing this.

The DT Overlay describes my device.  When applied, the kernel will load 
the appropriate modules (ads7846 and fb_ili9486).  The modules should 
appear in the dmesg output and also the output of lsmod.

Under Devuan, they do not.  The current versions of these modules do not 
take parameters but expect to extract them from the Device Tree so 
manual loading of these has no effect.

My device is unusable.

 * A suggested fix, or even a patch, if you have one.

A quick work around is to take the equivalent Device Tree Blob from 
Raspian.  It contains symbols, the kernel loads the modules, the device 
springs into life and everyone lives happily ever after.

A more sensible approach might be to upgrade the device tree compiler to 
a version that is symbol capable, build the Device Tree Blobs passing 
the -@ option to the device tree compiler and reissue the SD image(s).

[Message part 2 (text/html, inline)]

Send a report that this bug log contains spam.

Devuan BTS -- Powered by Debian bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.

Devuan Bugs Owner <>.
Last modified: Tue Oct 4 03:13:53 2022;