Subject: Re: [bug#31447] [PATCH] linux-libre: Add aarch64-linux.

From: Vagrant Cascadian <[email-masked]>
Date: Thu, 17 May 2018 15:05:35 -0700

On 2018-05-17, Mark H Weaver wrote:
> [email-masked] (Ludovic Courtès) writes:
>
>>> From b9e48a787b6b151b5c7df6036eb75752d3c4db24 Mon Sep 17 00:00:00 2001
>>> From: Vagrant Cascadian <[email-masked]>
>>> 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