[systemd-devel] How to build a unified kernel for aarch64?

Zameer Manji zmanji at gmail.com
Fri Nov 12 13:55:56 UTC 2021


On Fri, Nov 12, 2021 at 3:52 AM Lennart Poettering
<lennart at poettering.net> wrote:
>
> On Fr, 12.11.21 00:00, Zameer Manji (zmanji at gmail.com) wrote:
>
> > I have noticed there exists a systemd-stub for aarch64, the file
> > is located at `/usr/lib/systemd/boot/efi/linuxaa64.efi.stub`.
> >
> > The manpage instructs users to use `objcopy` to build the unified
> > kernel from the stub. However when I use objcopy I get the following
> > error:
> >
> > ```
> > objcopy: /usr/lib/systemd/boot/efi/linuxaa64.efi.stub: file format not
> > recognized
> > ```
> > I also noticed the GNU binutils bug tracker indicates that PE executables on
> > ARM are not yet supported for objcopy [0].
> >
> > How do systemd developers build the unified kernel on aarch64? Is there
> > an alternative toolchain used?
> >
> > [0]: https://sourceware.org/bugzilla/show_bug.cgi?id=26206
>
> I personally never played around with this for anything
> non-x86-64. But I wonder, maybe llvm-objcopy supports this for aarch64?
>

Unfortunately, llvm-objcopy does not have support for PE executables
as well.

I've noticed some recent commits to the stub to better support ARM
like using the EFI initrd loading protocol, how are those changes
tested?


-- 
Zameer Manji


More information about the systemd-devel mailing list