cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
naresh.edk
Visitor
Visitor
13,267 Views
Registered: ‎11-24-2007

montavista booting problem

Hi

I am using EDK 9.1 and working on porting montavista linux 2.4 kernel onto it

I am using RAMDisk root file system image provided by Xilinx

The booting has stopped at the message

loop: max devices 8 

What the problem could be? Please help

 

0 Kudos
Reply
20 Replies
yoshio_kashiwagi
Contributor
Contributor
13,253 Views
Registered: ‎10-02-2007

Hi,

 

Although I do not know in detail the hardware component which you use, the next of a
loopback device does initialization of a SystemACE or EMAC driver, considering the procedure
of kernel boot. In my guess, the following two causes can be expected using your information.

 

1. SystemACE is enabled by the kernel configuration, when CompactFlash is not mounted.
2. The interrupt or the register address of an EMAC driver which a kernel recognizes do
 not match real FPGA logic.

 

If SystemACE or EMAC is set as disabled by a kernel configuration, a which cause should be known.
BTW, which type is Ethernet MAC using by EDK9.1?
The Ethernet driver of a kernel 2.4 regards only 10/100 EMAC as it having been support.

 

Best Regards,

 

Yoshio Kashiwagi - Nissin Systems

0 Kudos
Reply
naresh.edk
Visitor
Visitor
13,245 Views
Registered: ‎11-24-2007

Hi Yoshio

Thanks a lot for the reply

 

Yes, I configured to have SystemACE, but I didn't mounted it and I removed networking support in the configuration

But actually, I used RAM Disk Image while compiling the kernel to generate zImage.initrd

and downloading the image with the command "dow zImage.initrd" and "con" at XMD ( Not using SystemACE for now) in the XPS

Does this cause any problem in booting  ? Please inform

 

Waiting for your reply..

 

Thanks

Naresh 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
13,233 Views
Registered: ‎10-02-2007

Naresh-san,

 

Does it still stop after a loopback device?
As for the following logs, I boot MontaVista2.4 kernel by ML300 before.
It can be guessed that it has stopped by the EMAC driver as a log since the next of a loopback

device is initialization of an EMAC driver. Isn't there other setup which define with CONFIG_XILINX_

in your kernel configuration .config file?

Or does the definition of arch/ppc/platforms/4 xx/xparameters/xparameters.h match, as for each

register address of the xparameters.h file generated by EDK9.1?

 

Best Regards,

 

Yoshio Kashiwagi - Nissin Systems 

 

loaded at:     00400000 0049E1D0
board data at: 0049B128 0049B140
relocated to:  0040568C 004056A4
zimage at:     00405C78 0049AF69
avail ram:     0049F000 04000000

Linux/PPC load: console=ttyS0,9600 ip=150.96.133.107:::255.255.240.0
root=/dev/nfs rw
nfsroot=150.96.133.108:/opt/linux/4.0/rfs
Uncompressing Linux...done.
Now booting the kernel
Linux version 2.4.20_mvl31-ml300 (root@KasiHat) (gcc version
3.2) #8 Wed
Oct 26 19:20:09 JST 2005
Xilinx Virtex-II Pro port (C) 2002 MontaVista Software, Inc.
(source@mvista.com)
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,9600
ip=150.96.133.107:::255.255.240.
0 root=/dev/nfs rw nfsroot=150.96.133.108:/opt/linux/4.0/rfs
Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFE000
Calibrating delay loop... 97.68 BogoMIPS
Memory: 63272k available (1052k kernel code, 376k data, 60k init, 0k
highmem)
Dentry cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
OCP uart ver 1.6.2 init complete
LSP Revision 42
ikconfig 0.5 with /proc/ikconfig
Starting kswapd
Disabling the Out Of Memory Killer
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with no serial
options enabled
ttyS00 at 0xfdfff003 (irq = 27) is a 16450
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
loop: loaded (max 8 devices)
eth0: using fifo mode.
eth0: Xilinx EMAC #0 at 0x80400000 mapped to 0xC500D000, irq=31
eth0: id 2.0a; block id 0, type 8
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 4096 bind 8192)
IP-Config: Complete:
      device=eth0, addr=150.96.133.107, mask=255.255.240.0,
gw=255.255.
255.255,
     host=150.96.133.107, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=150.96.133.108, rootpath=
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

 

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
13,221 Views
Registered: ‎11-24-2007

Hi Yoshi

 

I am not using the networking feature and hence I disabled it

I also removed the default kernel boot options to download the kernel from XMD ( I did this because , it is instructed to remove that in in  Xilinx ML310 base linux presentation guide)

and while booting, initially, it is showing the message root=/dev/ram

 

Please suggest from this info

Waiting for your reply

 

Thanks

Naresh 

 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
13,219 Views
Registered: ‎10-02-2007

Naresh-san,

 

Would you show me your kernel boot log?

 

