Hi,
I'm building the 5.14 kernel from
kernel-5.14.0-0.rc0.20210706git79160a603bdb.11.fc35.src.rpm
I've run into two issues.
The first is to do with bpftool. I see in the comments that it is
supposed to be disabled in Fedora. But, it still has a buildrequires:,
and there is a segment of code that is not protected even if bpftool is
turned off.
%ifnarch armv7hl
# Generate vmlinux.h and put it to kernel-devel path
bpftool btf dump file vmlinux format c > $RPM_BUILD_ROOT/$DevelDir/vmlinux.h
%endif
Because bpftool is turned off, this chokes.
The second is to do with a symbolic link.
# Move the devel headers out of the root file system
mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
# This is going to create a broken link during the build, but we don't use
# it after this point. We need the link to actually point to something
# when kernel-devel is installed, and a relative link doesn't work across
# the F17 UsrMove feature.
ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
The comment says that symbolic link should not matter, but rpmbuild
complains that files are being packaged that are not registered (?,
from memory). Building something else right now, but if you need the
exact error message, I can regenerate it later. This code is in
prior kernel spec files without problems. It seems that something
is being more assiduous now. I've tried various things to work around
this, but they haven't worked. I guess that is because I don't really
understand why this symbolic link is being created. What is your
suggestion for how to fix this?
Finally, I've built the kernel successfully several times while testing
my fixes. I've noticed that ccache is not being used; it is rebuilding
everything every time. Since I'm building a kernel customized to my
hardware, that isn't so onerous. But, how would I enable ccache so
that rebuilds are basically copy operations?
Thanks for any help.