2.4 not booting on 7600 (was: Re: 2.4.2 USB and "mon>")
Michel Lanners
mlan at cpu.lu
Fri Mar 9 18:05:40 EST 2001
Hi all,
On 7 Mar, this message from Benjamin Herrenschmidt echoed through cyberspace:
>>I've been unable to boot _any_ 2.3/2.4 kernels on my machine since
>>around 2.3.99 or a bit earlier. Some revisions would boot part of the
>>time, but most of them not at all. Symtom is always the same: hang
>>before initializing the framebuffer, i.e. still on the OF screen.
I should have added that there are some 2.4 kernels that _did_ boot
reliably: benh's 2.5 rsync tree (that's now dead, right?).
>>I get the 'retunring 0x... from prom_init' string, but nothing after
>>that.....
>
> That's weird ? I suppose you tried removing/moving PCI cards ?
No, because I have no reason to suspect a PCI card problem. I never had
those; I had non-functional cards because of the Io port trouble; but
never did any PCI problem lock up the box. Especially not that early in
the boot process....
But than again, I have a Matrox Millenium and a Promise IDE controller
in there; I could try removing the Matrox and see..
Also, this box has a G3 upgrade card, and seems to be weird in some
respect. I seem to be the only ne that couldn't boot from the internal
(MESH) bus with one specific hard disk; slowing the processor through
ICTC solved that problem....
> You can also try to hack printk so that it calls prom_prinf (or xmon_printf),
> that may help figure out where it goes wrong.
I'll get back to debugging. However, from my last tries in
November/December, I remember it hanging somewhere in the early stages
of init/main.c, in one of these files (this is from the patch with my
debuggiong printk's):
arch/ppc/kernel/pmac_pic.c
arch/ppc/kernel/pmac_time.c
arch/ppc/mm/init.c
This is the relevant part in init/main.c:
lock_kernel();
printk(linux_banner);
setup_arch(&command_line);
+if ( ppc_md.progress ) ppc_md.progress("main: setup_arch done", 0x3eab);
printk("Kernel command line: %s\n", saved_command_line);
+if ( ppc_md.progress ) ppc_md.progress("main: 1", 0x3eab);
parse_options(command_line);
+if ( ppc_md.progress ) ppc_md.progress("main: 2", 0x3eab);
trap_init();
+if ( ppc_md.progress ) ppc_md.progress("main: 3", 0x3eab);
init_IRQ();
+if ( ppc_md.progress ) ppc_md.progress("main: 4", 0x3eab);
sched_init();
+if ( ppc_md.progress ) ppc_md.progress("main: 5", 0x3eab);
time_init();
+if ( ppc_md.progress ) ppc_md.progress("main: 6", 0x3eab);
softirq_init();
+if ( ppc_md.progress ) ppc_md.progress("main: 7", 0x3eab);
Also, I've found that it would lock up at _different_ stages in early
boot, not at one specific step.
This led me to conclude that 2.4 kernels do something different in early
processor, memory or cache setup, which _may_ break something else
somewhere later.
But I'll try again and do some more debugging. Also, I'll try a boot
with the original 604/132 processor, to see whether that makes any
difference.
For the record, tried the latest bk tree yesterday evening: same hang.
Michel
-------------------------------------------------------------------------
Michel Lanners | " Read Philosophy. Study Art.
23, Rue Paul Henkes | Ask Questions. Make Mistakes.
L-1710 Luxembourg |
email mlan at cpu.lu |
http://www.cpu.lu/~mlan | Learn Always. "
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list