On 2018-05-18, Vagrant Cascadian wrote: > On 2018-05-17, Vagrant Cascadian wrote: >> Since submitting, I did notice that the way .dtb files are installed, it >> doesn't preserve the subdirectory structure. Unlike the "arm" >> architecture, where .dtb files are all placed in a single directory, on >> "arm64" there are sub-directories for each soc family: >> >> allwinner/sun50i-a64-pine64-plus.dtb >> >> It looks like the linux Makefile supports setting INSTALL_DTBS_PATH >> variable, and both "arm" and "arm64" architectures have a "dtbs_install" >> target, which may simply do "the right thing". Attached is a patch which does that. Did test builds of linux-libre on x86_64-linux (no dtb files), aarch64-linux (dtb files in subdirs) and armhf-linux (dtb files in one big huge directory); all of these variants appear to be doing the right thing. The patch basically follows the previous behavior by checking for the presence of .dtb files, but rather than installing them manually, invokes "make dtbs_install". I did try to restrict dtb installation based on architecture (only arm, arm64 and mips linux architectures currently implement the dtbs_install Makefile target), which would seem a little cleaner to me. My attempt was essentially: (if (string=? (getenv "ARCH") (or "arm" "arm64" "mips")) (invoke "make" "dtbs_install" ... ) ) Which somehow matched on all architectures... and so failed to build on on x86_64. Since the compile cycles were so long to test if it worked or not, I've set it aside for now and decided to submit what I had working. So, with the previous updated patch and the following patch, it should be ready to go. Please feel free to squash them or merge them separately; whatever makes the most sense. Or give more review and feedback, of course. :) live well, vagrant