Gentoo Archives: gentoo-mips

From: Kumba <kumba@g.o>
To: gentoo-mips@l.g.o
Subject: Re: [gentoo-mips] Booting issues
Date: Tue, 01 Aug 2006 13:07:11
Message-Id: 44CF51F9.7030606@gentoo.org
In Reply to: [gentoo-mips] Booting issues by Richard
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 -- gentoo-mips@g.o mailing list