Skip to contentSkip to conversation

zImage.elf loads but not starts

DISCUSSION Mirek23 7 participants 29 messages Apr 19, 2007 – May 25, 2007

lore
Share & tools
lore

Mirek23

author
#0 lore raw

Hi All,

I am just trying to build, load and run the kernel 2.6 on ppc405 of the
Avnet evaluation board which uses Xilinx Virtex 4 FX-12 chip (ml403 like).

I have downloaded the kernel 2.6 from Grant using git. I have downloaded ELDK 4.1 to my PC.
I have compiled successfully the kernel with the crosscompiler from ELDK 4.1.

So far so good.

The kernel configuration was done according to the spec on the page:
http://www.linux.get2knowmore.com/2006/06/30/quick-guide-linux-26-on-xilinx-virtex-ii-pro-boards-part-i/

I have set during configuration phase additional parameters:

Default bootloader kernel arguments:
console=ttyS0

* 8250/16550 and compatible serial support
* Console on 8250/16550 and compatible serial support

* Initial RAM filesystem and RAM disk (initramfs/initrd) suppor

*RAM disk support
16 Default number of RAM disks
8192 Default RAM disk size (kbytes)
(1024) Default RAM disk block size (bytes)
---------------------------------------------------------------------------

when I use objdump -h zImage.elf I get:

arch/ppc/boot/images/zImage.elf: file format elf32-big

Sections:

Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00003848  00400000  00400000  00010000  2**2

CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 000f5000 00404000 00404000 00014000 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .bss 0000213c 004f9000 004f9000 00109000 2**2
ALLOC
3 .debug_abbrev 00000c3a 00000000 00000000 00109000 2**0
CONTENTS, READONLY, DEBUGGING
4 .debug_info 0000267d 00000000 00000000 00109c3a 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_line 00000bc8 00000000 00000000 0010c2b7 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_frame 000004c0 00000000 00000000 0010ce80 2**2
CONTENTS, READONLY, DEBUGGING
7 .debug_loc 00002c7c 00000000 00000000 0010d340 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_pubnames 000003c5 00000000 00000000 0010ffbc 2**0
CONTENTS, READONLY, DEBUGGING
9 .debug_aranges 00000120 00000000 00000000 00110381 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_ranges 00000078 00000000 00000000 001104a1 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_str 00000ae0 00000000 00000000 00110519 2**0
CONTENTS, READONLY, DEBUGGING
12 .note.GNU-stack 00000000 00000000 00000000 00110ff9 2**0
CONTENTS, READONLY

To load the zImage.elf to the SDRAM of my Avent evaluation board I use JTAG and Xilinx XMD program:

XMD% dow zImage.elf

        section, .text: 0x00400000-0x00403848
        section, .data: 0x00404000-0x004f0000
        section, .bss: 0x004f0000-0x004f21a0

Downloaded Program zImage.elf
Setting PC with program start addr = 0x00400000
PC reset to 0x00400000, Clearing MSR Register
XMD% run
PC reset to 0x00400000, Clearing MSR Register
Processor started. Type "stop" to stop processor
RUNNING> stop

I do not see any output in the XMD session nor in the minicom window connected to the Xilinx serial port.

It seems to be that the kernel did not start.

The Avent board has 32 MB of SD RAM. Before loading the zImage.elf I have loaded the bitstream to setup the Xillinx FPGA.

Do you have an idea what could be wrong.

Best Regards

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10079346
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
author
#1 lore raw

Re: zImage.elf loads but does not start

I have revised the xparameters_ml403.h and the setup of the FPGA part. I have found that the interrupt for the RS232 was not configured. Right now I was able to come to the point when the kernel was uncompressed but it did not start:

loaded at: 00400000 004F9138

board data at: 004F7120 004F7138

relocated to: 00404064 0040407C

zimage at: 00404DF1 004F6BBB

avail ram: 004FA000 04000000

Linux/PPC load: console=ttl0,9600 ip=129.129.129.29 root=/dev/ram rw

Uncompressing Linux...done.

Now booting the kernel

Does anybody has an idea what could be wrong?

Best Regards

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10142161
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#2 lore raw

RE: zImage.elf loads but does not start

Quoted 2 lines · Mirek

... Right now I was
able to come to the point when the kernel was uncompressed but it did

not

Quoted 1 line

start:

You cannot tell that. Most likely you still have problem with serial (though one cannot be sure). Please try this: go to drivers/serial/8250.c, find the line=20

#ifdef SERIAL_PORT_DFNS

and add=20

#undef SERIAL_PORT_DFNS

right before it. See what happens.

Leonid.

author
#3 lore raw

RE: zImage.elf loads but does not start

Thanks for the suggestions. I have changed the command line argument:
console:ttl0 -> ttyUL0 and kernel has booted up to the point to mount the root file system.

I have set up the kernel to mount the root file systems via the nfs. I have started the nfs server on the remote pc.
Unfortunately the kernel did not mount the nfs root file system. The strange thing is that during booting the kernel I did not see any entry which refers to the TEMAC driver (which I have enabled in the kernel).

I have noticed that in the drivers/net/xilinx_temac directory there is a file xtemac_g.c. It creates the global variable (a table) which contains all fo the definitions to configure TEMAC interface. All of the definitions used in the xtemac_g.c file come from xparameters_ml403.h. The strange thing is that this xtemac_g.c is not include in the Makefile to be compiled.

I have incluede that file to the Makefile in order to use the TEMAC config parameters but when booting the kernel I did not find any diffrence compering to the driver which was originaly built without the xtemac_g.c

The kernel boots as following:

loaded at:     00400000 004F9138 
board data at: 004F7120 004F7138 
relocated to:  004040B8 004040D0 
zimage at:     00404E45 004F6D1F 
avail ram:     004FA000 04000000 

Linux/PPC load: console=ttyUL0,9600 root=/dev/nfs rw nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp ip=129.129.129.29:255.255.255.0:LM200:eth0:off panic=1

Uncompressing Linux...done.
Now booting the kernel

[    0.000000] Linux version 2.6.21-rc6-gd4bba4bf-dirty (root@pc5215) (gcc 
version 4.0.2) #8 Tue Apr 24 14:51:35 CEST 2007 
[    0.000000] Xilinx ML403 Reference System (Virtex-4 FX) 
[    0.000000] Zone PFN ranges: 
[    0.000000]   DMA             0 ->    16384 
[    0.000000]   Normal      16384 ->    16384 
[    0.000000] early_node_map[1] active PFN ranges 
[    0.000000]     0:        0 ->    16384 
[    0.000000] Built 1 zonelists.  Total pages: 16256 
[    0.000000] Kernel command line: console=ttyUL0,9600 root=/dev/nfs rw 
nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp 
ip=129.129.129.29:255.255.255.0:LM200:eth0:off panic=1 
[    0.000000] Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFF000 
[    0.000000] PID hash table entries: 256 (order: 8, 1024 bytes) 
[    0.000418] Console: colour dummy device 80x25 
[    0.001487] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) 
[    0.003212] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) 
[    0.034378] Memory: 62720k available (1568k kernel code, 512k data, 96k 
init, 0k highmem) 
[    0.121194] Mount-cache hash table entries: 512 
[    0.129484] NET: Registered protocol family 16 
[    0.162553] NET: Registered protocol family 2 
[    0.196706] IP route cache hash table entries: 1024 (order: 0, 4096 
bytes) 
[    0.197898] TCP established hash table entries: 2048 (order: 2, 16384 
bytes) 
[    0.198605] TCP bind hash table entries: 2048 (order: 1, 8192 bytes) 
[    0.199040] TCP: Hash tables configured (established 2048 bind 2048) 
[    0.199126] TCP reno registered 
[    0.219619] io scheduler noop registered 
[    0.219727] io scheduler anticipatory registered (default) 
[    0.219807] io scheduler deadline registered 
[    0.220367] io scheduler cfq registered 
[    0.321949] uartlite.0: ttyUL0 at MMIO 0x40600003 (irq = 0) is a uartlite 
[    2.254924] RAMDISK driver initialized: 1 RAM disks of 8192K size 1024 
blocksize 
[    2.346633] tun: Universal TUN/TAP device driver, 1.6 
[    2.407407] tun: (C) 1999-2004 Max Krasnyansky <[email protected]> 
[    2.485482] mice: PS/2 mouse device common for all mice 
[    2.548404] TCP cubic registered 
[    2.587334] NET: Registered protocol family 1 
[    2.639671] NET: Registered protocol family 17 
[    3.197934] IP-Config: No network devices available. 
[    3.259979] Looking up port of RPC 100003/2 on 129.129.130.106 
[    3.331237] Root-NFS: Unable to get nfsd port number from server, using 
default 
[    3.419194] Looking up port of RPC 100005/1 on 129.129.130.106 
[    3.490204] Root-NFS: Unable to get mountd port number from server, using 
default 
[    3.581337] Root-NFS: Server returned error -5 while mounting 
/opt/eldk41/ppc_4xx 
[    3.671568] VFS: Unable to mount root fs via NFS, trying floppy. 
[    3.747080] VFS: Cannot open root device "nfs" or unknown-block(2,0) 
[    3.823496] Please append a correct "root=" boot option 
[    3.886242] Kernel panic - not syncing: VFS: Unable to mount root fs on 
unknown-block(2,0) 
[    3.985551] Rebooting in 1 seconds..<NULL> 

