* MBX860: How to boot with initrd ?
@ 1999-01-08 23:49 Wolfgang Denk
1999-01-09 13:29 ` Wolfgang Denk
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Wolfgang Denk @ 1999-01-08 23:49 UTC (permalink / raw)
To: linuxppc-dev
Hi,
I'm trying to boot with `initrd' support on a MBX860 system. I know
how to configure and build the kernel, and I know how to build the
disk image, and I even seem to be able to build the zImage.initrd
image. But I must be missing something, because such an image will
not boot; all I see is:
...
Bytes Received =&941768, Bytes Loaded =&941768
Bytes/Second =&134538, Elapsed Time =7 Second(s)loaded at: 00210000 0030E440
relocated to: 00100000 001FE440
board data at: 023F4228 023F4250
relocated to: 00200100 00200128
zimage at: 00216000 002674C9
relocated to: 023A3000 023F44C9
initrd at: 002674C9 002E45DF
avail ram: 0030E440 023A3000
Linux/PPC load: console=tty0 console=ttyS0,9600n8
Uncompressing Linux...done.
Now booting the kernel
Then the system hangs, and I have to reset it.
Any help appreciated...
Let's assume that I want to populate the `initrd' with exactly the
same files as included in the `mbxroot.min.tgz' example. [This is
what I'm testing with, additionally I have only added a link
`/linuxrc' which points to `/bin/sh'].
What might be missing? I'm sure it's just a minor detail, however
critical :-(
TIA,
Wolfgang
--
Phone: (+49)-89-95720-110 Fax: (+49)-89-95720-112 wd@denx.muc.de
Office: (+49)-89-722-27328 Wolfgang.Denk@ICN.Siemens.DE
He who hesitates is not only lost, but miles from the next exit.
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: MBX860: How to boot with initrd ?
1999-01-08 23:49 MBX860: How to boot with initrd ? Wolfgang Denk
@ 1999-01-09 13:29 ` Wolfgang Denk
1999-01-09 19:29 ` Cort Dougan
1999-01-10 4:57 ` Dan Malek
2 siblings, 0 replies; 8+ messages in thread
From: Wolfgang Denk @ 1999-01-09 13:29 UTC (permalink / raw)
To: linuxppc-dev
F'up to my own message:
In message <199901082349.AAA13864@denx.muc.de> I wrote:
>
> I'm trying to boot with `initrd' support on a MBX860 system. I know
...
> Linux/PPC load: console=tty0 console=ttyS0,9600n8
> Uncompressing Linux...done.
> Now booting the kernel
>
> Then the system hangs, and I have to reset it.
I guess I should have mentioned that I know that I have to add a
"root=/dev/ram" to the command line when booting when using the
generic code. I have modified arch/ppc/boot/misc.c a bit; maybe this
in of general interest:
--- arch/ppc/boot/misc.c.ORIG Thu Dec 17 11:39:53 1998
+++ arch/ppc/boot/misc.c Sat Jan 9 14:05:25 1999
@@ -51,7 +51,15 @@
char *cmd_line = cmd_buf;
#if defined(CONFIG_MBX) || defined(CONFIG_FADS)
+#if defined(CONFIG_ROOT_NFS)
char *root_string = "root=/dev/nfs";
+#else
+# if defined(CONFIG_BLK_DEV_INITRD)
+char *root_string = "root=/dev/ram";
+# else
+char *root_string = "";
+# endif
+#endif
char *nfsaddrs_string = "nfsaddrs=";
char *nfsroot_string = "nfsroot=";
char *defroot_string = "/sys/mbxroot";
And, which makes things even more interesting: there was one kernel
where I was able to boot from the initrd; however, I got some error
messages from the hard disk:
Linux/PPC load: console=tty0 console=ttyS0,9600n8 root=/dev/ram
XXX Linux/PPC load: console=tty0 console=ttyS0,9600n8 root=/dev/ram
Uncompressing Linux...done.
Now booting the kernel
Linux version 2.2.0-pre5 (wd@denx.muc.de) (gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)) #3 Sat Jan 9 11:43:50 MET 1999
Boot arguments: console=tty0 console=ttyS0,9600n8 root=/dev/ram root=/dev/nfs nfsroot=/sys/mbxroot
time_init: decrementer frequency = 150000000/60
Calibrating delay loop... 39.63 BogoMIPS
Memory: 34996k available (592k kernel code, 744k data, 28k init) [c0000000,c2400000]
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Unix domain sockets 1.0 for Linux NET4.0.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
Starting kswapd v 1.5
CPM UART driver version 0.02
ttyS00 at 0x0280 is a SMC
ttyS01 at 0x0380 is a SMC
ttyS02 at 0x0100 is a SCC
ttyS03 at 0x0200 is a SCC
pty: 256 Unix98 ptys configured
RAM disk driver initialized: 16 RAM disks of 4096K size
hdc: probing with STATUS(0x80) instead of ALTSTATUS(0x08)
hdc: probing with STATUS(0x80) instead of ALTSTATUS(0x08)
hdc: no response (status = 0x80), resetting drive
hdc: probing with STATUS(0x80) instead of ALTSTATUS(0x08)
hdc: no response (status = 0x80)
hdg: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdg: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdg: no response (status = 0xa1), resetting drive
hdg: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdg: no response (status = 0xa1)
hdh: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdh: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdh: no response (status = 0xa1), resetting drive
hdh: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdh: no response (status = 0xa1)
hdc: probing with STATUS(0x80) instead of ALTSTATUS(0x08)
hdc: probing with STATUS(0x80) instead of ALTSTATUS(0x08)
hdc: no response (status = 0x80), resetting drive
hdc: probing with STATUS(0x80) instead of ALTSTATUS(0x08)
hdc: no response (status = 0x80)
hdg: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdg: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdg: no response (status = 0xa1), resetting drive
hdg: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdg: no response (status = 0xa1)
hdh: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdh: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdh: no response (status = 0xa1), resetting drive
hdh: probing with STATUS(0x24) instead of ALTSTATUS(0x08)
hdh: no response (status = 0xa1)
CPM ENET Version 0.1, 08:00:3e:26:38:4a
RAMDISK: Compressed image found at block 0
EXT2-fs warning: checktime reached, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).ê
### Initial RAM disk starting interactive shell ###
bash#
Ok, so I removed the IDE support from the configuration because I
don't need it right now; the kernel did not boot any more. Restored
the old configuration - didn't boot either.
Since then, all kernels hang the same way, and I don't have an idea
what might be wrong..
Wolfgang
--
Phone: (+49)-89-95720-110 Fax: (+49)-89-95720-112 wd@denx.muc.de
Office: (+49)-89-722-27328 Wolfgang.Denk@ICN.Siemens.DE
Harrisberger's Fourth Law of the Lab:
Experience is directly proportional to the
amount of equipment ruined.
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: MBX860: How to boot with initrd ?
1999-01-08 23:49 MBX860: How to boot with initrd ? Wolfgang Denk
1999-01-09 13:29 ` Wolfgang Denk
@ 1999-01-09 19:29 ` Cort Dougan
1999-01-10 4:57 ` Dan Malek
2 siblings, 0 replies; 8+ messages in thread
From: Cort Dougan @ 1999-01-09 19:29 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: linuxppc-dev
Does this source tree boot without the initrd?
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: MBX860: How to boot with initrd ?
[not found] <Pine.LNX.3.96.990109144040.12262A-100000@persephone.cs.nmt.edu>
@ 1999-01-10 1:53 ` Wolfgang Denk
0 siblings, 0 replies; 8+ messages in thread
From: Wolfgang Denk @ 1999-01-10 1:53 UTC (permalink / raw)
To: Cort Dougan; +Cc: linuxppc-dev
In message <Pine.LNX.3.96.990109144040.12262A-100000@persephone.cs.nmt.edu> you write:
> How big is your initrd? Try it with a trivial one (~2k or so) and see if
> that works.
I've been playing with a 4 MB initrd (I have 36 MB of RAM on the MBX
board). Just tried a 2kB initrd (empty, not even a filesystem in it);
but at least the kernel should boot, right? It hangs...
Hm... No luck with the latest snapshot of egcs either; it dies with
"Internal compiler error in function emit_move_insn_1"
But ok, the install of linuxppc-R4 on my PowerBook is running with
only minor problems so far...
Ok, now I tryed this with a set of native compilers: egcs-2.90.25 as
comes with linuxppc-R4, then egcs-1.1.1, and the latest egcs-19990103
snapshot:
egcs-19990103 both cross and native: "Internal compiler error in
function emit_move_insn_1" when compiling init/main.c (line
2663).
egcs-1.1.1 both cross and native: compiles fine, but the kernel hangs
egcs-2.90.25 native: compiles fine, and the kernel BOOTS!!! [*All*
configurations I failed to get running with the other
compiler versions run fine when I compile with egcs-2.90.25
from linuxppc-R4!]
Either I am too dumb to build EGCS, or ... Has anybodyy else seen
strange problems with later versions of egcs?
Wolfgang
--
Phone: (+49)-89-95720-110 Fax: (+49)-89-95720-112 wd@denx.muc.de
Office: (+49)-89-722-27328 Wolfgang.Denk@ICN.Siemens.DE
C makes it easy for you to shoot yourself in the foot. C++ makes that
harder, but when you do, it blows away your whole leg.
-- Bjarne Stroustrup
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: MBX860: How to boot with initrd ?
1999-01-08 23:49 MBX860: How to boot with initrd ? Wolfgang Denk
1999-01-09 13:29 ` Wolfgang Denk
1999-01-09 19:29 ` Cort Dougan
@ 1999-01-10 4:57 ` Dan Malek
1999-01-10 22:46 ` Troy Benjegerdes
2 siblings, 1 reply; 8+ messages in thread
From: Dan Malek @ 1999-01-10 4:57 UTC (permalink / raw)
To: Wolfgang Denk; +Cc: linuxppc-dev
Wolfgang Denk wrote:
> .... But I must be missing something, because such an image will
> not boot; all I see is:
Hmmm. I know initrd works because I use it quite often. All of the
memory relocation looks OK. Cort had a good suggestion, can you
build a kernel that boots using NFS (or at least boots to the point of
trying to mount the root fs).
> Linux/PPC load: console=tty0 console=ttyS0,9600n8
This looks a little weird. It should not be necessary and I
don't know what happens when it is used.
> Any help appreciated...
Look for 'log_buf' in your System.map. It will have an address
something like 'c00daa78'. When you reset the MBX, use the
EPPC-Bug to dump the memory starting at daa78 (in this example).
This is the text of the kernel printk until the serial device is
initialized. It may hold some clues.
You could also use 'noinitrd' on the command line to determine
if the problem is related to initrd or something else.
> Let's assume that I want to populate the `initrd' with exactly the
> same files as included in the `mbxroot.min.tgz' example. [This is
> what I'm testing with, additionally I have only added a link
> `/linuxrc' which points to `/bin/sh'].
That should work fine.
> What might be missing? I'm sure it's just a minor detail, however
> critical :-(
They always are :-). One wrong bit can screw up everything......
and you have a 50% change of getting it right :-).
-- Dan
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: MBX860: How to boot with initrd ?
[not found] <36986420.3281E1A4@wanadoo.fr>
@ 1999-01-10 22:29 ` Wolfgang Denk
0 siblings, 0 replies; 8+ messages in thread
From: Wolfgang Denk @ 1999-01-10 22:29 UTC (permalink / raw)
To: Martin Costabel; +Cc: linuxppc-dev
In message <36986420.3281E1A4@wanadoo.fr> you write:
>
> If you use egcs-1.1.1 from the rpms in Gary Thomas' directory on
> linuxppc.org, the kernel should build OK (C++ is a different story...).
> I also had problems with recent egcs versions:
You mean ftp://ftp.linuxppc.org/gary/redhat/RPMS/ppc/egcs*-1.1*ppc.rpm ?
They don't work for me - same result: no problems during compilation,
but the kernel hangs.
So far the only reliably working version of EGCS for me is the one in
linuxppc-R4 :-(
> I wrote about this to egcs-bugs and to this list, but there was no
> answer except one from Franz Sirl saying that he sees these errors, too.
Do you know if anybody takes care of this problem at all? [Especially
the missing availability of a cross development environment bites my
quite hard.]
Wolfgang
--
Phone: (+49)-89-95720-110 Fax: (+49)-89-95720-112 wd@denx.muc.de
Office: (+49)-89-722-27328 Wolfgang.Denk@ICN.Siemens.DE
Fascinating is a word I use for the unexpected.
-- Spock, "The Squire of Gothos", stardate 2124.5
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: MBX860: How to boot with initrd ?
1999-01-10 4:57 ` Dan Malek
@ 1999-01-10 22:46 ` Troy Benjegerdes
0 siblings, 0 replies; 8+ messages in thread
From: Troy Benjegerdes @ 1999-01-10 22:46 UTC (permalink / raw)
To: Dan Malek; +Cc: Wolfgang Denk, linuxppc-dev
On Sat, 9 Jan 1999, Dan Malek wrote:
>
> Wolfgang Denk wrote:
>
> > .... But I must be missing something, because such an image will
> > not boot; all I see is:
>
> Hmmm. I know initrd works because I use it quite often. All of the
> memory relocation looks OK. Cort had a good suggestion, can you
> build a kernel that boots using NFS (or at least boots to the point of
> trying to mount the root fs).
>
>
> > Linux/PPC load: console=tty0 console=ttyS0,9600n8
>
> This looks a little weird. It should not be necessary and I
> don't know what happens when it is used.
Actually, it's pretty handy, if you have a VGA display.. it will duplicate
everything printed to the console to tty0 (VGA) and ttyS0 (the serial
port). This is hardcoded in arch/ppc/boot somewhere.
I don't know how much this will help, but I have had some problems with
the bootloader when compiled with some versions of egcs on a Blackhawk
board. You could try compiling arch/ppc/boot/*.c with -O instead of -O2.
--------------------------------------------------------------------------
| Troy Benjegerdes | troy@microux.com | hozer@drgw.net |
| Unix is user friendly... You just have to be friendly to it first. |
| This message composed with 100% free software. http://www.gnu.org |
--------------------------------------------------------------------------
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: MBX860: How to boot with initrd ?
[not found] <19990111114251.006245@smtp.calvacom.fr>
@ 1999-01-11 21:38 ` Wolfgang Denk
0 siblings, 0 replies; 8+ messages in thread
From: Wolfgang Denk @ 1999-01-11 21:38 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev
In message <19990111114251.006245@smtp.calvacom.fr> you write:
>
> >You mean ftp://ftp.linuxppc.org/gary/redhat/RPMS/ppc/egcs*-1.1*ppc.rpm ?
> >
> >They don't work for me - same result: no problems during compilation,
> >but the kernel hangs.
> >
> >So far the only reliably working version of EGCS for me is the one in
> >linuxppc-R4 :-(
>
> Almost all the kernels I compile are with this version of egcs without
> any problem... They work just fine. Maybe egcs breaks something specific
> to your machine ? Are you using PReP or PowerMac ?
I've run some verification tests with above packages and my home
built cross compiler based on egcs-1.1.1: the plain MBX860 kernel
boots fine, but it hangs as soon as I try to use initrd as root
device.
So better be careful when you use these new compilers :-(
Wolfgang
--
Phone: (+49)-89-95720-110 Fax: (+49)-89-95720-112 wd@denx.muc.de
Office: (+49)-89-722-27328 Wolfgang.Denk@ICN.Siemens.DE
Quote from the Boss... "I didn't say it was your fault. I said I was
going to blame it on you."
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~1999-01-11 21:38 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-01-08 23:49 MBX860: How to boot with initrd ? Wolfgang Denk
1999-01-09 13:29 ` Wolfgang Denk
1999-01-09 19:29 ` Cort Dougan
1999-01-10 4:57 ` Dan Malek
1999-01-10 22:46 ` Troy Benjegerdes
[not found] <Pine.LNX.3.96.990109144040.12262A-100000@persephone.cs.nmt.edu>
1999-01-10 1:53 ` Wolfgang Denk
[not found] <36986420.3281E1A4@wanadoo.fr>
1999-01-10 22:29 ` Wolfgang Denk
[not found] <19990111114251.006245@smtp.calvacom.fr>
1999-01-11 21:38 ` Wolfgang Denk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).