Hanging in Init

5 messages, 5 authors, 2001-08-02 · open the first message on its own page

Hanging in Init

From: Mike O'Brien <hidden>
Date: 2001-08-01 18:01:59

I have been trying to get a custom PPC860 board up using MonteVista's Hard
Hat
2.0 distribution using a vxWorks bootrom.  I have made alot of progress in
the last
few days but have got stuck at the point here init is executed.  The IMMR is
set
to 0x02200000.  I ran across some old posts on the list referring to this
being set
too low for linux.  Could this be the problem?  If not does anyone have any
suggestions on what could be wrong?  Attached is the boot up output from the
console.

Thanks,
Mike O'Brien

Attaching network interface cpm0... done.
Attaching network interface lo0... done.
Loading... 504934
WARNING: CRC mismatch (calculated 0x1a946201 expected 0x017c1f7c)
Starting at 0x1180000...

loaded at:     01180000 0118A1DC
relocated to:  00180000 0018A1DC
board data at: 001801C0 001801DC
relocated to:  00200100 0020011C
zimage at:     01187000 011F828A
avail ram:     00201000 02000000

Linux/PPC load: root=/dev/nfs rw init=/bin/sh
Uncompressing Linux...done.
Now booting the kernel
Linux version 2.4.2_hhl20 (root@palm) (gcc version 2.95.3 20010315
(release/Mon1
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/nfs rw init=/bin/sh
Decrementer Frequency = 123750000/60
Warning: real time clock seems stuck!
Calibrating delay loop... 32.87 BogoMIPS
Memory: 30940k available (864k kernel code, 320k data, 48k init, 0k highmem)
Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Calling smp_init()...
Calling kernel_thread()...
Calling unlock_kernel()...
Entered init()...
Calling do_basic_setup()...
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd v1.8
i2c-core.o: i2c core module
CPM UART driver version 0.03
ttyS00 at 0x0280 is a SMC
pty: 256 Unix98 ptys configured
block: queued sectors max/low 20488kB/6829kB, 64 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
eth0: CPM ENET Version 0.2 on SCC1, 08:00:3e:26:15:59
loop: loaded (max 8 devices)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 2048)
Sending BOOTP requests.... OK
IP-Config: Got BOOTP answer from 192.168.101.239, my address is
192.168.101.98
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 192.168.101.239
Looking up port of RPC 100005/2 on 192.168.101.239
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 48k init 4k openfirmware
Unlock kernel...
Open console...
Call /sbin/init...

[hang]

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: Hanging in Init

From: Ricardo Scop <hidden>
Date: 2001-08-01 19:57:01

Mike,

As far as I know, Linux requires IMMR = 0xF0000000. Read the file
./Documentation/powerpc/SBC8260_memory_mapping.txt in the Linux source
tree for more information.

[]'s, Scop                            mailto:scop@digitel.com.br

Wednesday, August 01, 2001, 3:01:59 PM, you wrote:


MOB> I have been trying to get a custom PPC860 board up using MonteVista's Hard
MOB> Hat
MOB> 2.0 distribution using a vxWorks bootrom.  I have made alot of progress in
MOB> the last
MOB> few days but have got stuck at the point here init is executed.  The IMMR is
MOB> set
MOB> to 0x02200000.  I ran across some old posts on the list referring to this
MOB> being set
MOB> too low for linux.  Could this be the problem?  If not does anyone have any
MOB> suggestions on what could be wrong?  Attached is the boot up output from the
MOB> console.

MOB> Thanks,
MOB> Mike O'Brien

MOB> Attaching network interface cpm0... done.
MOB> Attaching network interface lo0... done.
MOB> Loading... 504934
MOB> WARNING: CRC mismatch (calculated 0x1a946201 expected 0x017c1f7c)
MOB> Starting at 0x1180000...

MOB> loaded at:     01180000 0118A1DC
MOB> relocated to:  00180000 0018A1DC
MOB> board data at: 001801C0 001801DC
MOB> relocated to:  00200100 0020011C
MOB> zimage at:     01187000 011F828A
MOB> avail ram:     00201000 02000000

MOB> Linux/PPC load: root=/dev/nfs rw init=/bin/sh
MOB> Uncompressing Linux...done.
MOB> Now booting the kernel
MOB> Linux version 2.4.2_hhl20 (root@palm) (gcc version 2.95.3 20010315
MOB> (release/Mon1
MOB> On node 0 totalpages: 8192
MOB> zone(0): 8192 pages.
MOB> zone(1): 0 pages.
MOB> zone(2): 0 pages.
MOB> Kernel command line: root=/dev/nfs rw init=/bin/sh
MOB> Decrementer Frequency = 123750000/60
MOB> Warning: real time clock seems stuck!
MOB> Calibrating delay loop... 32.87 BogoMIPS
MOB> Memory: 30940k available (864k kernel code, 320k data, 48k init, 0k highmem)
MOB> Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
MOB> Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
MOB> Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
MOB> Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
MOB> POSIX conformance testing by UNIFIX
MOB> Calling smp_init()...
MOB> Calling kernel_thread()...
MOB> Calling unlock_kernel()...
MOB> Entered init()...
MOB> Calling do_basic_setup()...
MOB> Linux NET4.0 for Linux 2.4
MOB> Based upon Swansea University Computer Society NET3.039
MOB> Starting kswapd v1.8
MOB> i2c-core.o: i2c core module
MOB> CPM UART driver version 0.03
MOB> ttyS00 at 0x0280 is a SMC
MOB> pty: 256 Unix98 ptys configured
MOB> block: queued sectors max/low 20488kB/6829kB, 64 slots per queue
MOB> RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
MOB> eth0: CPM ENET Version 0.2 on SCC1, 08:00:3e:26:15:59
MOB> loop: loaded (max 8 devices)
MOB> NET4: Linux TCP/IP 1.0 for NET4.0
MOB> IP Protocols: ICMP, UDP, TCP, IGMP
MOB> IP: routing cache hash table of 512 buckets, 4Kbytes
MOB> TCP: Hash tables configured (established 2048 bind 2048)
MOB> Sending BOOTP requests.... OK
MOB> IP-Config: Got BOOTP answer from 192.168.101.239, my address is
MOB> 192.168.101.98
MOB> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
MOB> Looking up port of RPC 100003/2 on 192.168.101.239
MOB> Looking up port of RPC 100005/2 on 192.168.101.239
MOB> VFS: Mounted root (nfs filesystem).
MOB> Freeing unused kernel memory: 48k init 4k openfirmware
MOB> Unlock kernel...
MOB> Open console...
MOB> Call /sbin/init...

MOB> [hang]

MOB> ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: Hanging in Init

From: Der Herr Hofrat <hidden>
Date: 2001-08-01 20:33:02

MOB> I have been trying to get a custom PPC860 board up using MonteVista's Hard
MOB> Hat
MOB> 2.0 distribution using a vxWorks bootrom.  I have made alot of progress in
MOB> the last
MOB> few days but have got stuck at the point here init is executed.  The IMMR is
MOB> set
MOB> to 0x02200000.  I ran across some old posts on the list referring to this
MOB> being set
MOB> too low for linux.  Could this be the problem?  If not does anyone have any
MOB> suggestions on what could be wrong?  Attached is the boot up output from the
MOB> console.

MOB> Thanks,
MOB> Mike O'Brien

MOB> Attaching network interface cpm0... done.
MOB> Attaching network interface lo0... done.
MOB> Loading... 504934
MOB> WARNING: CRC mismatch (calculated 0x1a946201 expected 0x017c1f7c)
MOB> Starting at 0x1180000...

MOB> loaded at:     01180000 0118A1DC
MOB> relocated to:  00180000 0018A1DC
MOB> board data at: 001801C0 001801DC
MOB> relocated to:  00200100 0020011C
MOB> zimage at:     01187000 011F828A
MOB> avail ram:     00201000 02000000

MOB> Linux/PPC load: root=/dev/nfs rw init=/bin/sh
MOB> Uncompressing Linux...done.
MOB> Now booting the kernel
MOB> Linux version 2.4.2_hhl20 (root@palm) (gcc version 2.95.3 20010315
MOB> (release/Mon1
MOB> On node 0 totalpages: 8192
MOB> zone(0): 8192 pages.
MOB> zone(1): 0 pages.
MOB> zone(2): 0 pages.
MOB> Kernel command line: root=/dev/nfs rw init=/bin/sh
MOB> Decrementer Frequency = 123750000/60
MOB> Warning: real time clock seems stuck!
MOB> Calibrating delay loop... 32.87 BogoMIPS
MOB> Memory: 30940k available (864k kernel code, 320k data, 48k init, 0k highmem)
MOB> Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
MOB> Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
MOB> Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
MOB> Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
MOB> POSIX conformance testing by UNIFIX
MOB> Calling smp_init()...
MOB> Calling kernel_thread()...
MOB> Calling unlock_kernel()...
MOB> Entered init()...
MOB> Calling do_basic_setup()...
MOB> Linux NET4.0 for Linux 2.4
MOB> Based upon Swansea University Computer Society NET3.039
MOB> Starting kswapd v1.8
MOB> i2c-core.o: i2c core module
MOB> CPM UART driver version 0.03
MOB> ttyS00 at 0x0280 is a SMC
MOB> pty: 256 Unix98 ptys configured
MOB> block: queued sectors max/low 20488kB/6829kB, 64 slots per queue
MOB> RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
MOB> eth0: CPM ENET Version 0.2 on SCC1, 08:00:3e:26:15:59
MOB> loop: loaded (max 8 devices)
MOB> NET4: Linux TCP/IP 1.0 for NET4.0
MOB> IP Protocols: ICMP, UDP, TCP, IGMP
MOB> IP: routing cache hash table of 512 buckets, 4Kbytes
MOB> TCP: Hash tables configured (established 2048 bind 2048)
MOB> Sending BOOTP requests.... OK
MOB> IP-Config: Got BOOTP answer from 192.168.101.239, my address is
MOB> 192.168.101.98
MOB> NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
MOB> Looking up port of RPC 100003/2 on 192.168.101.239
MOB> Looking up port of RPC 100005/2 on 192.168.101.239
MOB> VFS: Mounted root (nfs filesystem).
MOB> Freeing unused kernel memory: 48k init 4k openfirmware
MOB> Unlock kernel...
MOB> Open console...
MOB> Call /sbin/init...
try


Linux/PPC load: root=/dev/nfs rw nfsroot=A.B.C.D:/NFSROOT nfsaddrs=IP_OF_TARGET:IP_OF_NFSROOT_SERVER:IP_OF_DEFAULT_GATEWAY:NETMASK

so I use

Linux/PPC load: root=/dev/nfs rw nfsroot=192.168.1.2:/ppc nfsaddrs=192.168.1.22:192.168.1.2:192.168.1.8:255.255.255.0

how should it ever find /sbin/init if it never mounts the nfs-root filesystem ?
and from the kernel messages you sent it did not mount any root filesystem .

hofrat

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: Hanging in Init

From: Jan Roelens <hidden>
Date: 2001-08-02 19:43:20

You can't run a dynamically linked program unless you fix glibc regarding the cache line size.
The 860 has a cache line size of 16 bytes instead of 32 bytes.

Since you use a distribution, I suppose your glibc has been patched.


As far as IMMR is concerned:
1. The boot program sets up the immr register with the start address of the immr region.
2. That start address can be anything, as long as it does not cause your immr region
to overlap any other memory regions (dram, flash,, etc)
3. The kernel assigns a mmu page for the immr region. Some kernels read the immr register to find the address, others use a symbol. Even if they read the immr register, there may be other places in the kernel , which use the symbol (IMAP_ADDR e.g.).
That symbol MUST be set to the same value as the value in the immr register! E.g include/asm/tqm8xx.h defines such a symbol.

Mike O'Brien wrote:
I have been trying to get a custom PPC860 board up using MonteVista's Hard
Hat
2.0 distribution using a vxWorks bootrom.  I have made alot of progress in
the last
few days but have got stuck at the point here init is executed.  The IMMR is
set
to 0x02200000.  I ran across some old posts on the list referring to this
being set
too low for linux.  Could this be the problem?  If not does anyone have any
suggestions on what could be wrong?  Attached is the boot up output from the
console.

Thanks,
Mike O'Brien

Attaching network interface cpm0... done.
Attaching network interface lo0... done.
Loading... 504934
WARNING: CRC mismatch (calculated 0x1a946201 expected 0x017c1f7c)
Starting at 0x1180000...

loaded at:     01180000 0118A1DC
relocated to:  00180000 0018A1DC
board data at: 001801C0 001801DC
relocated to:  00200100 0020011C
zimage at:     01187000 011F828A
avail ram:     00201000 02000000

Linux/PPC load: root=/dev/nfs rw init=/bin/sh
Uncompressing Linux...done.
Now booting the kernel
Linux version 2.4.2_hhl20 (root@palm) (gcc version 2.95.3 20010315
(release/Mon1
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/nfs rw init=/bin/sh
Decrementer Frequency = 123750000/60
Warning: real time clock seems stuck!
Calibrating delay loop... 32.87 BogoMIPS
Memory: 30940k available (864k kernel code, 320k data, 48k init, 0k highmem)
Dentry-cache hash table entries: 4096 (order: 3, 32768 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 2048 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Calling smp_init()...
Calling kernel_thread()...
Calling unlock_kernel()...
Entered init()...
Calling do_basic_setup()...
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd v1.8
i2c-core.o: i2c core module
CPM UART driver version 0.03
ttyS00 at 0x0280 is a SMC
pty: 256 Unix98 ptys configured
block: queued sectors max/low 20488kB/6829kB, 64 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
eth0: CPM ENET Version 0.2 on SCC1, 08:00:3e:26:15:59
loop: loaded (max 8 devices)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 2048)
Sending BOOTP requests.... OK
IP-Config: Got BOOTP answer from 192.168.101.239, my address is
192.168.101.98
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 192.168.101.239
Looking up port of RPC 100005/2 on 192.168.101.239
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 48k init 4k openfirmware
Unlock kernel...
Open console...
Call /sbin/init...

[hang]

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: Hanging in Init

From: Mark Hatle <hidden>
Date: 2001-08-02 20:15:35

Yes the MontaVista glibc handles cache line size issues correctly.  (As
well as soft floating point so you do not need in kernel floating point
emulation.)

Jan Roelens wrote:
You can't run a dynamically linked program unless you fix glibc regarding the cache line size.
The 860 has a cache line size of 16 bytes instead of 32 bytes.

Since you use a distribution, I suppose your glibc has been patched.
...
Mike O'Brien wrote:
quoted
I have been trying to get a custom PPC860 board up using MonteVista's Hard
Hat
2.0 distribution using a vxWorks bootrom.  I have made alot of progress in
...
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help