2.5.4 Kernel Out
Saint Aardvark writes: "Just in time for my 30th birthday, the new kernel is out...how did he know? Thanks, Linus! Change log here. I usually stick to stable stuff, but I think I'll try this for fun." Reader Scooby Snacks writes: "Be sure to use the patches and pick from the fine list of mirrors."
See that middle number of the kernel version? Note that it is of the form 2n-1 where n>0, otherwise known as an odd number. Now, in the Linux world this means that it is a development kernel. D-E-V-E-L-O-P-M-E-N-T. In other words, extreme beta.
So, unless you wish to contribute to the kernel development or want a range of unknown problems, stick with the even middle-numbered kernels.
I've got a fever and the only prescription is more COBOL.
Use a 2.4.18-pre kernel if you want to try something experimental
Today there is a release of some sort in 4 kernel trees (see freshmeat.net):
2.0.40-rc2
2.2.21-pre2
2.4.18-pre7-ac3
And, of course, 2.5.4.
Granted, only one was a full revision bump, but to see updates in so many trees is neat.
XML is like violence. If it doesn't solve the problem, use more.
It'd be nice if they linked to the actual patch instead of some massive CGI output...
Is it just me not knowing/noticing something, or e-mail address of Dave M. has magically changed from davem@redhat.com to davem@pizda.ninka.net?
For people that do not read Russian: 'pizda' in Russian stands for 'C-word' and 'ninka' is a short form of female name.
On the top of the changelog, there are plenty of changes marked with
... it makes very, very bad look.
<davem@pizda.ninka.net>
The problem is that the word 'pizda' is one of the most rude curses in the Polish language (used to name women vagina). This is problably some kind of humor of Dave Miller (whose wife is Polish) but
After all, in case some 'adult filter' is implemented for Polish language, it will filter out the Linux change log.
Check out this link. It's a list of stuff to expect in 2.5
g lad-they-do-it" stuff.
.tar archive of modules and programs to the end of the kernel image, make a basic boot, unpack the tar file to a ram-based root filesystem then everything goes from userspace. If it's true that 2.5 will move to a completely modular kernel (as Alan Cox has hinted), this would be a much friendlier system than initrd.
/proc and building one big tree with all bus:es in it. Most comments I've seen circle much around how much easier it would be to implement a proper ACPI power management system with this and that it clears up /proc.
Follow the link to the posts if you want the details and discussions, if you don't, the items and a more human-readable explaination is below:
2.5.x API change summaries
o Shouldn't matter much as far as I could tell, mostly "heads up" to people writing programs that mess with the kernel.
o Block I/O layer changes:
The goal seems to be a more generic i/o scheduler while at the same time making it more efficient.
Typical "dont-understand-exactly-what-they-are-doing-but-
o initrd / initramfs:
initramfs is intended as a replacement for initrd. The basic idea seems to be to tack a
o SCSI changes
As always?
o driver model: driverfs
Driverfs seems to aim towards merging all bus-type weirdness that lives under
o reworking major/minor system
The currrent model of drivers having major/minor numbers is going to change to allow larger numbers (and therefore, more devices). May be some hairy details involved in changing such a "standard" size. Consent seems to be that apps that depend on a specific size are broken anyway.
o USB and WireLess API changes
I don't use any of these so I haven't got much to say, anyone with more interest/info?
o kbuild and CML2
The new configuration language and makefiles, these have been discussed earlier on slashdot (see here).
Details can be found here. The isos can be downloaded from here and all bug reports can be discussed here.
Very few 'really ugly' bugs have been found in the first beta, and we have been able to concentrate on hardware recognition, improving the *drake* tools, and updating the packages. For more details about what has changed since the beta1, and what should be tested, please wait for the articles in the "test this" serial.
There was a change to the API in this kernel release which breaks a bunch of drivers for the moment. Specifically, all drivers that allocate buffers using the kmalloc/__get_free_pages and virt_to_bus will not link. Right now, I can see atleast two groups of drivers affected: some USB, and the PCI sound drivers.
/* Copy and release all segment info associated with a VM */
/*
Even if you don't see the above problem, this kernel will not compile (atleast on most i386 systems) without the following patch:
--- linux-2.5.4/include/asm-i386/processor.h Sun Feb 10 22:00:29 2002
+++ 25/include/asm-i386/processor.h Sun Feb 10 22:21:53 2002
@@ -435,14 +435,7 @@ extern int kernel_thread(int (*fn)(void
extern void copy_segments(struct task_struct *p, struct mm_struct * mm);
extern void release_segments(struct mm_struct * mm);
-
-/*
- * Return saved PC of a blocked thread.
- */
-static inline unsigned long thread_saved_pc(struct task_struct *tsk)
-{
- return ((unsigned long *)tsk->thread->esp)[3];
-}
+extern unsigned long thread_saved_pc(struct task_struct *tsk);
unsigned long get_wchan(struct task_struct *p);
#define KSTK_EIP(tsk) (((unsigned long *)(4096+(unsigned long)(tsk)->thread_info))[1019])
--- linux-2.5.4/arch/i386/kernel/process.c Sun Feb 10 22:00:28 2002
+++ 25/arch/i386/kernel/process.c Sun Feb 10 22:26:35 2002
@@ -55,6 +55,14 @@ asmlinkage void ret_from_fork(void) __as
int hlt_counter;
+ * Return saved PC of a blocked thread.
+ */
+unsigned long thread_saved_pc(struct task_struct *tsk)
+{
+ return ((unsigned long *)tsk->thread.esp)[3];
+}
+
+/*
* Powermanagement idle function, if any..
*/
void (*pm_idle)(void);
-
-
w o r l d w i d e w e b e r
This will fix it... at least it did for me ;-)
Don't quote me on this.
beta?! More like pre-alpha!! Get a grip! This kernel, as with all other 2.5.x kernels, could seriously trash your system.