Richard wrote:
Hi,

I'm still trying to get my inaugural disk boot to work on my Octane 1. I've used Skylark's config file for the kernel build (as I couldn't find the official gentoo one, and the default gentoo install kernel doesn't seem to work for me anyway), but I get a fairly blunt error, with a few magic numbers.

The results of a boot attempt follow:
ARCLoader 0.43(...)
Loading configuration(...)
Loading scsi(0)(...)
Reading 5638216 bytes... OK.
Entering kernel.

NESTED EXCEPTION #1 (vid 0) at EPC: ffffffff9fc6819c; first exception at PC: 0

<EOF>

Any suggestions as to the problem, or potential solution? Where should I look for further information? Is there additional information I should provide? What troubleshooting advice is there? Has anyone else ever seen this?

This is a fresh, current Gentoo install...

Thanks for your help,

Richard


Apparently, this problem has been around, hiding for quite some time. None of us ever identified it as a RealProblem(TM) because when you netboot the kernel, the issue doesn't arise. Once I started testing bootable CDs again, I ran into it like a bird into a glass window.

I haven't had a chance to try and isolate what the exact cause is. I suspect the problem is in the Octane kernel patch itself rather than the Linux-mips tree, so I doubt using tools to hunt it down in git is going to pay off. The one solution I have discovered is below if you want to use disk-based booting:

1) Unmask gcc-4.1.1 by adding '>=sys-devel/gcc-4.1.1' to /etc/portage/package.unmask (without the quotes). You don't have to merge it yet, as it's not needed for fixing the kernel, but I made it a dependency of 2.6.17* for an upcoming nptl migration. It's safe to merge, however.

2) If you're running unstable (ACCEPT_KEYWORDS=~mips), then you can merge sys-kernel/mips-sources-2.6.17.7 (or whatever is latest). Otherwise, you'll need to add the following to /etc/portage/package.keywords temporarily:
        'sys-kernel/mips-sources ~mips'

3) Merge sys-devel/kgcc64-3.4.6 and unmerge sys-devel/gcc-mips64. kgcc64 replaces gcc-mips64, and as a bonus, includes all the patches and bugfixes we use in the main system compiler.

4) Compile a 2.6.17* kernel using the kgcc64 toolchain. It'll build only a kernel compiler, and you can use it much the same way as you did gcc-mips64.

Boot the resultant kernel, and my testing so far shows that it will boot. I'm still not sure how to go about tracking down the original problem. I have a feeling it's possibly bad kernel code that gets miscompiled in kernel versions from ~2.6.15 to ~2.6.16 (as 2.6.13* and 2.6.14* are known to boot off of disk/cdrom). Building a 2.6.17 kernel with gcc-mips64 also re-creates the problem, which somewhat indicates a compiler bug too. Hence the fuzzy nature of this critter.


--Kumba

--
Gentoo/MIPS Team Lead
Gentoo Foundation Board of Trustees

"Such is oft the course of deeds that move the wheels of the world: small hands do them because they must, while the eyes of the great are elsewhere." --Elrond
--
[email protected] mailing list

Reply via email to