On Fri, Sep 23, 2022 at 3:45 AM Zack Rusin <zack@xxxxxxx> wrote: > > From: Zack Rusin <zackr@xxxxxxxxxx> > > The debug vmlinux takes up the vast majority of space in the built > rpm's. While having it enabled by default is a good idea because it > makes debugging easier, having an option to skip it is highly valuable > for CI/CD systems where small packages are a lot easier to deal with > e.g. kernel rpm built using binrpm-pkg on Fedora 36 default 5.19.8 kernel > config and localmodconfig goes from 255MB to 65MB which is an almost > 4x difference. > > To skip adding vmlinux.bz2 to the built rpm add SKIP_RPM_VMLINUX > environment variable which when set to "y", e.g. via > "SKIP_RPM_VMLINUX=y make binrpm-pkg" won't include vmlinux.bz2 in the > built rpm. > > Signed-off-by: Zack Rusin <zackr@xxxxxxxxxx> > Cc: Masahiro Yamada <masahiroy@xxxxxxxxxx> > Cc: Michal Marek <michal.lkml@xxxxxxxxxxx> > Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > Cc: linux-kbuild@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > --- > scripts/package/mkspec | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/scripts/package/mkspec b/scripts/package/mkspec > index 7c477ca7dc98..5a71fc0852b0 100755 > --- a/scripts/package/mkspec > +++ b/scripts/package/mkspec > @@ -23,6 +23,12 @@ else > M=DEL > fi > > +if [ "$RPM_SKIP_VMLINUX" = y ]; then > + D=DEL > +else > + D= > +fi > + > if grep -q CONFIG_DRM=y .config; then > PROVIDES=kernel-drm > fi > @@ -94,8 +100,8 @@ $M $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install > $MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install > cp System.map %{buildroot}/boot/System.map-$KERNELRELEASE > cp .config %{buildroot}/boot/config-$KERNELRELEASE > - bzip2 -9 --keep vmlinux > - mv vmlinux.bz2 %{buildroot}/boot/vmlinux-$KERNELRELEASE.bz2 > +$D bzip2 -9 --keep vmlinux > +$D mv vmlinux.bz2 %{buildroot}/boot/vmlinux-$KERNELRELEASE.bz2 > $S$M rm -f %{buildroot}/lib/modules/$KERNELRELEASE/build > $S$M rm -f %{buildroot}/lib/modules/$KERNELRELEASE/source > $S$M mkdir -p %{buildroot}/usr/src/kernels/$KERNELRELEASE > -- > 2.34.1 > This came from fc370ecfdb37b853bd8e2118c7ad9f99fa9ac5cd I do not know how useful or annoying it is. Presumably, it was a cheesy work, and rather annoying than useful. In debian (scripts/package/mkdebian), this kind of stuff is a separate debug package, and only built when CONFIG_DEBUG_INFO=y. Take more time in case somebody may come up with a better idea. -- Best Regards Masahiro Yamada