On 2018-05-17, Mark H Weaver wrote: > ludo@gnu.org (Ludovic Courtès) writes: > >>> From b9e48a787b6b151b5c7df6036eb75752d3c4db24 Mon Sep 17 00:00:00 2001 >>> From: Vagrant Cascadian >>> Date: Mon, 14 May 2018 03:20:17 +0000 >>> Subject: [PATCH] gnu: linux-libre: Enable build for aarch64-linux. >>> >>> * gnu/packages/linux.scm (%linux-compatible-systems): Add aarch64-linux. >>> * gnu/packages/aux-files/linux-libre/4.16-arm64.conf: New file. >> >> I think we should add the .conf file to gnu/local.mk, but apart from >> that it LGTM. >> >> Mark, WDYT? > > %linux-compatible-systems is also used as the 'supported-systems' field > of linux-libre-4.14, but there's no '4.14-arm64.conf' file added here. > We should either add that file, or else somehow arrange for > 'aarch64-linux' to be omitted from linux-libre-4.14's > 'supported-systems' field. I briefly thought about weather to add support for older kernels, but figured only adding a new architecture to the current version of linux-libre would be simpler... guess that requires a little more patching... > As Ludovic mentioned, the new .conf file needs to be added to > gnu/local.mk. I don't see any of the existing linux-libre/*.conf files added there; maybe Ludovic meant Makefile.am ? > Otherwise, it looks good to me. 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". U-boot on arm64 platforms typically sets a variable "fdtfile" to load, and so fails to boot without manual intervention. Could work around it in the bootloader configuration, but I think it would be better to fix in the linux-libre packages. live well, vagrant