#8811 NORM Not Tri: OFW q2e19 breaks booting off of external drives
Zarro Boogs per Child
bugtracker at laptop.org
Sat Oct 11 03:40:50 EDT 2008
#8811: OFW q2e19 breaks booting off of external drives
-----------------------------------+----------------------------------------
Reporter: Progman3K | Owner: wmb at firmworks.com
Type: defect | Status: new
Priority: normal | Milestone: Not Triaged
Component: ofw - open firmware | Version: not specified
Resolution: | Keywords: hang
Next_action: never set | Verified: 0
Blockedby: | Blocking:
-----------------------------------+----------------------------------------
Comment(by wmb at firmworks.com):
The gentoolog.txt file is a log of the kernel (from gentooxo.zip) serial
port output when booted under my latest OFW test build Q2E19d. I also
tried it on stock Q2E19 with essentially identical results.
Linux appears to be starting and dying before it can take over the screen.
The first clue is on the fourth line of the Linux output:
BIOS-e801: 0000000000100000 - 0000000100000000 (usable)
That upper limit - 4 GiB - is bogus. The Geode processor can't even
address that much memory. Here is the corresponding line from an OLPC
kernel:
[ 0.000000] BIOS-e801: 0000000000100000 - 000000000e4a1800 (usable)
The gentoo kernel then proceeds to use 896MB of memory, but the XO only
has 256 MB total (including some that is reserved for the frame buffer and
OFW). It's allocating important data structures in nonexistent memory
and, not surprisingly, crashing.
So why is it is getting the wrong memory size? That information is
supposed to be passed in the "zero page" at 0x90000. Part of the zero
page info seems to be correct, because the cmdline value is reported
correctly, and the pointer to that is in the zero page.
Okay, I see the problem. A recent change to support new Fedora kernels
introduced a bug. If there is no ramdisk, OFW doesn't set the memory top
field in the zero page.
Here is a workaround: Add this line to olpc.fth, just before the "boot"
line:
memory-limit to linux-memtop
With that patch, the system gets a lot farther, dying with "No init
found", presumably because my USB key doesn't have a root filesystem on
it.
This fix has been added to the OFW source code as svn 985.
--
Ticket URL: <http://dev.laptop.org/ticket/8811#comment:3>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system
More information about the Bugs
mailing list