Understanding kernel abi bumps for Ubuntu
stefan.bader at canonical.com
Wed Sep 16 08:38:04 UTC 2009
Luis R. Rodriguez wrote:
> I'd like to further understand the reasoning for kernel ABI bumps for
> Ubuntu. From what I gather from the documentation  this is to keep
> binary compatibility, so that if a package is built on an older kernel
> we know when a newer kernel introduced _something_ which would make
> the old binary package not work on a kernel with a newer ABI. Does
> that sum it up?
> If so I'd like to know if someone can elaborate on what could be that
Something comes down to modified structures (used as arguments in exported
function) and removal of exported functions. The target really are the
externally build modules and not the userspace.
> I run old userspace on newer kernels all the time, and I don't see any
> issues upgrading, nor do I see a reason for old userspace to not work
> on newer kernels. In fact when newer kernels break old userspace that
> is a bug. An exception that I can think of is when we document
> something old for removal on
> Documentation/feature-removal-schedule.txt and then remove it from a
> new kernel. But that's an exception and these exceptions get wide
> review prior to removal.
> Another change which could affect userspace is a change in the kernel
> configuration used. A clear example here is disabling
> CONFIG_WIRELESS_EXT which you can now do. This would mean you *do*
> need new userspace utilities to allow you to use nl80211. But
> distributions won't be disabling this for a long time, so
> wireless-extensions will always be available.
I had cases where changes to /sys made live a bit harder for user-space and we
were/are expecting some potential issues with wireless and the move to the crda
in user-space. I had some problems the opposite way after pulling in the x--org
edgers testing code and after that being unable to go back to a non-kms kernel.
But you could say that is all problems in user-space and those won't and cannot
be related to the ABI number.
> When someone tells me they cannot upgrade their kernel due to old
> tools, I consider this an excuse, I'd like to know if there are real
> examples you come up with which do not fit in the above mentioned
Before most (if not all) of the external modules/drivers where DKMSed you had
troubles when using a newer (in that case the ABI number) kernel while the
external modules were not available for that version. That way you could loose
your gui but DKMS helps a lot there.
>  https://help.ubuntu.com/community/Kernel/Compile
When all other means of communication fail, try words!
More information about the kernel-team