Would you have any idea why it did not recognise the TEMAC interface and how to configure the kernel that it recognises the network device.

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10165159
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#4 lore raw

Re: zImage.elf loads but does not start

AFAICT, the TEMAC device has not been registered on the platform bus. You should add this stuff to arch/ppc/syslib/virtex_devices.c (if you use the recent patches by Grant Likely).

xtemac_g.c is not used in 2.6 TEMAC driver(s I have seen).

Thanks,
Andrei

Quoted 32 lines · Mirek23 wrote:

Thanks for the suggestions. I have changed the command line argument: console:ttl0 -> ttyUL0 and kernel has booted up to the point to mount the root file system.

I have set up the kernel to mount the root file systems via the nfs. I have
started the nfs server on the remote pc. Unfortunately the kernel did not mount the nfs root file system. The strange thing is that during booting the kernel I did not see any entry which refers
to the TEMAC driver (which I have enabled in the kernel).

I have noticed that in the drivers/net/xilinx_temac directory there is a file xtemac_g.c. It creates the global variable (a table) which contains all fo the definitions to configure TEMAC interface. All of the definitions used in the xtemac_g.c file come from xparameters_ml403.h. The strange thing is that this xtemac_g.c is not include in the Makefile to be compiled.

I have incluede that file to the Makefile in order to use the TEMAC config parameters but when booting the kernel I did not find any diffrence compering to the driver which was originaly built without the xtemac_g.c

The kernel boots as following:

loaded at: 00400000 004F9138 board data at: 004F7120 004F7138 relocated to: 004040B8 004040D0 zimage at: 00404E45 004F6D1F avail ram: 004FA000 04000000

Linux/PPC load: console=ttyUL0,9600 root=/dev/nfs rw nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp ip=129.129.129.29:255.255.255.0:LM200:eth0:off panic=1

Uncompressing Linux...done. Now booting the kernel [ 0.000000] Linux version 2.6.21-rc6-gd4bba4bf-dirty (root@pc5215) (gcc version 4.0.2) #8 Tue Apr 24 14:51:35 CEST 2007 [ 0.000000] Xilinx ML403 Reference System (Virtex-4 FX) [ 0.000000] Zone PFN ranges: [ 0.000000] DMA 0 -> 16384 [ 0.000000] Normal 16384 -> 16384 [ 0.000000] early_node_map[1] active PFN ranges [ 0.000000] 0: 0 -> 16384 [ 0.000000] Built 1 zonelists. Total pages: 16256 [ 0.000000] Kernel command line: console=ttyUL0,9600 root=/dev/nfs rw nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp ip=129.129.129.29:255.255.255.0:LM200:eth0:off panic=1 [ 0.000000] Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFF000 [ 0.000000] PID hash table entries: 256 (order: 8, 1024 bytes) [ 0.000418] Console: colour dummy device 80x25 [ 0.001487] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.003212] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.034378] Memory: 62720k available (1568k kernel code, 512k data, 96k init, 0k highmem) [ 0.121194] Mount-cache hash table entries: 512 [ 0.129484] NET: Registered protocol family 16 [ 0.162553] NET: Registered protocol family 2 [ 0.196706] IP route cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.197898] TCP established hash table entries: 2048 (order: 2, 16384 bytes) [ 0.198605] TCP bind hash table entries: 2048 (order: 1, 8192 bytes) [ 0.199040] TCP: Hash tables configured (established 2048 bind 2048) [ 0.199126] TCP reno registered [ 0.219619] io scheduler noop registered [ 0.219727] io scheduler anticipatory registered (default) [ 0.219807] io scheduler deadline registered [ 0.220367] io scheduler cfq registered [ 0.321949] uartlite.0: ttyUL0 at MMIO 0x40600003 (irq = 0) is a uartlite [ 2.254924] RAMDISK driver initialized: 1 RAM disks of 8192K size 1024 blocksize [ 2.346633] tun: Universal TUN/TAP device driver, 1.6 [ 2.407407] tun: (C) 1999-2004 Max Krasnyansky <[email protected]> [ 2.485482] mice: PS/2 mouse device common for all mice [ 2.548404] TCP cubic registered [ 2.587334] NET: Registered protocol family 1 [ 2.639671] NET: Registered protocol family 17 [ 3.197934] IP-Config: No network devices available. [ 3.259979] Looking up port of RPC 100003/2 on 129.129.130.106 [ 3.331237] Root-NFS: Unable to get nfsd port number from server, using default [ 3.419194] Looking up port of RPC 100005/1 on 129.129.130.106 [ 3.490204] Root-NFS: Unable to get mountd port number from server, using default [ 3.581337] Root-NFS: Server returned error -5 while mounting /opt/eldk41/ppc_4xx [ 3.671568] VFS: Unable to mount root fs via NFS, trying floppy. [ 3.747080] VFS: Cannot open root device "nfs" or unknown-block(2,0) [ 3.823496] Please append a correct "root=" boot option [ 3.886242] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0) [ 3.985551] Rebooting in 1 seconds..<NULL>

Would you have any idea why it did not recognise the TEMAC interface and how to configure the kernel that it recognises the network device.

Mirek

author
#5 lore raw

RE: zImage.elf loads but does not start

In reply to Mirek23

I came to the point with my kernel 2.6 (patched by Grant) struggle on ml403 that it reaches the
stage to mount nfs root file system from the computer which is on another segment of the network:

[    2.565946] eth%d: XTemac: PHY detected at address 3.
[    2.629348] eth0: Xilinx TEMAC #0 at 0x81200000 mapped to 0xC5020000,rq=1
[    2.713113] eth0: XTemac id 1.0f, block id 5, type 8
[    2.774335] mice: PS/2 mouse device common for all mice
[    2.837152] TCP cubic registered
[    2.876220] NET: Registered protocol family 1
[    2.928569] NET: Registered protocol family 17
[    3.485990] eth0: XTemac: Options: 0xb8f2
[    7.517827] eth0: XTemac: We renegotiated the speed to: 100
[    7.584504] eth0: XTemac: speed set to 100Mb/s
[    8.652764] IP-Config: Unable to set interface netmask (-22).
[    8.724733] Looking up port of RPC 100003/2 on 129.129.130.106

It cannot however go through the gateway because the macaddress is not properly set (ie. it is set to 00:00:00:00).
My command line argument looks like:

CONFIG_CMDLINE="console=ttyUL0,9600 root=/dev/nfs rw nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp macaddr=00:50:c2:46:d8:01 ip=129.129.129.29:129.129.130.106:129.129.129.1:255.255.255.0:ML403:eth0:off panic=1"

Does somebody know why the macaddress is not taken into account.

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10323147
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#6 lore raw

Re: zImage.elf loads but does not start

Quoted 21 lines · Mirek23 wrote:

I came to the point with my kernel 2.6 (patched by Grant) struggle on ml403 that it reaches the stage to mount nfs root file system from the computer which is on another segment of the network:

[    2.565946] eth%d: XTemac: PHY detected at address 3.
[    2.629348] eth0: Xilinx TEMAC #0 at 0x81200000 mapped to 0xC5020000,rq=1
[    2.713113] eth0: XTemac id 1.0f, block id 5, type 8
[    2.774335] mice: PS/2 mouse device common for all mice
[    2.837152] TCP cubic registered
[    2.876220] NET: Registered protocol family 1
[    2.928569] NET: Registered protocol family 17
[    3.485990] eth0: XTemac: Options: 0xb8f2
[    7.517827] eth0: XTemac: We renegotiated the speed to: 100
[    7.584504] eth0: XTemac: speed set to 100Mb/s
[    8.652764] IP-Config: Unable to set interface netmask (-22).
[    8.724733] Looking up port of RPC 100003/2 on 129.129.130.106