Best Regards,

 

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
13,207 Views
Registered: ‎11-24-2007

Hi Yoshio

 

Please find the boot log below

 

loaded at:     00400000 008571E0                               
board data at: 00854138 00854150                               
relocated to:  004052D4 004052EC                               
zimage at:     004057D9                     
initrd at:     0046B000 00853382                               
avail ram:     00858000 10000000                               

Linux/PPC load: root=/dev/ram                            
Uncompressing Linux...done.                          
Now booting the kernel                     
Linux version 2.4.26 (naresh@localhost.localdomain) (gcc version 3.4.4) #13 Thu                                                                              
May 8 00:17:50 IST 2008                      
Xilinx Virtex-II Pro port (C) 2002 MontaVista Software, Inc. (source@mvista.com)                                                                               

On node 0 totalpages: 65536
zone(0): 65536 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram
Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFF000
Calibrating delay loop... 299.82 BogoMIPS
Memory: 254044k available (700k kernel code, 264k data, 44k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
pty: 256 Unix98 ptys configured
RAMDISK driver initialized: 16 RAM disks of 20480K size 1024 blocksize
loop: loaded (max 8 devices)

 

Thanks

Naresh
 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
13,205 Views
Registered: ‎10-02-2007

Naresh-san,

 

Causality has not set up console.
Would you try a kernel command line on below?

 

console=ttyS0,9600 root=/dev/ram

Thanks,

 

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
13,183 Views
Registered: ‎11-24-2007

Hi Yoshio

The kernel has booted. I just removed the loopback support in the configuration.

But I didn't put any kernel boot command that you suggested, because it is stopping the booting at "Now booting..." message itself

But eventhough, the kernel booted, I couldn't use the hyperterminal to give input to the shell. Keyboard strokes not giving any response

What could be the problem? Is it due to the lack of default boot command which also includes the term "console = ttyS0". But the reference design

for ML310 from Xilinx dont have this problem.

What coudl be the cause

 

 

Thanks

Naresh 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
13,158 Views
Registered: ‎10-02-2007

Naresh-san,

 

Have you met with this problem by Xilinx ML310?

Probably there is possibility of many causes in it and it will be difficult for me to put the cause in pinpoint.

Would you show me a log once again from the present kernel boot to shell?
It is because the problem of a console can be guessed from this situation and useful information may be

in a kernel message. Moreover, is a kernel command line correctable by a backspace key in the state of

the following prompts? It should wait for 5 seconds in this line.
Linux/PPC load: root=/dev/ram

 

Best Regards,

 

Yoshio Kashiwagi - Nissin Systems

 

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
10,607 Views
Registered: ‎11-24-2007

Hi Yoshio,

 

I tried to use keyboard to correct at the boot prompt  "Linux/PPC load: root=/dev/ram". But it doesn't worked there also

I guess that the problem could be due to the UART driver. Can it be so?

For your reference, please find the following boot log

 

 

-------- 

loaded at:     00400000 008541E0c000[1] '' Last syscall: -107303
board data at: 00851138 00851150l: 120                         
relocated to:  004052D4 004052EC                      
last mat
zimage at:     004057D9 00467A0308: C00C2680 C00A75B4 00001030 C
initrd at:     00468000 00850382                               
avail ram:     00855000 1000000000001 000034EB C00C7187 00000000

Linux/PPC load: root=/dev/ram                
last math 0
Uncompressing Linux...done.044 0000000B 00000047 00000
Now booting the kernel                     
Linux version 2.4.26 (naresh@localhost.localdomain) (gcc version 3.4.4) #20 Fri187 00000000 C00D0000 C00C3700 C00AC5B8 C00D0000R16: C00D0000 C00C3700 00000000
May 9 15:34:18 IST 2008                      
Xilinx Virtex-II Pro port (C) 2002 MontaVi                                       
zone(2): 0 pages.000ra           
Kernel command line: root=/dev/ram                                 
Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFF000                        
GPR16: C00D0000 C00C370
Calibrating delay loop... 299.82 BogoMIPS0000 00000000ll backtrace: Oops: kernel a
Memory: 254072k available (680k kernel code, 260k data, 40k init, 0k highmem)                                                                            
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)F28 00000000 37000000 00000000 C00DB651 00000001FFFF22A REGS: c
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)                                                             
Mount cache hash table entries: 512 (order: 0, 4096 bytes)devf   
Call backtrace: Data machine check in kernel mode
Buffer cache hash table entries: 16384 (                     
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Starting kswapd
Journalled Block Device driver loaded
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
pty: 256 Unix98 ptys configured
RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 4000k freed
VFS: Mounted root (ext2 filesystem) readonly.
Mounted devfs on /dev
Freeing unused kernel memory: 40k init
INIT: version 2.78 booting
Activating swap...
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
Mounting local filesystems...
nothing was mounted
Starting portmap daemon\: portmap.
INIT: Entering runlevel: 3

MontaVista(R) Linux(R) Professional Edition 3.1

ml310 login:

 

 --------

 

Thanks a lot

Naresh 

 

 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
10,600 Views
Registered: ‎10-02-2007

Hi, Naresh-san,

 

A backspace key is not effective at a Linux/PPC load:  prompt and a login: prompt does not have

an effective keystroke, either. It may have the physical problem of UART.
1. Check the flow control of a hyper-terminal.
2. Replaces with terminal software, such as TeraTerm.

Or the connection of a cable may be checked or it may be necessary to check connection of the

board relevant to UART. It is because the input process of Linux/PPC load: and the input process

of a ML310 login: prompt are different software.
Neither works because the problem of hardware can be guessed.

Best Regards,

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
10,598 Views
Registered: ‎10-02-2007

Hi,

 

Is it working by the reference design of ML310 normally altogether?

 

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
10,590 Views
Registered: ‎11-24-2007

Hi Yoshio,

 

The problem is solved with Tera Term Pro. The problem is with hyperterminal software itself.

 Thank you very much for the help and suggestion.

 I have one more last question to ask

I am using two ppc cores in my design. For the first one I am using UART to communicate with the terminal

and the second one I want to use opb_mdm (debugger modue) for virtual UART through jtag from XMD

Shall I have to use "connect mdm -uart" for the second one. Otherwise I am getting the message "Cable locked"

in the first one terminal.

Please clarify or give any source xilinx document where can I refer to solve this problem. I refered to tools manual but it

is said to use the connect command itself which is not working

Please help

 

Thanks

Naresh 

 

 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
10,561 Views
Registered: ‎10-02-2007

Hi,

 

Cable is Locked will be generated if iMPACT or ChipScope are used concurrently with XMD.
This will be because access to a USB device from two or more Windows application is locked.

If single XMD is used and the terminal command is used from XMD, how is it?

 

Best Regards,

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
10,531 Views
Registered: ‎11-24-2007

Hi Yoshio,

 

I tried that way also, but it is not working.

Actually, my intention to is to run two montavista linux kernels on two cores parallelly.

I want to run terminals for them one through UART and one through JTAG virtual UART.

What configuration I have to choose to do so? Please inform

 

Waiting for your reply

Thanks

Naresh 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
10,473 Views
Registered: ‎10-02-2007

Hi,

 

Sorry for not getting back to you any earlier but I have been away on business.
Although mdm has the same circuit as UARTLITE, has not your kernel component chosen the 16550UART driver?

By the way, I also tried the terminal output to a mdm module, unmatch of a line feed code and a character

dropped has occurred.

If the 2nd console is used, it may be better to Expansion Slot to external RS232 line driver IC pass.

 

Best Regsrds,

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
10,446 Views
Registered: ‎11-24-2007

Hi Yoshio,

 

Thanks a lot for your concern for giving me answers.

Actually, I have chosen UART Lite driver for MDM configuration, but not 16550UART. I chosen this because

in corresponding xparameters.h file in the generated BSP, it is shown that MDM is also a UART and as I chose UART Lite driver

for RS232, I chose same for this as well. Does this cause problem? Please clarify

 

I have no option to use an expansion slot for another RS232.

 

Thanks

Naresh 

 

 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
10,428 Views
Registered: ‎10-02-2007

Hi,

 

In order to use UARTLITE for the console of the kernel, The UARTLITE driver must be

chosen by kernel configuration, but I do not know whether MontaVista Linux is supporting

the UARTLITE driver.

 

Best Regards,

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply
naresh.edk
Visitor
Visitor
10,420 Views
Registered: ‎11-24-2007

Hi Yoshio,

 

Yes, I used UARTLITE driver and it is supported in MontaVista. I used this driver for RS232_UART.

But when I included OPB_MDM, in the header file "xparameters.h" of generated BSP, it is shown as one type of UART 

and hence I assigned the same UARTLITE driver for that as well.

I would like to know, is there any different option is to be enabled in the kernel configuration to use MDM.

 

Thanks

Naresh 

 

 

 

0 Kudos
Reply
yoshio_kashiwagi
Contributor
Contributor
4,486 Views
Registered: ‎10-02-2007

Hi,

 

I recognize that you are trying to start two processors on ML310.
UARTlite and mdm should be connected to the each different bus of powerpc_0 and powerpc_1.
Or have you connected UartLite and mdm with single powerpc_0?
If it checks in hardware, connect with powerpc_0 from xmd first and write 0x41 of ASCII code

'A' to the base address +4 offset byte of UARTlite by the mwr command.
And next connect xmd to powerpc_1 and write 0x42 to +4 bytes of base address offset of

UARTlite (mdm?). The data output to UARTlite (mdm) is very simple, and if an ASCII code is

written to the 4th bytes of base address of UARTlite, it can be checked easily.

 

Best Regards,

Yoshio Kashiwagi - Nissin Systems

 

0 Kudos
Reply