[U-Boot-Users] Ebony boot issues -- help wanted

Jeff H Zhong jeff at doremilabs.com
Wed Apr 16 14:46:30 CEST 2003


Thanks for the reminder from Wolfgang. I tried to send my first post to
this list in html format and got failed. Now I redo my post and hope to
get some help from you.



Hi Guys, 

I am new to both this mailing-list and embedded linuxppc.  Currently I
am working on IBM ebony evaluation platform, and I got couple of doubts
which I can't figure out. I programmed u-boot 3.0.0 into the flash and
trying to use NFS to boot the kernel. Here are my questions, 

1. At U-Boot phase 

I got output on console: 

U-Boot 0.3.0 (Apr 15 2003 - 14:12:33) 

IBM PowerPC 440 Rev. C 
Board: IBM 440GP Evaluation Board (Ebony) 
        VCO: 800 MHz 
        CPU: 400 MHz 
        PLB: 133 MHz 
        OPB: 66 MHz 
        EPB: 66 MHz 
I2C:   ready 
DRAM:  I2c read: failed 4 
I2c read: failed 4 
128 MB 
FLASH:  4.5 MB 
PCI:   Bus Dev VenId DevId Class Int 
        00  04  1095  0680  0104  00 
In:    serial 
Out:   serial 
Err:   serial 
KGDB:  kgdb ready 
ready 
BEDBUG:ready 
=> 

Why u-boot failed on my DRAM I2C read although it still can find out the
correctly amount ? 

At this point of time, I am not able to ping the target from my host(RH
7.3). From the host: 
root at Jeff u-boot-0.3.0<1063>ping 7.1.1.6 
PING 7.1.1.6 (7.1.1.6) from 7.1.1.4 : 56(84) bytes of data. 
>From 7.1.1.4 icmp_seq=1 Destination Host Unreachable 
>From 7.1.1.4 icmp_seq=2 Destination Host Unreachable 
.... 

root at Jeff u-boot-0.3.0<1064>cat /proc/net/arp 
IP address       HW type     Flags       HW address            Mask    
Device 
7.1.1.6          0x1         0x0         00:00:00:00:00:00     *       
eth1 
10.1.1.171       0x1         0x2         00:A0:C5:E0:C4:EC     *       
eth0 

I guess that dear Ms. U-Boot does not bring up arp, is that correct? 

2. Now, I am trying to tftp kernel image, and on target console: 

=> tftp 
ENET Speed is 100 Mbps - FULL duplex connection 
ARP broadcast 1 
TFTP from server 7.1.1.4; our IP address is 7.1.1.6 
Filename 'vmlinux.PPCBoot'. 
Load address: 0x1000000 
Loading:
################################################################# 
        
################################################################# 
         ########### 
done 
Bytes transferred = 718502 (af6a6 hex) 
=> 

Ok, she got the image. 

On host side,  I have: 

root at Jeff u-boot-0.3.0<1065>cat /proc/net/arp 
IP address       HW type     Flags       HW address            Mask    
Device 
7.1.1.6          0x1         0x0         00:04:AC:E3:1D:62     *       
eth1 
10.1.1.171       0x1         0x2         00:A0:C5:E0:C4:EC     *       
eth0 

Ms. U-Boot looks more pretty and coorprative now, right? But I still
couldn't ping her, 
root at Jeff u-boot-0.3.0<1066>ping 7.1.1.6 
PING 7.1.1.6 (7.1.1.6) from 7.1.1.4 : 56(84) bytes of data. 
>From 7.1.1.4 icmp_seq=1 Destination Host Unreachable 
>From 7.1.1.4 icmp_seq=2 Destination Host Unreachable 
...... 

3. Now I am trying to boot up kernel, she says: 

=> bootm 
## Booting image at 01000000 ... 
   Image Name:   Linux-2.4.21-pre7-big 
   Created:      2003-04-15  18:05:48 UTC 
   Image Type:   PowerPC Linux Kernel Image (gzip compressed) 
   Data Size:    718438 Bytes = 701.6 kB 
   Load Address: 00000000 
   Entry Point:  00000000 
   Verifying Checksum ... OK 
   Uncompressing Kernel Image ... OK 