It cannot however go through the gateway because the macaddress is not properly set (ie. it is set to 00:00:00:00).
My command line argument looks like:

Quoted 9 lines

CONFIG_CMDLINE="console=ttyUL0,9600 root=/dev/nfs rw nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp macaddr=00:50:c2:46:d8:01 ip=129.129.129.29:129.129.130.106:129.129.129.1:255.255.255.0:ML403:eth0:off panic=1"

Does somebody know why the macaddress is not taken into account.

Mirek

Not sure how "macaddr=" in the cmdline is processed, but here is what I've used to play with TEMAC (this is essentially a copy from 2.4 kernels). The patch is few month old, and could not apply cleanly. Especially now when the Xilinx Virtex boards has been switched to the u-boot's bd_t structure (a very recent change by Grant Likely; probably not yet in the tree you are using). So this patch is rather an illustration.

Thanks,
Andrei

arch/ppc/boot/simple/embed_config.c +14 -0
@@ -778,6 +778,20 @@ embed_config(bd_t ** bdp)
        bd->bi_intfreq = XPAR_CORE_CLOCK_FREQ_HZ;
        bd->bi_busfreq = XPAR_PLB_CLOCK_FREQ_HZ;
        bd->bi_pci_busfreq = XPAR_PCI_0_CLOCK_FREQ_HZ;
+
+       /* Set the address to Xilinx's preferred default.
+        * However, first to eliminate a compiler warning
+        * because we don't really use def_enet_addr,
+        * we'll reference it. The compiler
+        * optimizes it away so no harm done. */
+       bd->bi_enetaddr[0] = def_enet_addr[0];
+       bd->bi_enetaddr[0] = 0x00;
+       bd->bi_enetaddr[1] = 0x0A;
+       bd->bi_enetaddr[2] = 0x35;
+       bd->bi_enetaddr[3] = 0x00;
+       bd->bi_enetaddr[4] = 0x22;
+       bd->bi_enetaddr[5] = 0x00;
+
        timebase_period_ns = 1000000000 / bd->bi_tbfreq;
        /* see bi_tbfreq definition in arch/ppc/platforms/4xx/xilinx_ml300.h */
 }
author
#7 lore raw

Re: zImage.elf loads but does not start

Thank you Andrei for your hint. I have hard-coded the mac address in the arch/ppc/boot/simple/embed_config.c. Maybe it is not the most elegant solution but it works.

Right now I was able to mount the root file system via nfs but it seems to be still somthing missing:

[    0.000000] Kernel command line: console=ttyUL0,9600 root=/dev/nfs rw

nfsroot
=129.129.130.106:/opt/eldk41/ppc_4xx,tcp macaddr=00:50:c2:46:d8:01 ip=129.129.10 7.50:129.129.130.106:129.129.107.1:255.255.255.0:ml403-mirek:eth0:off panic=1

[    0.000000] Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFF000
[    0.000000] PID hash table entries: 256 (order: 8, 1024 bytes)
[    0.000424] Console: colour dummy device 80x25
[    0.001483] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.003209] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.034369] Memory: 62720k available (1572k kernel code, 508k data, 96k
init,
 0k highmem)
