ppc64le bzImage and Build_id elf note

Donald Zickus dzickus at redhat.com
Fri Jun 3 23:49:45 AEST 2022


Hi Michael,

I am working on two packaging issues with Fedora and CKI that I am hoping
you can give me some guidance on.

1 - Fedora has always packaged an eu-strip'd vmlinux file for powerpc.  The
other arches we support used native compressed images.  I was looking into
using powerpc's zImage (pseries) binary to remove the powerpc workarounds
in our rpm spec file.

However, the rpmbuild fails because it can't find a build-id with
eu-readelf -n zImage.  Sure enough the build-id is found in vmlinux and
vmlinux.stripped but disappears with vmlinux.stripped.gz.  I had hoped
arch/powerpc/boot/addnote would stick it back in but it doesn't (I am
ignorant of how addnote works).

eu-readelf -n  data
vmlinux:

Displaying notes found in: .notes
  Owner                Data size        Description
  GNU                  0x00000014       NT_GNU_BUILD_ID (unique build ID
bitstring)
    Build ID: b4c026d72ead7b4316a221cddb7f2b10d75fb313
  Linux                0x00000004       func
   description data: 00 00 00 00
  Linux                0x00000001       OPEN
   description data: 00
  PowerPC              0x00000004       NT_VERSION (version)
   description data: 01 00 00 00

zImage:

Displaying notes found at file offset 0x00000158 with length 0x0000002c:
  Owner                Data size        Description
  PowerPC              0x00000018       Unknown note type: (0x00001275)
   description data: ff ff ff ff 02 00 00 00 ff ff ff ff ff ff ff ff ff ff
ff ff 00 00 40 00

Displaying notes found at file offset 0x00000184 with length 0x00000044:
  Owner                Data size        Description
  IBM,RPA-Client-[...] 0x00000020       Unknown note type: (0x12759999)
   description data: 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 28 00 00
00 01 ff ff ff ff 00 00 00 00 00 00 00 01

Is this something that can be addressed?  Or should I/we expect the
build-id to never make it into the zImage and just continue with our
current vmlinux process?


2 - CKI builds kernels using 'make targz-pkg'.  The arches we support
(x86_64, s390, aarch64) provide compressed binaries to package using
KBUILD_IMAGE or a specific entry in scripts/package/buildtar.  As a result,
because powerpc doesn't have a KBUILD_IMAGE variable defined, the script
builds vmlinx and cp's that to vmlinux-kbuild.  The problem with powerpc is
that vmlinux for us is huge ( >256MB) and cp'ing that to vmlinux-kbuild
occupies > 512MB of /boot and our distro runs out of disk space on that
partition.

I was hoping to add a patch to arch/powerpc/Makefile that defines
KBUILD_IMAGE:=$(boot)/zImage (mimicing arch/s390), which I believe would
solve our problem.  However, that circles back to our first problem above.

Thoughts?  Help?

Cheers,
Don
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20220603/6bc248ca/attachment.htm>


More information about the Linuxppc-dev mailing list