Bug 118288 - kernel freezes at desktop when booting via BootX on "WallStreet II" PowerBook G3
kernel freezes at desktop when booting via BootX on "WallStreet II" PowerBook G3
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
powerpc Linux
medium Severity high
: ---
: ---
Assigned To: Arjan van de Ven
Brian Brock
Depends On:
  Show dependency treegraph
Reported: 2004-03-15 00:33 EST by Barry K. Nathan
Modified: 2007-11-30 17:10 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2004-03-25 05:19:28 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Barry K. Nathan 2004-03-15 00:33:33 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115

Description of problem:
Boot on a "WallStreet II" (I think; definitely some kind of
"WallStreet" anyway) PowerBook G3, via BootX, freezes before the BootX
early text console appears. After I click "Linux", the hard drive
shuts off, the mouse pointer disappears, and the computer freezes (the
Finder desktop is still visible at this point).

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Install kernel-2.6.4-1.270.ppc.rpm.
2. Copy /boot/vmlinuz-2.6.4-1.270 to the Linux Kernels folder inside
the System Folder on your (hfsplus in my case) Mac OS 9 partition.
(Optionally copy the initrd as well, although I can't get far enough
for that to matter.)
3. Reboot into Mac OS 9.
4. Start the BootX application/control panel/whatever-it-is.
5. Choose the 2.6.4-1.270 kernel.
6. Remove any "video=..." options and select "No video driver".
7. If necessary, configure BootX to not load an initrd.
8. Click "Linux".

Actual Results:  BootX closes up, mouse pointer disappears, computer

Expected Results:  BootX closes up, mouse pointer disappears, screen
turns black, about half a screenful of white text appears, the screen
is cleared again, and a penguin appears in the upper left corner of
the screen.

Additional info:

Originally this PowerBook had a 233MHz G3 (*with* backside cache!!)
and 96MB of RAM. In the last several months I've upgraded it to a
500MHz G3 (Sonnet if it matters) and 512MB of RAM, although that
should not be relevant; the machine still works with Yellow Dog 2.4.20
and 2.4.22 kernels, as well as mainline 2.4 kernels (most recently

A few minutes ago I copied a vmlinux over from a PowerMac G4 running
Gentoo and mainline 2.6.1, and repeated the steps here. That got as
far as showing the penguin in the upper-left corner. I stopped the
boot at that point because that kernel's config is *way* too stripped
down for this PowerBook, but at least it proves that a 2.6.x kernel
can get past the early BootX console on this setup.

That still leaves a lot of variables to be eliminated, but I will
begin work on that now.
Comment 1 Barry K. Nathan 2004-03-15 02:28:48 EST
Mainstream 2.6.4-bk2 boots (at least up to the penguin in the corner;
I'm still using the .config from the PowerMac G4 for now). 2.6.4-1.270
recompiled on the same machine with essentially the same .config as my
2.6.4-bk2 compile still freezes on the desktop.

I guess I'll once again start trying to locate which patch causes the
problem -- if I have time.
Comment 2 Barry K. Nathan 2004-03-15 02:29:27 EST
(make that "causes or reveals")
Comment 3 Arjan van de Ven 2004-03-15 03:14:32 EST
it could be a problem in the .config just as well, or the fact that
the kernel gets built with -g and then stripped.....
Unfortionately I have no ppc box to play with this and thus entirely
depend on other people to find such things ;(
Comment 4 Barry K. Nathan 2004-03-15 06:29:19 EST
The problem happens when patch 10000 (linux-2.6.0-compile.patch) is
applied, and does not happen when that patch is not applied. This is
100% reproducible. Now I just need to figure out which part of that
patch is causing (or revealing) the problem...
Comment 5 Arjan van de Ven 2004-03-15 06:51:11 EST
looking over that patch I see nothing really suspect that would touch
non-x86..... odd. Maybe the gcc inlining changes :(
Comment 6 Barry K. Nathan 2004-03-15 07:16:14 EST
Here's the guilty part of the patch:

--- linux-2.6.3/arch/ppc/syslib/Makefile~       2004-03-09
15:43:56.387923120 +0100
+++ linux-2.6.3/arch/ppc/syslib/Makefile        2004-03-09
15:43:56.387923120 +0100
@@ -9,8 +9,6 @@
 EXTRA_AFLAGS           := -Wa,-m405
-CFLAGS_prom_init.o      += -mrelocatable-lib
-CFLAGS_btext.o          += -mrelocatable-lib
 obj-$(CONFIG_PPCBUG_NVRAM)     += prep_nvram.o
 obj-$(CONFIG_44x)              += ibm44x_common.o

If *either* line is removed, the boot process freezes. As long as both
lines are in, the kernel boots.

There's a comment about this at the top of prom_init.c.

I'm dying to know why this was hunk was in the patch, but anyway, what
I really care about is just getting rid of it for the next kernel, so
that it can actually boot on my system.
Comment 7 Arjan van de Ven 2004-03-15 07:18:46 EST
I removed those because they made gcc ICE and our gcc maintainer said
they were broken... seems we need to go back to the drawing table on
that one.
Comment 8 Barry K. Nathan 2004-03-15 07:46:02 EST
They don't seem to make gcc (3.3.3-2.1) ICE for me, FWIW... 

Here's the distribution archive for the bootloader I'm using (I think
it comes with source code):

It's in the proprietary StuffIt compresion format (that's the de facto
standard on Mac OS 9.x and earlier) but, if it would help, I could
decompress it on a Mac OS X machine and then turn the source code into
a tarball. Be aware, though, that's it's a Mac OS program -- that's
how it avoids total reliance on the broken Open Firmware
implementations in older PPC Macs like mine.
Comment 9 Barry K. Nathan 2004-03-15 09:36:53 EST
Ugh, it looks like whether the compile succeeds with -mrelocatable-lib
depends on the .config. (I think.) I got a compile failure with the
default .config.

If I figure anything else out, I'll let you know. I'll probably have
to set this problem aside for the moment, however.
Comment 10 Arjan van de Ven 2004-03-15 16:10:27 EST
found a decent enough workaround for now;
uploaded the kernel with it to people.redhat.com/arjanv/2.5
thanks for digging this out!
Comment 11 Barry K. Nathan 2004-03-16 08:54:45 EST
There is now a "ppc32-build-fix.patch" in 2.6.5-rc1-mm1. It's from one
of the upstream PPC people, and (modulo whitespace) I think it matches
what you did in 2.6.4-1.275; it may be the real fix and not just a

2.6.4-1.275 boots for me now. Without getting into detail yet, I'm
running into other problems, but I want to make more progress in
troubleshooting before I bugzilla anything (I *strongly* suspect that
if my problems are not a .config error then they're upstream bugs).
Comment 12 Barry K. Nathan 2004-03-18 06:46:01 EST
FWIW, "ppc32-build-fix.patch" is now included upstream as of
Comment 13 Barry K. Nathan 2004-03-25 05:19:28 EST
This bug is fixed upstream. 2.6.4-1.288 (maybe some earlier kernels
too) appears to have the upstream fix AFAIK, and it seems to work, so
I'm closing this bug.

Note You need to log in before you can comment on or make changes to this bug.