[    0.121167] Mount-cache hash table entries: 512
[    0.129517] NET: Registered protocol family 16
[    0.166530] NET: Registered protocol family 2
[    0.204693] IP route cache hash table entries: 1024 (order: 0, 4096
bytes)
[    0.205867] TCP established hash table entries: 2048 (order: 2, 16384
bytes)
[    0.206574] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.207009] TCP: Hash tables configured (established 2048 bind 2048)
.
.
.
[    2.670863] XTemac: using FIFO direct interrupt driven mode.
[    2.739134] eth%d: XTemac: PHY detected at address 3.
[    2.802585] eth0: Xilinx TEMAC #0 at 0x81200000 mapped to 0xC5040000,
irq=1
[    2.886290] eth0: XTemac id 1.0f, block id 5, type 8
[    2.947439] mice: PS/2 mouse device common for all mice
[    3.010300] TCP cubic registered
[    3.049323] NET: Registered protocol family 1
[    3.101718] NET: Registered protocol family 17
[    3.661970] eth0: XTemac: Options: 0xb8f2
[    7.693861] eth0: XTemac: We renegotiated the speed to: 100
[    7.760541] eth0: XTemac: speed set to 100Mb/s
[    8.830367] IP-Config: Complete:
[    8.867105]       device=eth0, addr=129.129.107.50, mask=255.255.255.0,
gw=129.129.107.1,
[    8.964390]      host=ml403-mirek, domain=, nis-domain=(none),
[    9.034414]      bootserver=129.129.130.106, rootserver=129.129.130.106,
rootpath=
[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init
[    9.422162] Warning: unable to open an initial console.

To satisfy last problem "unable to open an initial console" I have created an entry in the /opt/eldk41/ppc_4xx/dev directory:

mknod ttyUL0 c 204 187
ln -s ttyUL0 console

I have rebooted the kernel once again and this time kernel has reached the point as listed below.:

 [    8.964390]      host=ml403-mirek, domain=, nis-domain=(none),
[    9.034414]      bootserver=129.129.130.106, rootserver=129.129.130.106,
rootpath=
[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init

I do not know if the console was taken into account or not (the warning has disapeared but I am not able to ping
to my board nor telnet to it).

Any idea what could be wrong?

I use the root file system from eldk4.1:
/opt/eldk41/ppc_4xx/etc/inittab:
-------------------------------------------------------------------------------------------------------
id:3:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# UPS connected and working correctly. pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

# Run gettys in standard runlevels 3:2345:respawn:/sbin/mingetty --noclear console
-----------------------------------------------------------------------------------------------------------------------------------------
The contents of the /opt/eldk41/ppc_4xx/etc/rc3.d/ is as following:

K15appWeb K80random S12syslog
_S30mouse-emulation
K70mouse-emulation K90network _S20random S56xinetd
K75netfs S10network S25netfs S99local

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10372619
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#8 lore raw

RE: zImage.elf loads but does not start

Read this
http://www.denx.de/wiki/view/DULG/ELDKMountingTargetComponentsViaNFS.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On = Behalf
Of Mirek23
Sent: Tuesday, May 08, 2007 2:46 AM
To: [email protected]
Subject: Re: zImage.elf loads but does not start

Thank you Andrei for your hint. I have hard-coded the mac address in the

arch/ppc/boot/simple/embed_config.c. Maybe it is not the most elegant solution but it works.

Right now I was able to mount the root file system via nfs but it seems to
be still somthing missing:

[    0.000000] Kernel command line: console=3DttyUL0,9600 =

root=3D/dev/nfs rw
nfsroot
=3D129.129.130.106:/opt/eldk41/ppc_4xx,tcp macaddr=3D00:50:c2:46:d8:01 ip=3D129.129.10 7.50:129.129.130.106:129.129.107.1:255.255.255.0:ml403-mirek:eth0:off panic=3D1

[    0.000000] Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFF000
[    0.000000] PID hash table entries: 256 (order: 8, 1024 bytes)
[    0.000424] Console: colour dummy device 80x25
[    0.001483] Dentry cache hash table entries: 8192 (order: 3, 32768
bytes)
[    0.003209] Inode-cache hash table entries: 4096 (order: 2, 16384
bytes)
[    0.034369] Memory: 62720k available (1572k kernel code, 508k data,
96k
init,
 0k highmem)
[    0.121167] Mount-cache hash table entries: 512
[    0.129517] NET: Registered protocol family 16
[    0.166530] NET: Registered protocol family 2
[    0.204693] IP route cache hash table entries: 1024 (order: 0, 4096
bytes)
[    0.205867] TCP established hash table entries: 2048 (order: 2, 16384
bytes)
[    0.206574] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.207009] TCP: Hash tables configured (established 2048 bind 2048)
.
.
.
[    2.670863] XTemac: using FIFO direct interrupt driven mode.
[    2.739134] eth%d: XTemac: PHY detected at address 3.
[    2.802585] eth0: Xilinx TEMAC #0 at 0x81200000 mapped to 0xC5040000,
irq=3D1
[    2.886290] eth0: XTemac id 1.0f, block id 5, type 8
[    2.947439] mice: PS/2 mouse device common for all mice
[    3.010300] TCP cubic registered
[    3.049323] NET: Registered protocol family 1
[    3.101718] NET: Registered protocol family 17
[    3.661970] eth0: XTemac: Options: 0xb8f2
[    7.693861] eth0: XTemac: We renegotiated the speed to: 100
[    7.760541] eth0: XTemac: speed set to 100Mb/s
[    8.830367] IP-Config: Complete:
[    8.867105]       device=3Deth0, addr=3D129.129.107.50,
mask=3D255.255.255.0,
gw=3D129.129.107.1,
[    8.964390]      host=3Dml403-mirek, domain=3D, nis-domain=3D(none),
[    9.034414]      bootserver=3D129.129.130.106,
rootserver=3D129.129.130.106,
rootpath=3D
[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init
[    9.422162] Warning: unable to open an initial console.

To satisfy last problem "unable to open an initial console" I have created
an entry in the /opt/eldk41/ppc_4xx/dev directory:

mknod ttyUL0 c 204 187
ln -s ttyUL0 console

I have rebooted the kernel once again and this time kernel has reached the
point as listed below.:

 [    8.964390]      host=3Dml403-mirek, domain=3D, nis-domain=3D(none),
[    9.034414]      bootserver=3D129.129.130.106,
rootserver=3D129.129.130.106,
rootpath=3D
[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init

I do not know if the console was taken into account or not (the warning has
disapeared but I am not able to ping
to my board nor telnet to it).

Any idea what could be wrong?

I use the root file system from eldk4.1:
/opt/eldk41/ppc_4xx/etc/inittab:
------------------------------------------------------------------------
-------------------------------
id:3:initdefault:

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

# UPS connected and working correctly. =20 pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it. pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

# Run gettys in standard runlevels 3:2345:respawn:/sbin/mingetty --noclear console
------------------------------------------------------------------------
-----------------------------------------------------------------
The contents of the /opt/eldk41/ppc_4xx/etc/rc3.d/ is as following:

K15appWeb K80random S12syslog =20
_S30mouse-emulation
K70mouse-emulation K90network _S20random S56xinetd
K75netfs S10network S25netfs
S99local
--=20
View this message in context:
http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10
372619
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#9 lore raw

Re: zImage.elf loads but does not start

Quoted 8 lines · Leonid

rootpath=

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init
[    9.422162] Warning: unable to open an initial console.

The exact device node this requires is /dev/console c 5 1 That should solve your issue.

Cheers,
Adrian.

#10 lore raw

RE: zImage.elf loads but does not start

I find this usually happens when /dev/tty, /dev/console or /dev/ttyS0 are not setup properly. That is, they are files instead of nodes. This menas you have mounted the root filesystem and init is running on that root filesystem.

Charles

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Adrian Craine
Sent: Tuesday, May 08, 2007 2:50 PM
To: Leonid
Cc: [email protected]; Mirek23
Subject: Re: zImage.elf loads but does not start

Quoted 8 lines · Leonid

rootpath=3D

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init
[    9.422162] Warning: unable to open an initial console.

=20

The exact device node this requires is /dev/console c 5 1 That should solve your issue.

Cheers,
Adrian.
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

author
#11 lore raw

RE: zImage.elf loads but does not start

Thank you for all of the advices.
I did more study on that problem but still without the success.

1. I did redd the ELDK manual and I have invoked :
ELDK_FIXOWNER
ELDK_MAKEDEV

in the "dev" directory there were created many nodes like that:

crw-rw-rw-    1 root     root       5,   1 May  8 15:42 console
crw-rw-rw-    1 root     root       4,  64 May  8 15:42 ttyS0

In the kernel command line configuration I have the entry :
CONFIG_CMDLINE="console=ttyUL0,9600 root=/dev/nfs rw nfsroo ...

so I have created by hand the node:
crw-rw-rw- 1 root root 204, 187 May 8 15:44 ttyUL0

Unfortunately the kernel boots to the point:

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init

and after that it hangs.

I have made some modifications to the kernel init/main.c file. In that file I have inserted the printk statements to
see how far the kernel goes. It seems to be that the last thing it does it executes the sbin/init command and it hangs.

Instead of the sbin/init I have tried to execute other commands like bin/echo this_is_text_string
and bin/echo this_is_test >> /var/log/messages

the modification looks like (init/main.c):
before modification:

        printk("test 3\n");
        run_init_process("/sbin/init");
        printk("test 4\n");
after modification
        printk("test 3\n");
        run_init_process("/bin/echo ala");
        run_init_process("/bin/echo buba >> /var/log/messages");
        printk("test 4\n");

In both cases the last thing which was printed is "test 3" The /var/log/messages remains empty.

I thought that it might be the uart_lite driver is the source of the problem. I rebuild the kernel configuring it for the standard UART driver instead of the uart_lite.
This time my command line looks like:
CONFIG_CMDLINE="console=ttyS0,9600 root=/dev/nfs rw nfsroo ...

When booting the kernel configured with the UART I see anything printed on the screen so it is even worse than before.

Do you have any suggestions.

Best Regards

Mirek

Quoted 42 lines · Charles Krinke

I find this usually happens when /dev/tty, /dev/console or /dev/ttyS0 are not setup properly. That is, they are files instead of nodes. This menas you have mounted the root filesystem and init is running on that root filesystem.

Charles

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Adrian Craine
Sent: Tuesday, May 08, 2007 2:50 PM
To: Leonid
Cc: [email protected]; Mirek23
Subject: Re: zImage.elf loads but does not start

Quoted 8 lines · Leonid

rootpath=

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init
[    9.422162] Warning: unable to open an initial console.

The exact device node this requires is /dev/console c 5 1 That should solve your issue.

Cheers,
Adrian.
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10409434
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#12 lore raw

RE: zImage.elf loads but does not start

Hi Mirek,

I am facing the same exact problem. I am using the ML403 with standard
UART but using initramfs to generate the root file system. My root
file system contains the /dev/console node and a simple init file that
basically just tries to print out something. I can tell it is finding
my /dev/console because I don't get the kernel warning : "Unable to open
an initial console" (If I remove the /dev/console node I get the
warning)=20

My init program is just a simple hello world program (built statically)

printf("Hello World")
sleep(10)

I can tell that the program is running because after exactly 10seconds I get a kernel panic, which indicates the end of the program, however I can never see any messages from user space.

I also tried a statically built version of busybox as my init file but still get no output.

my filesystem is built from the following file (using initramfs functionality, which creates the root file system from this file)

dir /dev 755 0 0
nod /dev/console 644 0 0 c 5 1
nod /dev/ttyS0 644 0 0 c 4 64
dir /proc 755 0 0
dir /sys 755 0 0
file /init usr/busybox 755 0 0

I received one bit of information to check my interrrupt lines, but I see Grant replied that the serial console is polled, so the interrupt line is probably not the problem.

Please let me know if you make any progress...
Joe

=20

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf = Of
Mirek23
Sent: Thursday, May 10, 2007 4:45 AM
To: [email protected]
Subject: RE: zImage.elf loads but does not start

Thank you for all of the advices.
I did more study on that problem but still without the success.

1. I did redd the ELDK manual and I have invoked :
ELDK_FIXOWNER
ELDK_MAKEDEV

in the "dev" directory there were created many nodes like that:

crw-rw-rw-    1 root     root       5,   1 May  8 15:42 console
crw-rw-rw-    1 root     root       4,  64 May  8 15:42 ttyS0

In the kernel command line configuration I have the entry :
CONFIG_CMDLINE=3D"console=3DttyUL0,9600 root=3D/dev/nfs rw nfsroo ...

so I have created by hand the node:
crw-rw-rw- 1 root root 204, 187 May 8 15:44 ttyUL0

Unfortunately the kernel boots to the point:

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init

and after that it hangs.

I have made some modifications to the kernel init/main.c file. In that file I have inserted the printk statements to see how far the kernel goes. It seems to be that the last thing it does it executes the sbin/init command and it hangs.

Instead of the sbin/init I have tried to execute other commands like bin/echo this_is_text_string and bin/echo this_is_test >> /var/log/messages

the modification looks like (init/main.c):
before modification:

        printk("test 3\n");
        run_init_process("/sbin/init");
        printk("test 4\n");
after modification
        printk("test 3\n");
        run_init_process("/bin/echo ala");
        run_init_process("/bin/echo buba >> /var/log/messages");
        printk("test 4\n");

In both cases the last thing which was printed is "test 3" The /var/log/messages remains empty.

I thought that it might be the uart_lite driver is the source of the problem. I rebuild the kernel configuring it for the standard UART driver instead of the uart_lite.
This time my command line looks like:
CONFIG_CMDLINE=3D"console=3DttyS0,9600 root=3D/dev/nfs rw nfsroo ...

When booting the kernel configured with the UART I see anything printed on the screen so it is even worse than before.

Do you have any suggestions.

Best Regards

Mirek

Quoted 29 lines · Charles Krinke

=20
I find this usually happens when /dev/tty, /dev/console or /dev/ttyS0=20 are not setup properly. That is, they are files instead of nodes. This

menas you have mounted the root filesystem and init is running on that

root filesystem.
=20
Charles
=20
=20
-----Original Message-----
From: [email protected] [mailto:[email protected]] On=20 Behalf Of Adrian Craine
Sent: Tuesday, May 08, 2007 2:50 PM
To: Leonid
Cc: [email protected]; Mirek23
Subject: Re: zImage.elf loads but does not start
=20

Quoted 8 lines · Leonid

rootpath=3D

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init
[    9.422162] Warning: unable to open an initial console.

=20

Quoted 15 lines

The exact device node this requires is /dev/console c 5 1 That should=20 solve your issue.
=20
Cheers,
Adrian.
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
=20
=20

--
View this message in context:
http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10
409434
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

author
#13 lore raw

RE: zImage.elf loads but does not start

Hi Joe,

Thank you very much for your e-mail. I did similar thing as you.
I have prepared simple init program to substitute one in /sbin :

#include <stdio.h>
#include <unistd.h>

int main(int argc, char *argv[])

{
    char myStr[30];

    printf("Enter the string!\n");
    gets(myStr);
    printf("My string is %s\n",myStr);
    sleep(60);
}

When I booted the kernel I have got a prompted "Enter the string!" I was also able to type from the keyboard the string.
When I pressed ENTER I have got "My string is <the string I have typed>"

It seems to be that the console works fine and the root file system is mounted properly via NFS.
I do not however understand why eldk4.1 init does not work.

I have reinstalled the eldk4.1 but still kernel boots to the point when it executes the init.

I have tried to build the busybox and i have it installed in the place of /opt/eldk41/ppc_4xx .
I have added to the ppc_4xx directory the dev/console.

When I rebooted the kernel it said that init was not found. I made sure that init was pointing to ../bin/busybox
I have even copied busybox binary in place of init to have init as a regular file but each time kernel was complaining that init is missing. Strange :(

Would you or somebody else recommend me the way how to build the root file system which I could use for my ppc board.

Best Regards

Mirek

Quoted 187 lines · Joseph

Hi Mirek,

I am facing the same exact problem. I am using the ML403 with standard
UART but using initramfs to generate the root file system. My root
file system contains the /dev/console node and a simple init file that
basically just tries to print out something. I can tell it is finding
my /dev/console because I don't get the kernel warning : "Unable to open
an initial console" (If I remove the /dev/console node I get the
warning)

My init program is just a simple hello world program (built statically)

printf("Hello World")
sleep(10)

I can tell that the program is running because after exactly 10seconds I get a kernel panic, which indicates the end of the program, however I can never see any messages from user space.

I also tried a statically built version of busybox as my init file but still get no output.

my filesystem is built from the following file (using initramfs functionality, which creates the root file system from this file)

dir /dev 755 0 0
nod /dev/console 644 0 0 c 5 1
nod /dev/ttyS0 644 0 0 c 4 64
dir /proc 755 0 0
dir /sys 755 0 0
file /init usr/busybox 755 0 0

I received one bit of information to check my interrrupt lines, but I see Grant replied that the serial console is polled, so the interrupt line is probably not the problem.

Please let me know if you make any progress...
Joe

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mirek23
Sent: Thursday, May 10, 2007 4:45 AM
To: [email protected]
Subject: RE: zImage.elf loads but does not start

Thank you for all of the advices.
I did more study on that problem but still without the success.

1. I did redd the ELDK manual and I have invoked :
ELDK_FIXOWNER
ELDK_MAKEDEV

in the "dev" directory there were created many nodes like that:

crw-rw-rw-    1 root     root       5,   1 May  8 15:42 console
crw-rw-rw-    1 root     root       4,  64 May  8 15:42 ttyS0

In the kernel command line configuration I have the entry :
CONFIG_CMDLINE="console=ttyUL0,9600 root=/dev/nfs rw nfsroo ...

so I have created by hand the node:
crw-rw-rw- 1 root root 204, 187 May 8 15:44 ttyUL0

Unfortunately the kernel boots to the point:

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init

and after that it hangs.

I have made some modifications to the kernel init/main.c file. In that file I have inserted the printk statements to see how far the kernel goes. It seems to be that the last thing it does it executes the sbin/init command and it hangs.

Instead of the sbin/init I have tried to execute other commands like bin/echo this_is_text_string and bin/echo this_is_test >> /var/log/messages

the modification looks like (init/main.c):
before modification:

        printk("test 3\n");
        run_init_process("/sbin/init");
        printk("test 4\n");
after modification
        printk("test 3\n");
        run_init_process("/bin/echo ala");
        run_init_process("/bin/echo buba >> /var/log/messages");
        printk("test 4\n");

In both cases the last thing which was printed is "test 3" The /var/log/messages remains empty.

I thought that it might be the uart_lite driver is the source of the problem. I rebuild the kernel configuring it for the standard UART driver instead of the uart_lite.
This time my command line looks like:
CONFIG_CMDLINE="console=ttyS0,9600 root=/dev/nfs rw nfsroo ...

When booting the kernel configured with the UART I see anything printed on the screen so it is even worse than before.

Do you have any suggestions.

Best Regards

Mirek

Quoted 32 lines · Charles Krinke

I find this usually happens when /dev/tty, /dev/console or /dev/ttyS0 are not setup properly. That is, they are files instead of nodes. This

menas you have mounted the root filesystem and init is running on that

root filesystem.

Charles

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Adrian Craine
Sent: Tuesday, May 08, 2007 2:50 PM
To: Leonid
Cc: [email protected]; Mirek23
Subject: Re: zImage.elf loads but does not start

Quoted 8 lines · Leonid

rootpath=

[    9.130834] Looking up port of RPC 100003/2 on 129.129.130.106
[    9.207363] Looking up port of RPC 100005/1 on 129.129.130.106
[    9.303794] VFS: Mounted root (nfs filesystem).
[    9.359316] Freeing unused kernel memory: 96k init
[    9.422162] Warning: unable to open an initial console.

The exact device node this requires is /dev/console c 5 1 That should solve your issue.

Quoted 12 lines

Cheers,
Adrian.
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

--
View this message in context:
http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10
409434
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10429898
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
author
#14 lore raw

RE: zImage.elf loads but does not start

Quoted 2 lines

It seems to be that the console works fine and the root file system is

mounted properly via NFS.

Quoted 1 line

I do not however understand why eldk4.1 init does not work.

I have done some more investigations. My observation is as following:

The eldk4.1/ppc_4xx root file system has the init which is not statically built. When I removed the lib directory on the
NFS server:/opt/eldk4.1/ppc_4xx/lib the kernel has booted up to the point:

[    9.302101] VFS: Mounted root (nfs filesystem).
[    9.357642] Freeing unused kernel memory: 96k init
[    9.481509] Kernel panic - not syncing: No init found.  Try passing init=

option to kernel.

When the lib directory was present the last printed message was:

[    9.357642] Freeing unused kernel memory: 96k init

I have observed the same behaviour with busybox accessed via NFS. I have compiled busybox with crosstool-0.43 (gcc-4.0.2 glibc-2.3.2) because eldk4.1 crosscompilers failed to compile busybox. When using busybox mounted via NFS I copied the lib directory from crosstool.
Unfortunately also this time the system hanged at init.

My own version of init which uses printf just to print the string to the screen runs however fine.

Would somebody have some suggestion what might cause the problem to properly launch the init command.

Best Regards

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10621564
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#15 lore raw

Re: zImage.elf loads but does not start

Hi Mirek,

Quoted 10 lines · Mirek23 wrote:
Quoted 1 line

It seems to be that the console works fine and the root file system is

mounted properly via NFS.

Quoted 1 line

I do not however understand why eldk4.1 init does not work.

I have done some more investigations. My observation is as following:

The eldk4.1/ppc_4xx root file system has the init which is not statically built. When I removed the lib directory on the
NFS server:/opt/eldk4.1/ppc_4xx/lib the kernel has booted up to the point:

Quoted 8 lines
[    9.302101] VFS: Mounted root (nfs filesystem).
[    9.357642] Freeing unused kernel memory: 96k init
[    9.481509] Kernel panic - not syncing: No init found.  Try passing init=

option to kernel.

When the lib directory was present the last printed message was:

[    9.357642] Freeing unused kernel memory: 96k init

Any NFS timeouts after reaching this point? Any network activity at all? (NFS timeout is quite long, so waiting few minutes would make sense)

Thanks,
Andrei

Quoted 15 lines

I have observed the same behaviour with busybox accessed via NFS. I have compiled busybox with crosstool-0.43 (gcc-4.0.2 glibc-2.3.2) because eldk4.1 crosscompilers failed to compile busybox. When using busybox mounted via NFS I copied the lib directory from crosstool.
Unfortunately also this time the system hanged at init.

My own version of init which uses printf just to print the string to the screen runs however fine.

Would somebody have some suggestion what might cause the problem to properly launch the init command.

Best Regards

Mirek

#16 lore raw

Re: zImage.elf loads but does not start

Quoted 4 lines
Quoted 1 line
[    9.357642] Freeing unused kernel memory: 96k init

Any NFS timeouts after reaching this point? Any network activity at all? (NFS timeout is quite long, so waiting few minutes would make sense)

I have monitored the network activity on the NFS server with program ethereal. It seems to be that the root file system is mounted. There are packet sent from a to my xilinx board. The /var/log/messages contains also the entry that mount was done successfully. When init is executed the ethereal show only individual packets which are sent (in fixed interval of time - once per 20 seconds) from the NFS server to the client but client seem to be dead. Even ping does not reach my xilinx board when kernel executes the init.

I think that the best prove that the rootfile system is properly mounted is the fact that my own test init function (which substitutes the real init) which simply prints the string to the console does that what is expected to do. The real init unfortunately does not print anything to the console.

Best Regards

Mirek

#17 lore raw

Re: zImage.elf loads but does not start

Quoted 4 lines · Miroslaw Dach
Quoted 3 lines
Quoted 1 line
[    9.357642] Freeing unused kernel memory: 96k init

Any NFS timeouts after reaching this point? Any network activity at all? (NFS timeout is quite long, so waiting few minutes would make sense)

Quoted 8 lines

I have monitored the network activity on the NFS server with program ethereal. It seems to be that the root file system is mounted. There are packet sent from a to my xilinx board. The /var/log/messages contains also the entry that mount was done successfully. When init is executed the ethereal show only individual packets which are sent (in fixed interval of time - once per 20 seconds) from the NFS server to the client but client seem to be dead. Even ping does not reach my xilinx board when kernel executes the init.

Hmm...
IIRC TEMAC is configured in FIFO mode.
And I thought the problem could be due to small FIFOs. So that the default NFS reply of 4kbytes could not fit into the receive FIFO, and the CPU is not fast enough to read the reply out of the FIFO before it overflows. But your observations don't seem to confirm this is the case.

Anyway, you could try adding
nfsroot=,rsize=1024,wsize=1024
to your cmdline just in case...

Thanks,
Andrei

Quoted 9 lines

I think that the best prove that the rootfile system is properly mounted is the fact that my own test init function (which substitutes the real init) which simply prints the string to the console does that what is expected to do. The real init unfortunately does not print anything to the console.

Best Regards

Mirek

#18 lore raw

Re: zImage.elf loads but does not start

Quoted 10 lines

Hmm...
IIRC TEMAC is configured in FIFO mode.
And I thought the problem could be due to small FIFOs. So that the default NFS reply of 4kbytes could not fit into the receive FIFO, and the CPU is not fast enough to read the reply out of the FIFO before it overflows. But your observations don't seem to confirm this is the case.

Anyway, you could try adding
nfsroot=,rsize=1024,wsize=1024
to your cmdline just in case...

Thanks for the suggestions. I will try it tomorrow. I have the feeling however that it might be the kernel configuration which might be not correct.

My board has 32 Mbytes of RAM. I have configured kernel as follows:

* Initial RAM filesystem and RAM disk (initramfs/initrd) suppor *RAM disk support
1 Default number of RAM disks
8192 Default RAM disk size (kbytes)
(1024) Default RAM disk block size (bytes)

I do not know however if the stack is properly configured since I did not see any parameter in kernel which refers to the stack or heap.

My bsp i.e xparameteres_ml403.h contains two macros:
#define XPAR_DDR_SDRAM_1_MEM0_BASEADDR 0x00000000 #define XPAR_DDR_SDRAM_1_MEM0_HIGHADDR 0x01FFFFFF

I have the feeling that they are ignored because I did not find anywhere in the kernel source those names.

When kernel boots it prints at the beginning:

loaded at:     00400000 004F9138 
board data at: 004F7120 004F7138 
relocated to:  00404064 0040407C 
zimage at:     00404DF1 004F6BBB 
avail ram:     004FA000 04000000 

According to my understanding kernel first copies "init" to RAM and executes it there. Maybe init and/or related libraries are copied to the memory location beyond RAM ? This is what comes to my mind right now.

Best Regards

Mirek

author
#19 lore raw

Re: zImage.elf loads but does not start

Quoted 4 lines

Anyway, you could try adding
nfsroot=,rsize=1024,wsize=1024
to your cmdline just in case...

I have tried that but it did not help :(

Best Regards

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10681348
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
author
#20 lore raw

Re: zImage.elf loads but does not start

Hi All,

I have done more research on the problem with my ml403 board.
I use linux 2.6.21rc6 by Grant. I have configured the kernel to mount the rootfile system via NFS.
The kernel boots properly up to the point to execute init.

My Last observation is as following.

I have written my own statically build init just to printf some strings to the screen. The message is printed as expected. The size of my executable is around 520 Kbytes.
When I have added more code to have a bigger executable I reached the point when my init was sometimes executed and some times not (ie. the system hanged and ping did not work) . This happens when the executable is around 647 Kbytes large.

I have aslo noticed that when the code is bigger than 700 Kbytes the system hangs always.

To have more evidence I have compiled klibc rootfile system which is very small but it uses dynamically linked library libc.so which is around 111 Kbytes. In such a case the init was executed fine so it seems to be the problem of the file size the system is going to execute (load via NFS).

I suspect that it is the Temac which causes the problem. I do not however know it is possible to adjust some temac parameters like the FIFOs size or so. Maybe it is the Temac driver?
It could be also that NFS client server communication which brakes due to unknown reason. My eteral program which I used to monitor the network traffic on the NFS server shows that NFS server works all the time and it sends periodically the packets to the client even if the client hags.

Would you have some idea what could be wrong?

Best Regards

Mirek

Quoted 11 lines · Mirek23 wrote:
Quoted 4 lines

Anyway, you could try adding
nfsroot=,rsize=1024,wsize=1024
to your cmdline just in case...

I have tried that but it did not help :(

Best Regards

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10801964
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#21 lore raw

Re: zImage.elf loads but does not start

In reply to Miroslaw Dach

Mirek,

Quoted 10 lines · Miroslaw Dach

I do not know however if the stack is properly configured since I did not see any parameter in kernel which refers to the stack or heap.

My bsp i.e xparameteres_ml403.h contains two macros:
#define XPAR_DDR_SDRAM_1_MEM0_BASEADDR 0x00000000 #define XPAR_DDR_SDRAM_1_MEM0_HIGHADDR 0x01FFFFFF

I have the feeling that they are ignored because I did not find anywhere in the kernel source those names.

When kernel boots it prints at the beginning:
loaded at: 00400000 004F9138 board data at: 004F7120 004F7138 relocated to: 00404064 0040407C zimage at: 00404DF1 004F6BBB avail ram: 004FA000 04000000

Have you fixed this?

For 32 MBytes of DRAM you should have
#define XPAR_DDR_0_SIZE 0x2000000
in your xparameters_ml403.h file.
I can't recall the whole story, but EDK 8.2 doesn't add this #define when generating the xparameters file, so I had to add this line by hand for EDK 8.2 generated files. Probably earlier EDK versions did that automatically.

But your kernel (the bootwrapper to be precise) wouldn't compile if XPAR_DDR_0_SIZE were not defined...
Do you use uboot?

Thanks,
Andrei

author
#22 lore raw

Re: zImage.elf loads but does not start

Hi Andrei,

Thank you very much for your suggestion.
I am very grateful for all of your hints. They were always very valuable to me.

I have set as you mentioned:
#define XPAR_DDR_0_SIZE 0x2000000

And now all works fine!!!!

The root file system is mounted and I can execute whatever I like from the rootfile system.
It was just my mistake that I did not noticed the memory size was wrong :(

After all of that I would like to use the GPIO driver to talk to the FPGA part of the board.
Do you have some experience with that.

in my xparameters_ml403.h I have two devices defined: LEDs and SWITCHES as listed below

/* Definitions for peripheral LEDS_8BIT */
#define XPAR_LEDS_8BIT_BASEADDR 0x40000000
#define XPAR_LEDS_8BIT_HIGHADDR 0x4000FFFF
#define XPAR_LEDS_8BIT_DEVICE_ID 0
#define XPAR_LEDS_8BIT_INTERRUPT_PRESENT 0
#define XPAR_LEDS_8BIT_IS_DUAL 0

/* Definitions for peripheral DIP_SWITCHES_8BIT */ #define XPAR_DIP_SWITCHES_8BIT_BASEADDR 0x40020000 #define XPAR_DIP_SWITCHES_8BIT_HIGHADDR 0x4002FFFF #define XPAR_DIP_SWITCHES_8BIT_DEVICE_ID 1 #define XPAR_DIP_SWITCHES_8BIT_INTERRUPT_PRESENT 0 #define XPAR_DIP_SWITCHES_8BIT_IS_DUAL 0

#define XPAR_GPIO_0_BASEADDR XPAR_LEDS_8BIT_BASEADDR #define XPAR_GPIO_0_HIGHADDR XPAR_LEDS_8BIT_HIGHADDR #define XPAR_GPIO_0_IS_DUAL XPAR_LEDS_8BIT_IS_DUAL #define XPAR_GPIO_0_DEVICE_ID XPAR_LEDS_8BIT_DEVICE_ID #define XPAR_GPIO_1_BASEADDR XPAR_DIP_SWITCHES_8BIT_BASEADDR #define XPAR_GPIO_1_HIGHADDR XPAR_DIP_SWITCHES_8BIT_HIGHADDR #define XPAR_GPIO_1_IS_DUAL XPAR_DIP_SWITCHES_8BIT_IS_DUAL #define XPAR_GPIO_1_DEVICE_ID XPAR_DIP_SWITCHES_8BIT_DEVICE_ID

but I do not know how exactly to talk to them by means of the xgpio driver.

Best Regards and many many thanks for your support

Mirek

Quoted 45 lines · Andrei Konovalov

Mirek,

Quoted 10 lines · Miroslaw Dach

I do not know however if the stack is properly configured since I did not see any parameter in kernel which refers to the stack or heap.

My bsp i.e xparameteres_ml403.h contains two macros:
#define XPAR_DDR_SDRAM_1_MEM0_BASEADDR 0x00000000 #define XPAR_DDR_SDRAM_1_MEM0_HIGHADDR 0x01FFFFFF

I have the feeling that they are ignored because I did not find anywhere in the kernel source those names.

Quoted 6 lines

When kernel boots it prints at the beginning:

loaded at:     00400000 004F9138 
board data at: 004F7120 004F7138 
relocated to:  00404064 0040407C 
zimage at:     00404DF1 004F6BBB 
avail ram:     004FA000 04000000 

Have you fixed this?

For 32 MBytes of DRAM you should have
#define XPAR_DDR_0_SIZE 0x2000000
in your xparameters_ml403.h file.
I can't recall the whole story, but EDK 8.2 doesn't add this #define when generating the xparameters file, so I had to add this line by hand for EDK 8.2 generated files. Probably earlier EDK versions did that automatically.

But your kernel (the bootwrapper to be precise) wouldn't compile if XPAR_DDR_0_SIZE were not defined...
Do you use uboot?

Thanks,
Andrei

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10805157
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#23 lore raw

Advice needed

I'm having a little trouble with memory mapped registers in both a NAND chip and a CPLD on an 8541 design where the kernel is based on linux-2.6.17.11 and mpc85xx_cds_common.

The NAND and CPLD are obviously not part of the memory map of the mpc85xx_cds_common, and in our case are at local memory addresses NAND=3D0xFF008000, 32K and CPLD=3D0xFF000000, 32K. Both need to be = mapped
into memory in Linux.

I am looking at arch/ppc/platforms/85xx/mpc85xx_cds_common.c around platform_init.

I wonder if a Freescale person could give me an opinion of where the appropriate place is to call settlbcam to allow access to these two 32K memory regions?

Charles Krinke

#24 lore raw

RE: zImage.elf loads but does not start

In reply to Mirek23

Hi Mirek,

If you think the networking might be the source of the problem maybe try to make a very simple root file system using initramfs to see if you can get the init program (or busybox) working. =20

Just create a file in that looks something like:

dir /dev 755 0 0
nod /dev/console 644 0 0 c 5 1
nod /dev/ttyS0 644 0 0 c 4 64
dir /proc 755 0 0
dir /sys 755 0 0
file /init usr/busybox 755 0 0

and then tell the kernel about it General_Setup-> Initramfs source file(s)

It will build the file system into the kernel image.

Also, thanks for the files.=20

Joe
=20

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf = Of
Mirek23
Sent: Tuesday, May 15, 2007 8:09 AM
To: [email protected]
Subject: RE: zImage.elf loads but does not start

Quoted 1 line

It seems to be that the console works fine and the root file system is

mounted properly via NFS.

Quoted 1 line

I do not however understand why eldk4.1 init does not work.

I have done some more investigations. My observation is as following:

The eldk4.1/ppc_4xx root file system has the init which is not statically built. When I removed the lib directory on the NFS server:/opt/eldk4.1/ppc_4xx/lib the kernel has booted up to the point:

[    9.302101] VFS: Mounted root (nfs filesystem).
[    9.357642] Freeing unused kernel memory: 96k init
[    9.481509] Kernel panic - not syncing: No init found.  Try passing

init=3D
option to kernel.

When the lib directory was present the last printed message was:

[    9.357642] Freeing unused kernel memory: 96k init

I have observed the same behaviour with busybox accessed via NFS. I have compiled busybox with crosstool-0.43 (gcc-4.0.2 glibc-2.3.2) because
eldk4.1 crosscompilers failed to compile busybox. When using busybox mounted via NFS I copied the lib directory from crosstool. Unfortunately also this time the system hanged at init.

My own version of init which uses printf just to print the string to the screen runs however fine.

Would somebody have some suggestion what might cause the problem to properly launch the init command.

Best Regards

Mirek
--
View this message in context:
http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10
621564
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

author
#25 lore raw

RE: zImage.elf loads but does not start

Hi Joe,

I have done this what you have suggested:

I have built statically busybox. During compilation of the busy box I have go a warning that static build is buggy
but I have built the statically linked binary anyhow.

After that I have created the file:

dir /dev 755 0 0
nod /dev/console 644 0 0 c 5 1
nod /dev/ttyUL0 644 0 0 c 208 187
dir /proc 755 0 0
dir /sys 755 0 0
file /init /myrootfs/busybox 755 0 0

Next I have run the program

usr/gen_init_cpio myList > myList.cpio

I have set in the .config CONFIG_INITRAMFS_SOURCE="myInit.cpio" I have modified the CONFIG_CMDLINE="console=ttyUL0,9600"

I have built successfully the kernel and loaded it to my board. When I have tried to boot the kernel I got as following:

---------------------------------------------------------------------------------------------------------

loaded at:     00400000 0052C138                                                                                                                                                     
board data at: 0052A120 0052A138                                                                                                                                                     
relocated to:  00404040 00404058                                                                                                                                                     
zimage at:     00404DCD 00529D69                                                                                                                                                     
avail ram:     0052D000 04000000                                                                                                                                                     

Linux/PPC load: console=ttyUL0,9600
Uncompressing Linux...done.
Now booting the kernel

---------------------------------------------------------------------------
And the kernel did not start.

I have also tried various options:
console=ttyUL0,9600 root=/dev/initrd rw rdinit=/init or
console=ttyUL0,9600 root=/dev/ram0 rw rdinit=/init

Nothing helped.

I have also done the experiment:

I have set in the .config CONFIG_INITRAMFS_SOURCE="" I have modified the CONFIG_CMDLINE="console=ttyUL0,9600"

When I have rebuilt the kernel it started to boot up to the point to mount nfs and it failed.

Any idea why it did not boot with initramfs build in?

The kernel size with simple initramfs is 1.4 MB and without initramfs 1.1 MB.

Best Regards

Mirek

Quoted 87 lines · Joseph

Hi Mirek,

If you think the networking might be the source of the problem maybe try to make a very simple root file system using initramfs to see if you can get the init program (or busybox) working.

Just create a file in that looks something like:

dir /dev 755 0 0
nod /dev/console 644 0 0 c 5 1
nod /dev/ttyS0 644 0 0 c 4 64
dir /proc 755 0 0
dir /sys 755 0 0
file /init usr/busybox 755 0 0

and then tell the kernel about it General_Setup-> Initramfs source file(s)

It will build the file system into the kernel image.

Also, thanks for the files.

Joe

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Mirek23
Sent: Tuesday, May 15, 2007 8:09 AM
To: [email protected]
Subject: RE: zImage.elf loads but does not start

Quoted 1 line

It seems to be that the console works fine and the root file system is

mounted properly via NFS.

Quoted 1 line

I do not however understand why eldk4.1 init does not work.

I have done some more investigations. My observation is as following:

The eldk4.1/ppc_4xx root file system has the init which is not statically built. When I removed the lib directory on the NFS server:/opt/eldk4.1/ppc_4xx/lib the kernel has booted up to the point:

[    9.302101] VFS: Mounted root (nfs filesystem).
[    9.357642] Freeing unused kernel memory: 96k init
[    9.481509] Kernel panic - not syncing: No init found.  Try passing

init=
option to kernel.

When the lib directory was present the last printed message was:

[    9.357642] Freeing unused kernel memory: 96k init

I have observed the same behaviour with busybox accessed via NFS. I have compiled busybox with crosstool-0.43 (gcc-4.0.2 glibc-2.3.2) because
eldk4.1 crosscompilers failed to compile busybox. When using busybox mounted via NFS I copied the lib directory from crosstool. Unfortunately also this time the system hanged at init.

My own version of init which uses printf just to print the string to the screen runs however fine.

Would somebody have some suggestion what might cause the problem to properly launch the init command.

Best Regards

Mirek
--
View this message in context:
http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10
621564
Sent from the linuxppc-embedded mailing list archive at Nabble.com.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10682140
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
#26 lore raw

Re: zImage.elf loads but does not start

In reply to Mirek23

Hi Mirek,

Quoted 12 lines · Mirek23 wrote:

I have revised the xparameters_ml403.h and the setup of the FPGA part. I have found that the interrupt for the RS232 was not configured. Right now I was able to come to the point when the kernel was uncompressed but it did not start:

loaded at: 00400000 004F9138

board data at: 004F7120 004F7138

relocated to: 00404064 0040407C

Quoted 7 lines

zimage at: 00404DF1 004F6BBB

avail ram: 004FA000 04000000

Linux/PPC load: console=ttl0,9600 ip=129.129.129.29 root=/dev/ram rw

If you use the UART Lite driver by Peter Korsgaard it sould be "console=ttyUL0", not "console=ttl0".

Thanks,
Andrei

Quoted 12 lines

Uncompressing Linux...done.

Now booting the kernel

Does anybody has an idea what could be wrong?

Best Regards

Mirek

#27 lore raw

Re: zImage.elf loads but does not start

In reply to Mirek23
Quoted 7 lines · On 4/23/07, Mirek23 <[email protected]> wrote:

I have revised the xparameters_ml403.h and the setup of the FPGA part. I have found that the interrupt for the RS232 was not configured. Right now I was able to come to the point when the kernel was uncompressed but it did not start:

Linux/PPC load: console=ttl0,9600 ip=129.129.129.29 root=/dev/ram rw

This doesn't look right. It should be either 'console=ttyS0,<speed>' for a full UART, or 'console=ttyUL0' for a uartlite.

BTW, serial console output is polled, not interrupt driven (but regular serial I/O does use IRQs), so the unconfigured interrupt line was probably not your immediate problem.

g.

Signature · 4 lines
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
[email protected]
(403) 399-0195
author
#28 lore raw

Re: zImage.elf loads but does not start

Thanks for the suggestions. I have changed the command line argument:
console:ttl0 -> ttyUL0 and kernel has booted up to the point to mount the root file system.

I have set up the kernel to mount the root file systems via the nfs. I have started the nfs server on the remote pc.
Unfortunately the kernel did not mount the nfs root file system. The strange thing is that during booting the kernel I did not see any entry which refers to the TEMAC driver (which I have enabled in the kernel).

I have noticed that in the drivers/net/xilinx_temac directory there is a file xtemac_g.c. It creates the global variable (a table) which contains all fo the definitions to configure TEMAC interface. All of the definitions used in the xtemac_g.c file come from xparameters_ml403.h. The strange thing is that this xtemac_g.c is not include in the Makefile to be compiled.

I have incluede that file to the Makefile in order to use the TEMAC config parameters but when booting the kernel I did not find any diffrence compering to the driver which was originaly built without the xtemac_g.c

The kernel boots as following:

loaded at:     00400000 004F9138
board data at: 004F7120 004F7138
relocated to:  004040B8 004040D0
zimage at:     00404E45 004F6D1F
avail ram:     004FA000 04000000

Linux/PPC load: console=ttyUL0,9600 root=/dev/nfs rw nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp ip=129.129.129.29:255.255.255.0:LM200:eth0:off panic=1

Uncompressing Linux...done.
Now booting the kernel

[    0.000000] Linux version 2.6.21-rc6-gd4bba4bf-dirty (root@pc5215) (gcc
version 4.0.2) #8 Tue Apr 24 14:51:35 CEST 2007
[    0.000000] Xilinx ML403 Reference System (Virtex-4 FX)
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA             0 ->    16384
[    0.000000]   Normal      16384 ->    16384
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0:        0 ->    16384
[    0.000000] Built 1 zonelists.  Total pages: 16256
[    0.000000] Kernel command line: console=ttyUL0,9600 root=/dev/nfs rw
nfsroot=129.129.130.106:/opt/eldk41/ppc_4xx,tcp
ip=129.129.129.29:255.255.255.0:LM200:eth0:off panic=1
[    0.000000] Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFF000
[    0.000000] PID hash table entries: 256 (order: 8, 1024 bytes)
[    0.000418] Console: colour dummy device 80x25
[    0.001487] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.003212] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.034378] Memory: 62720k available (1568k kernel code, 512k data, 96k
init, 0k highmem)
[    0.121194] Mount-cache hash table entries: 512
[    0.129484] NET: Registered protocol family 16
[    0.162553] NET: Registered protocol family 2
[    0.196706] IP route cache hash table entries: 1024 (order: 0, 4096
bytes)
[    0.197898] TCP established hash table entries: 2048 (order: 2, 16384
bytes)
[    0.198605] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
[    0.199040] TCP: Hash tables configured (established 2048 bind 2048)
[    0.199126] TCP reno registered
[    0.219619] io scheduler noop registered
[    0.219727] io scheduler anticipatory registered (default)
[    0.219807] io scheduler deadline registered
[    0.220367] io scheduler cfq registered
[    0.321949] uartlite.0: ttyUL0 at MMIO 0x40600003 (irq = 0) is a uartlite
[    2.254924] RAMDISK driver initialized: 1 RAM disks of 8192K size 1024
blocksize
[    2.346633] tun: Universal TUN/TAP device driver, 1.6
[    2.407407] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[    2.485482] mice: PS/2 mouse device common for all mice
[    2.548404] TCP cubic registered
[    2.587334] NET: Registered protocol family 1
[    2.639671] NET: Registered protocol family 17
[    3.197934] IP-Config: No network devices available.
[    3.259979] Looking up port of RPC 100003/2 on 129.129.130.106
[    3.331237] Root-NFS: Unable to get nfsd port number from server, using
default
[    3.419194] Looking up port of RPC 100005/1 on 129.129.130.106
[    3.490204] Root-NFS: Unable to get mountd port number from server, using
default
[    3.581337] Root-NFS: Server returned error -5 while mounting
/opt/eldk41/ppc_4xx
[    3.671568] VFS: Unable to mount root fs via NFS, trying floppy.
[    3.747080] VFS: Cannot open root device "nfs" or unknown-block(2,0)
[    3.823496] Please append a correct "root=" boot option
[    3.886242] Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(2,0)
[    3.985551] Rebooting in 1 seconds..<NULL>

Would you have any idea why it did not recognise the TEMAC interface and how to configure the kernel that it recognises the network device.

Mirek

Signature · 2 lines
View this message in context: http://www.nabble.com/zImage.elf-loads-but-not-starts-tf3607582.html#a10161229
Sent from the linuxppc-embedded mailing list archive at Nabble.com.