GNU bug report logs - #60224
[PATCH 0/9] Improvements to our u-boot tooling

Previous Next

Package: guix-patches;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Tue, 20 Dec 2022 16:52:01 UTC

Severity: normal

Tags: patch

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Vagrant Cascadian <vagrant <at> debian.org>
Cc: rekado <at> elephly.net, 60224 <at> debbugs.gnu.org
Subject: [bug#60224] [PATCH v3 07/11] gnu: make-u-boot-sunxi64-package: Use gexps and adjust file name.
Date: Wed, 11 Jan 2023 14:55:48 -0500
Hi Vagrant!

Vagrant Cascadian <vagrant <at> debian.org> writes:

> On 2023-01-01, Maxim Cournoyer wrote:
>> * gnu/packages/bootloaders.scm (make-u-boot-sunxi64-package)
>> [phases] {set-environment}: Replace bl31.bin with bl31.elf; bl31.elf doesn't
>> exist anymore for some reason.
>
> Seems like the description is the inverse of what it is actually
> doing. But what it is doing is ... not right either. :/

[...]

>> +          #~(modify-phases #$phases
>> +              (add-after 'unpack 'set-environment
>> +                (lambda* (#:key native-inputs inputs #:allow-other-keys)
>> +                  (setenv "BL31" (search-input-file (or native-inputs inputs)
>> +                                                    "bl31.elf"))))))))
>
> bl31.elf is built on rockchip platforms, but not sunxi/allwinner
> platforms. The sunxi/allwinner platforms need bl31.bin.

This ^ ...
>
>>        (native-inputs
>> -       `(("firmware" ,arm-trusted-firmware-sun50i-a64)
>> -         ,@(package-native-inputs base))))))
>> +       (modify-inputs (package-native-inputs base)
>> +         (append arm-trusted-firmware-rk3399))))))
>

... was the product of the above typo; thanks for catching it!

> This is absolutely incorrect, as this forces it to be rk3399, which is
> not even a sunxi platform, and will break all the sun50i-a64 platforms
> (e.g. pine64, pinebook).  That said, there are technically sunxi64
> platforms that would use a different arm-trusted-firmware build, so this
> could use improving.

I've now removed that commit; and undid the previous change to, which
was based on that mistake.

I'll sent a v4 shortly.

I've noted something annoying though; is that cross-compiling doesn't
work yet because U-Boot uses python packages, which barfs like:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build u-boot-puma-rk3399 guix build: error: gnu/packages/check.scm:1997:2:
python-coverage <at> 5.2.1: build system `python' does not support cross
builds
--8<---------------cut here---------------end--------------->8---

So currently the only way to build it is via --system, e.g. 'guix build
-s aarch64-linux u-boot-puma-rk3399'.  The complications I simplified
were probably papering over that issue.  That said, I see no reason we
couldn't convince our Python build system to "cross-compile" Python
packages, so I intend to look at this.  Not sure if this should be a
blocker or not.

-- 
Thanks,
Maxim




This bug report was last modified 2 years and 182 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.