Working kernels can be built in Maverick with any one of these:

1. Disabled CONFIG_RELOCATABLE.  That makes the problem go away,
    and it makes a bunch of build warnings go away too (they indicate the
    problem, and they really should cause the build to fail, but they just 
warn).
2. Use an older Binutils linker.  The problem is caused by a change in the 
behaviour
    of linker build scripts in a particular corner case, which is hit by the 
x86 Linux linker script,
    but only affects CONFIG_RELOCATABLE=y.

3. Judging by the patch comments below, use a newer Binutils linker.  I
haven't tried this.

4. Take a look at mainline kernel commits.  For me a patch similar to the older 
one below
    fixed booting with Maverick built kernels on *32-bit* x86.  The "reported 
boot failures"
    were x86_64 only as far as I can tell, so this might not help with x86_64.

        6b35eb9ddcddde7b510726de03fae071178f1ec4
        Date:   Wed Jan 19 10:09:42 2011 +0100
        Revert "x86: Make relocatable kernel work with new binutils"

        This reverts commit 86b1e8dd83cb ("x86: Make relocatable kernel work 
with
        new binutils").
    
        Markus Trippelsdorf reported a boot failure caused by this patch.
    
        The real solution to the original patch will likely involve an
        arch-generic solution to define an overlaid jiffies_64 and jiffies
        variables.
    
        Until that's done and tested on all architectures revert this commit to
        solve the regression.

   which reverts the Maverick build fix you are looking for....

        86b1e8dd83cbb0fcbf3d61d2b461df8be1f528cf
        Date:   Tue Jan 18 08:57:49 2011 +0800
        x86: Make relocatable kernel work with new binutils
    
        The CONFIG_RELOCATABLE=y option is broken with new binutils, which will 
make
        boot panic.
    
        According to Lu Hongjiu, the affected binutils are from 2.20.51.0.12 to
        2.21.51.0.3, which are release since Oct 22 this year. At least ubuntu 
10.10 is
        using such binutils. See:
    
           http://sourceware.org/bugzilla/show_bug.cgi?id=12327

        The reason of the boot panic is that we have 'jiffies = jiffies_64;' in
        vmlinux.lds.S. The jiffies isn't in any section. In kernel build, there 
is
        warning saying jiffies is an absolute address and can't be relocatable. 
At
        runtime, jiffies will have virtual address 0.

5. Enjoy the thread at http://www.gossamer-
threads.com/lists/linux/kernel/1328685

** Bug watch added: Sourceware.org Bugzilla #12327
   http://sourceware.org/bugzilla/show_bug.cgi?id=12327

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/673236

Title:
  maverick toolchain producing unbootable (hanging) kernels

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to