[U-Boot-Users] Start up problem with PPCboot 1.2.0

Wolfgang Denk wd at denx.de
Fri Aug 15 15:59:55 CEST 2003


Dear Matias,

in message <76E5F712842F5F49A35738622BAA0F4FDC4393 at ESEALNT442.al.sw.ericsson.se> you wrote:
> 
> I solved the problem by flashing the two other boards 
> with PPCboot 1.1.6 , now everything works fine.

Argh... that was NOT necessary.

Sorry that I didn;t find the time to reply earlier.

> After 1.1.6 I will go for the u-boot distribution.

You should do that anyway.

But it is even more important that you understand that it was a  user
error that prevented your board from booting as expected:

> I thought the bootargs parameter should supply the Linux kernel with 
> it's parameters,
> 
> bootargs=root=/dev/nfs rw nfsroot=130.100.50.56:/tftpboot/130.100.50.55 ip=130.1
> 00.50.55:130.100.50.56::255.255.255.0:::off

I doubt that this was the actual setting of
the "bootargs" variable:

> Linux version 2.4.18_mvl30-lvl7 (uabtrg at RedHatServer) (gcc version 3.2.1 2002093
> 0 (MontaVista)) #1 Fri Jul 18 11:24:13 CEST 2003
> Broadcom BMW Fast Ethernet Routing Switch
> BMW port (C) 2003 LVL7 Systems, Inc. (linville at lvl7.com)
> On node 0 totalpages: 16384
> zone(0): 16384 pages.
> zone(1): 0 pages.
> zone(2): 0 pages.
> Kernel command line:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Here you can see that ABSOLUTELY NO  arguments  were  passed  to  the
Linux  kernel.  This makes me believe that you did NOT set "bootargs"
at all.

...
> =>printenv
> baudrate=9600
> clocks_in_mhz=1
> ethaddr=00:10:18:82:01:A1
> lan_ifname=bcm0
> lan_ifnames=

Such a setting "cannot happen". If you attemot to set a  variable  to
an  empty  string  this  means  the  variable  is  deleted  from  the
environment.

> lan_hwnames=
> lan_hwaddr=
> wan_ifname=eth0
> wan_hwname=
> timer_interval=3600
> ntp_server=
> log_level=0
> time_zone=PST8PDT
> upnp_enable=0
> os_server=http://router:kilroy@64.162.141.122
> stats_server=http://router:kilroy@64.162.141.122/cgi-bin/stats.pl
> console_loglevel=7
> lan_proto=dhcp
> lan_ipaddr=192.168.1.1
> lan_netmask=255.255.255.0
> lan_stp=0
> wan_hostname=
> wan_domain=
> static_route=
> filter_ip=
> filter_tcp=
> filter_udp=
> filter_mac=
> forward_tcp=
> forward_udp=
> dmz_ipaddr=
> http_username=router
> http_passwd=kilroy
> http_wanport=8080
> http_lanport=80
> pppoe_ifname=
> pppoe_username=
> pppoe_passwd=
> pppoe_idletime=60
> pppoe_keepalive=0
> pppoe_demand=0
> pppoe_mru=1500
> pppoe_mtu=1500
> wl_ssid=Broadcom
> wl_country=USA
> wl_closed=0
> wl_wep=off
> wl_auth=0
> wl_key=1
> wl_key1=
> wl_key2=
> wl_key3=
> wl_key4=
> wl_mac=
> wl_macmode=allow
> d11b_channel=11
> d11b_rate=0
> d11b_rateset=default
> d11b_frag=2346
> d11b_rts=2347
> d11b_dtim=3
> d11b_bcn=100
> d11b_plcphdr=long
> d11a_channel=64
> d11a_rate=0
> d11a_rateset=default
> d11a_frag=2346
> d11a_rts=2347
> d11a_dtim=3
> d11a_bcn=100
> d11g_channel=11
> d11g_rate=0
> d11g_rateset=default
> d11g_frag=2346
> d11g_rts=2347
> d11g_dtim=3
> d11g_bcn=100
> restore_defaults=0
> wan_dns=130.100.241.150 130.100.76.22 130.100.76.32
> wan_wins=147.214.112.67 153.88.193.201
> wan_lease=604800
> wan_ipaddr=0.0.0.0
> wan_netmask=0.0.0.0
> wan_gateway=0.0.0.0
> os_name=linux
> os_version=2.4.19-rc3
> filesize=25994a
> dhcp_start=130.100.50.56
> dhcp_end=130.100.50.56
> gw=255.255.255.255
> nfsroot=130.100.50.56:/tftpboot/130.100.50.55
> root=/dev/nfs rw
> bootdelay=5
> bootfile=pSystem
> netmask=255.255.255.0
> ipaddr=130.100.50.55
> serverip=130.100.50.56
> rootpath=/tftpboot/130.100.50.55
> bootcmd=tftpboot 00400000 ; bootm
> bootargs=root=/dev/nfs rw nfsroot=130.100.50.56:/tftpboot/130.100.50.55 ip=130.1
> 00.50.55:130.100.50.56::255.255.255.0:::off
> stdin=serial
> stdout=serial
> stderr=serial
> 
> Environment size: 1903/8172 bytes
> =>

All these empty variable values are "impossible". The only way such a
thing can happen is that there are some unprintable characters  (like
terminal escape sequences) embedded.

I can only speculate, but I am 99.99% sure that you used (or tried to
use) cursor  keys  etc.  when  entering  the  environment,  therefore
entering a lot of invalid characters.

The same must be the case for the bootargs variable - I bet there are
some unprintable characters embedded in the vaiable name, so it  does
not get recognized when booting the Linux kernel. You can verify this
by  typing  "printenv  bootargs"  -  I  bet  a  case of beer that the
variable will not be  found.  Or  somebody  meddled  badly  with  the
envrionemtn processing code.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
"I go on working for the same reason a hen goes on laying eggs."
- H. L. Mencken




More information about the U-Boot mailing list