Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kernel ABI update from version 6 to version 6-2 #145

Merged
merged 2 commits into from
Jun 12, 2020

Conversation

olivier-singla
Copy link
Contributor

@olivier-singla olivier-singla commented Jun 5, 2020

By changing the kernel ABI from version 6 to version 6-2, this will allow to disable the kernel ABI check which Debian performs at the very end of the kernel build.

In SONiC branch 201911 (Stretch), there is this patch which is applied:

packaging-update-abiname-to-11-2.patch

It changes the kernel ABI from 11 to 11-2

This has the side effect to disable the ABI check performed by the script
debian/bin/buildcheck.py

This is because the buildcheck.py script is looking to compare the file
debian/build/build_amd64_none_amd64/Module.symvers
(generated by the build)
with the file
debian/abi/4.9.0-11-2/amd64_none_amd64

But since the ABI has changed, the Debian file checked-in is still:
debian/abi/4.9.0-11/amd64_none_amd64

So buildcheck.py, not finding the file
debian/abi/4.9.0-11-2/amd64_none_amd64
just bails out, without error, and will not check the ABI change.

In SONiC latest master branch, based on Buster, there is no such patch to change the ABI.
The script buildcheck.py will then compare the file
debian/build/build_amd64_none_amd64/Module.symvers
with the file
debian/abi/4.19.0-6/amd64_none_amd64

so any ABI change will be effectively checked..

For example, the patch:
Support-for-fullcone-nat.patch
which apply fine with SONiC 201911 (Stretch) can not currently be applied in the master branch (Buster), because there is a change in a global kernel structure
(include/net/netfilter/nf_conntrack.h in this example).

Without changing the kernel ABI, many patches might just fail because the ABI check., this is why we want to change the kernel ABI.

Please note that this PR nnees also this PR:
sonic-net/sonic-buildimage#4711

By changing the kernel ABI from version 6 to version 6-2, this will allow
to disable the kernel ABI check which Debian performs at the very end of
the kernel build.
@olivier-singla olivier-singla changed the title Abi update Kernel ABI update from version 6 to version 6-2 Jun 5, 2020
@lguohan
Copy link
Contributor

lguohan commented Jun 8, 2020

if we later merge your kernel configure change pr, will abi number change?

@rajendra-dendukuri
Copy link

if we later merge your kernel configure change pr, will abi number change?

No. There will be no need to bump the ABI one more time after the NAT patch is pushed.

@lguohan
Copy link
Contributor

lguohan commented Jun 12, 2020

retest this please

@lguohan lguohan merged commit 0776e9f into sonic-net:master Jun 12, 2020
@lguohan lguohan linked an issue Jun 26, 2020 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ABI check in Buster
3 participants