linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* 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 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 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 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 --
     [not found] <Pine.LNX.3.96.990109144040.12262A-100000@persephone.cs.nmt.edu>
1999-01-10  1:53 ` MBX860: How to boot with initrd ? Wolfgang Denk
     [not found] <19990111114251.006245@smtp.calvacom.fr>
1999-01-11 21:38 ` Wolfgang Denk
     [not found] <36986420.3281E1A4@wanadoo.fr>
1999-01-10 22:29 ` Wolfgang Denk
1999-01-08 23:49 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

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).