Kernel Log: Hardware and "3.0" difficulties
by Thorsten Leemhuis
The two-figure version numbers are still creating quite a bit of hassle that the developers are working hard to overcome. Inaccurate work by hardware manufacturers causes problems with rebooting and with the handling of UEFI hardware. The maintenance of kernel series 2.6.38 is soon to be discontinued.
Only hours after the first release candidate of Linux 3.0 was issued, the developers released the first patches to improve the way the kernel handles version numbers which consist of two, instead of three, numbers. Changes include a workaround which allows the version of the depmod program that was current until recently to cope with Linux 3.0. At the same time, a patch to fix the cause of the depmod problems was incorporated in version 3.13 of the module-init-tools, which were also released shortly after Linux 3.0-rc1. Several developers have suggested that, due to these and similar problems, Torvalds should consider using version number 3.0.0 instead of 3.0; however, the alpha male of Linux kernel development has so far not commented on this.
Joe Pranevich has released a draft of his article entitled "Wonderful World of Linux 3.0", in which he lists the most important kernel changes the developers have made over the past few years. Pranevich wrote a similar article when Linux 2.6.0 was released. However, David Lang is concerned that such a document could create the impression that Linux 3.0 is a major release; similar concerns have also been voiced by Willy Tarreau, who maintains kernel series 2.4 and 2.6.37. In his release email for 3.0-rc1, Torvalds tried to make it very clear that 3.0 won't offer any major new features over its series 2.6 predecessors, and that he is only using a new numbering scheme.
For several weeks, kernel hacker Matthew Garrett has put increased effort into fixing interaction problems between Linux and the UEFI (Unified Extensible Firmware Interface), a specification that replaces various BIOS functions on recent motherboards. Some of the frequently amusing descriptions of his findings and experiences can be found in his tweets and in the blog postings entitled "EFI implementation bugs" and "Trials and tribulations with EFI". There, the developer also mentions several corrections made to improve the situation in Linux 3.0; however, when tested in the c't research labs, hardly any of the desktop motherboards allowed current Linux distributions to be booted via UEFI.
The situation is similar to the ACPI situation years ago: the UEFI specification is unclear in some places, while in other areas, manufacturers don't fully comply with its requirements or use tricks to implement specific features. Linux has trouble with such issues, as many hardware manufacturers only use the current versions of Windows when testing whether everything works as intended.
ACPI and UEFI are not the only areas where problems arise because hardware manufacturers work with tricks and imprecision. Even something as seemingly simple as a reboot instruction can cause hardware interaction problems under Linux. Garrett provides some background in a blog posting; the developer says that some systems by Apple and Lenovo only perform a reboot if the reboot instructions arrive in a similar way to how they are sent by Windows. Patches to make the kernel do exactly that have been added to Linux 3.0.
Kernel version status
Greg Kroah-Hartman has released stable kernel 220.127.116.11 and long-term kernels 18.104.22.168 and 22.214.171.124. The former two come with the usual recommendation to switch to the new versions, as minor changes that are incorporated into stable and long-term kernels sometimes also include security fixes.
Stable kernels 126.96.36.199 and 188.8.131.52 are currently in preparation; they will probably be released on or just before the weekend, as the window for submitting comments will close on Friday afternoon. Kroah-Hartman plans to discontinue the maintenance of series .38 with the release of 184.108.40.206; he has advised users to switch to .39 kernels.