gnu-efi does not support RISC-V

Bug #1938324 reported by Heinrich Schuchardt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnu-efi (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

The Ubuntu package for gnu-efi does not support the RISC-V architecture.

Build version v3.0.13 with all necessary packages to enable the RISC-V architecture.

A snapshot build has been created in ppa:xypron/gnu-efi.

Revision history for this message
Heinrich Schuchardt (xypron) wrote :
tags: added: fr-1528
Revision history for this message
Julian Andres Klode (juliank) wrote :

Do we need a snapshot past 3.0.13 for this? I'd prefer to use releases, to be honest. The upstream versioning for snapshots should really be something like 3.0.13+git<date>.<commit>.

Doing this properly in the git repo (https://salsa.debian.org/efi-team/gnu-efi) would be nice, and then upload to experimental and sync it back. Don't know if gnu-efi needs a pre-build script thingy, otherwise the upstream tarball can be created using git archive --prefix gnu-efi-<version from above>/ | xz. Then import with gbp import-orig, and do the usual dance of finalizing changelog entries.

It's hard to validate otherwise whether the upstream tarball is the correct one.

Revision history for this message
Heinrich Schuchardt (xypron) wrote :

The 3.0.13 release was in March 2021. The RISC-V patches were added after this.

What I have done in my PPA is using a 3.0.13 tarball and adding the 22 patches written thereafter to debian/patches:

0001-Add-Device-Path-Utilities-Protocol-support.patch
0002-Add-EFI_SHELL_PROTOCOL-definitions.patch
0003-Move-EFI_SHELL_PARAMETERS_PROTOCOL-related-definitio.patch
0004-Add-EFI_SHELL_DYNAMIC_COMMAND_PROTOCOL-definitions.patch
0005-Undefined-Status-in-LibGetVariableAndSize.patch
0006-Initial-support-for-RISCV64.patch
0007-lisb-str.c-simplify-xtoi.patch
0008-lib-hand-missing-va_end.patch
0009-Fix-dummy-relocation-block-alignment.patch
0010-Add-EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID.patch
0011-ARM-hide-hidden-pragma-for-hosted-build.patch
0012-lib-hand-missing-va_end-in-LibReinstallProtocolInter.patch
0013-lib-misc-avoid-NULL-dereference-in-LibInsertToTailOf.patch
0014-lib-str-simplify-Atoi.patch
0015-efiapi.h-add-RISC-V-machine-type-definitions.patch
0016-apps-simplify-logical-constraints.patch
0017-riscv64-missing-EFI_FUNCTION.patch
0018-riscv64-provide-efisetjmp_arch.h.patch
0019-apps-define-FrameBufferAddr-for-riscv64.patch
0020-apps-memory-leak-in-draw_boxes.patch
0021-Add-definitions-for-the-EFI-device-tree-table.patch
0022-Fix-VS2019-Code-Analysis-warnings.patch

Revision history for this message
Julian Andres Klode (juliank) wrote :

Yeah, that's not the right way. Then it would be 3.0.13-0ubuntu1, and not changed in the upstream version. Which is OK too, but I went ahead and imported a git-archive export as 3.0.13+git20210716.269ef9d-1 in the Debian repository and uploaded that to experimental with any-riscv64 (and any-ia64) added to Architecture.

In the PPA, there are a bunch of other changes to debian/rules that are not advertised, such as
- changing from /usr/lib{32,64} to multi-arch paths (which is not where stuff looks for it)
- a redundant addition of an arm64 architecture (any-arm64 is there already)
- I guess cross-compilation support?

I don't think we can apply the first one. We can apply the third one in another upload, but I do want it mentioned in the changelog what's going on. Well optimally, can you submit a merge against the gnu-efi salsa repo with the compilation changes and describe it in the commit message (first line will be used as changelog entry)? That would be best!

Changed in gnu-efi (Ubuntu):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnu-efi - 3.0.13+git20210716.269ef9d-1

---------------
gnu-efi (3.0.13+git20210716.269ef9d-1) experimental; urgency=medium

  * New upstream version 3.0.13+git20210716.269ef9d
  * Add any-riscv64 to Architecture list (Closes: #988231) (LP: #1938324)
  * Add any-ia64 to Architecture list (Closes: #926535)
  * Drop patches; applied upstream

 -- Julian Andres Klode <email address hidden> Thu, 29 Jul 2021 17:55:17 +0200

Changed in gnu-efi (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.