Slashdot Mirror


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."

4 of 206 comments (clear)

  1. Think before you grab it by Nighttime · · Score: 4, Informative

    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.
  2. Werid day... by Junta · · Score: 4, Informative

    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.
  3. Re:What's good about 2.5 by Alphix · · Score: 4, Informative

    Check out this link. It's a list of stuff to expect in 2.5
    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-g lad-they-do-it" stuff.

    o initrd / initramfs:
    initramfs is intended as a replacement for initrd. The basic idea seems to be to tack a .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.

    o SCSI changes
    As always?

    o driver model: driverfs
    Driverfs seems to aim towards merging all bus-type weirdness that lives under /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.

    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).

  4. Major breakage in this kernel. by worldwideweber · · Score: 5, Informative

    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.

    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
    /* Copy and release all segment info associated with a VM */
    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