Linux version 2.4.21-pre7-big (root at Jeff) (gcc version 2.95.2 19991024
(release) 
) #60 Tue Apr 15 18:04:53 UTC 2003 
IBM Ebony port (C) 2002 MontaVista Software, Inc. (source at mvista.com) 
On node 0 totalpages: 32768 
zone(0): 4096 pages. 
zone(1): 28672 pages. 
zone(2): 0 pages. 
Kernel command line: console=ttyS0,9600
ip=7.1.1.6:::255.255.255.0:ppclinux:eth0 
 nfsroot=7.1.1.4:/exports/eldk/ppc_4xx 
Calibrating delay loop... 599.65 BogoMIPS 
Memory: 127436k available (1176k kernel code, 420k data, 224k init, 0k
highmem) 
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) 
Inode cache hash table entries: 8192 (order: 4, 65536 bytes) 
Mount cache hash table entries: 512 (order: 0, 4096 bytes) 
Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes) 
Page-cache hash table entries: 32768 (order: 5, 131072 bytes) 
POSIX conformance testing by UNIFIX 
PCI: Probing PCI hardware 
Linux NET4.0 for Linux 2.4 
Based upon Swansea University Computer Society NET3.039 
Initializing RT netlink socket 
Starting kswapd 
devfs: v1.12c (20020818) Richard Gooch (rgooch at atnf.csiro.au) 
devfs: boot_options: 0x1 
Installing knfsd (copyright (C) 1996 okir at monad.swb.de). 
i2c-core.o: i2c core module 
i2c-dev.o: i2c /dev entries driver module 
i2c-core.o: driver i2c-dev dummy driver registered. 
i2c-proc.o version 2.6.1 (20010825) 
pty: 256 Unix98 ptys configured 
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ
SERIAL_PCI en 
abled 
ttyS00 at 0xfdfe9200 (irq = 0) is a 16550A 
ttyS01 at 0xfdfe8300 (irq = 1) is a 16550A 
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize 
Zmii bridge in RMII mode 
eth0: Phy @ 0x8, type Am79c875A (0x00225541) 
Reset ethernet interfaces 
Zmii bridge in RMII mode 
eth1: Phy @ 0x9, type Am79c875A (0x00225541) 
Reset ethernet interfaces 
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4 
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx 
SiI680: IDE controller at PCI slot 00:04.0 
SiI680: chipset revision 1 
SiI680: not 100% native mode: will probe irqs later 
SiI680: BASE CLOCK == 133 
    ide0: MMIO-DMA at 0xc900ef00-0xc900ef07, BIOS settings: hda:pio,
hdb:pio 
    ide1: MMIO-DMA at 0xc900ef08-0xc900ef0f, BIOS settings: hdc:pio,
hdd:pio 
Probing IDE interface ide0... 
hda: IBM-DTLA-307015, ATA DISK drive 
blk: queue c01c10d0, I/O limit 4095Mb (mask 0xffffffff) 
Probing IDE interface ide1... 
ide0 at 0xc900ef80-0xc900ef87,0xc900ef8a on irq 26 
hda: attached ide-disk driver. 
hda: host protected area => 1 
hda: 30003120 sectors (15362 MB) w/1916KiB Cache, CHS=29765/16/63,
UDMA(100) 
Partition check: 
 /dev/ide/host0/bus0/target0/lun0: [PTBL] [1867/255/63] p1 
IBM IIC driver 
i2c-dev.o: Registered 'IBM IIC adapter' as minor 0 
i2c-core.o: adapter IBM IIC adapter registered as adapter 0. 
i2c-dev.o: Registered 'IBM IIC adapter' as minor 1 
i2c-core.o: adapter IBM IIC adapter registered as adapter 1. 
NET4: Linux TCP/IP 1.0 for NET4.0 
IP Protocols: ICMP, UDP, TCP, IGMP 
IP: routing cache hash table of 1024 buckets, 8Kbytes 
TCP: Hash tables configured (established 8192 bind 8192) 
eth0: IBM EMAC: link up, 100 Mbps Full Duplex, auto-negotiation
complete. 
eth0: IBM EMAC: MAC ff:ff:ff:ff:ff:ff. 
eth0: IBM EMAC: open completed 

IP-Config: Complete: 
      device=eth0, addr=7.1.1.6, mask=255.255.255.0, gw=255.255.255.255, 
     host=ppclinux, domain=, nis-domain=(none), 
     bootserver=255.255.255.255, rootserver=7.1.1.4, rootpath= 
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. 
Looking up port of RPC 100003/2 on 7.1.1.4 

Look, Mrs. U-Boot bring up the kernel and Mr. Kernel talks lot but he
stucks here refusing to move ahead. Seems like kernel didn't get his MAC 
address properly, so he couldn't connect to host bootp server. My
question is that how does Ms. U-Boot pass the environment variable to
Mr.
Kernel, as something I got from this archive? 

On host: 
root at Jeff u-boot-0.3.0<1067>cat /proc/net/arp 
IP address       HW type     Flags       HW address            Mask    
Device 
7.1.1.6          0x1         0x0         00:04:AC:E3:1D:62     *       
eth1 
10.1.1.171       0x1         0x2         00:A0:C5:E0:C4:EC     *       
eth0 
  

4. Then I issued a ping from host, 
root at Jeff u-boot-0.3.0<1068>ping 7.1.1.6 
PING 7.1.1.6 (7.1.1.6) from 7.1.1.4 : 56(84) bytes of data. 
64 bytes from 7.1.1.6: icmp_seq=1 ttl=64 time=0.506 ms 
64 bytes from 7.1.1.6: icmp_seq=2 ttl=64 time=0.166 ms 
64 bytes from 7.1.1.6: icmp_seq=3 ttl=64 time=0.146 ms 
64 bytes from 7.1.1.6: icmp_seq=4 ttl=64 time=0.137 ms 
64 bytes from 7.1.1.6: icmp_seq=5 ttl=64 time=0.138 ms 
64 bytes from 7.1.1.6: icmp_seq=6 ttl=64 time=0.137 ms 
..... 

This makes Mr. Kernel keep going: 
Looking up port of RPC 100005/1 on 7.1.1.4 
VFS: Mounted root (nfs filesystem). 
Mounted devfs on /dev 
Freeing unused kernel memory: 224k init 
INIT: version 2.78 booting 
Remounting the root filesystem read-write. 
Cleaning: /tmp /var/lock /var/run. 
Mounting local file systems... 
none on /dev/pts type devpts (rw,gid=5,mode=620) 
Setting up IP spoofing protection: rp_filter. 
Configuring network interfaces: done. 
Starting portmap daemon: portmap. 
Initializing random number generator... done. 
INIT: Entering runlevel: 2 
Starting system logger: Done 
Starting kernel logger: Done 
Starting xinetd: Done 

Welcome to DoReMi Labs. Inc. 
ppclinux login: 
  

Looks like the kernel got himself's MAC through the icmp message. It is
fairly wired to me. 

At this moment, on host: 
root at Jeff u-boot-0.3.0<1069>cat /proc/net/arp 
IP address       HW type     Flags       HW address            Mask    
Device 
7.1.1.6          0x1         0x2         FF:FF:FF:FF:FF:FF     *       
eth1 
10.1.1.171       0x1         0x2         00:A0:C5:E0:C4:EC     *       
eth0 
root at Jeff u-boot-0.3.0<1070> 

You will see Mr. Linux Kernel tries to cheat the host by a wrong MAC
address. 
  

Below is my environment variable settings special for dear Ms. U-Boot: 

=> printenv 
baudrate=9600 
loads_echo=1 
loadaddr=0x01000000 
ethaddr=00:04:ac:e3:1d:62 
filesize=b6820 
netmask=255.255.255.0 
ipaddr=7.1.1.6 
serverip=7.1.1.4 
bootfile=vmlinux.PPCBoot 
bootargs=console=ttyS0,9600 ip=7.1.1.6:::255.255.255.0:ppclinux:eth0
nfsroot=7.1 
.1.4:/exports/eldk/ppc_4xx   root=/dev/nfs rw 
stdin=serial 
stdout=serial 
stderr=serial 

Environment size: 602/4092 bytes 
=> 

And: 
=> bdi 
memstart    = 0x00000000 
memsize     = 0x08000000 
flashstart  = 0xFF800000 
flashsize   = 0x00480000 
flashoffset = 0x00000000 
sramstart   = 0x00000000 
sramsize    = 0x00000000 
bootflags   = 0x00000000 
intfreq     =    400 MHz 
busfreq     = 133.333 MHz 
ethaddr     = 00:04:AC:E3:1D:62 
IP addr     = 7.1.1.6 
baudrate    =   9600 bps 
=> 
  

Could anyone give me some hint on these issues? 

Thanks in advance, 





-- 
Jeff H. Zhong
-------------
Doremi Labs, Inc.
306 East Alameda Avenue
Burbank, CA 91502
Tel : (818) 562 1101
Fax : (818) 562 1109




More information about the U-Boot mailing list