set environment on bootp without autoload and continue execution
PATCH 1/1 set environment on bootp without autoload and continue execution
Hi,
attached is a patch which changes the behaviour of NetLoop().
I am using a board, which has its own bootloader and which loads u-boot via bootp/tftp. u-boot needs to get its network settings from that bootp server too, but to load the linux kernel via bootp/tftp it must use a different filename than given by the bootp server.
the beginning of the u-boot commandline looks like this:
setenv autoload no; bootp; tftpboot 100000 kernel
The current version of u-boot stops executing the commandline before tftpboot, because the bootp command returns an error, when NetLoop() returns zero.
Currently NetLoop returns the loaded file size or zero on failure. If you do not load a file, then file size stays zero and will be interpreted as a failure, too. This also prevents netboot_update_env() from being called in cmd_net.c.
This patch changes the behaviour so that NetLoop returns -1 on error. Zero and positive integers can then be handled as the file size correctly.
It also removes a warning in list.h. ;)
Best Regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: u-boot_netloop.diff.bz2
Type: application/x-bzip
Size: 1297 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20021109/0928a6aa/attachment.bin
PATCH 1/1 set environment on bootp without autoload and continue execution
Dear Andreas,
Quoted 2 lines · in message <1036801446.610.50.camel@nadell> you wrote:
attached is a patch which changes the behaviour of
NetLoop().
More tests will have to be done, but I think your patch is correct. Also, it probably fixes the problems reported by Steven Scholz.
Steven, can you please report your test resutls?
Quoted 4 lines
The current version of u-boot stops executing the commandline before tftpboot, because the bootp command returns an error, when
NetLoop()returns zero.
Quoted 8 lines
Currently NetLoop returns the loaded file size or zero on failure. If you do not load a file, then file size stays zero and will be interpreted as a failure, too. This also prevents
netboot_update_env()from being called incmd_net.c.This patch changes the behaviour so that NetLoop returns -1 on error. Zero and positive integers can then be handled as the file size correctly.
Makes sense to me.
Quoted 1 line
It also removes a warning in
list.h. ;)
Funny - my compiler didn't warn. Are you running a 3.x compiler? But you are right anyway.
Thanks a lot!
Best regards,
Wolfgang Denk
Signature · 3 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de See us @ electronica 2002 in Munich, Nov 12-15, Hall A3, Booth A3.325
PATCH 1/1 set environment on bootp without autoload and continue execution
Quoted 1 line · Wolfgang Denk
Funny - my compiler didn't warn. Are you running a 3.x compiler?
Yes, I am using gcc 3.2.
Regards,
Andreas
PATCH 1/1 set environment on bootp without autoload and continue execution
Quoted 4 lines · In message <1036983250.608.89.camel@nadell> you wrote:
Quoted 2 lines
Funny - my compiler didn't warn. Are you running a 3.x compiler?
Yes, I am using gcc 3.2.
Native, or as cross compiler?
Best regards,
Wolfgang Denk
Signature · 3 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de See us @ electronica 2002 in Munich, Nov 12-15, Hall A3, Booth A3.325
PATCH 1/1 set environment on bootp without autoload and continue execution
Quoted 5 lines · Wolfgang Denk
Quoted 3 lines
Quoted 1 line
Funny - my compiler didn't warn. Are you running a 3.x compiler?
Yes, I am using gcc 3.2.
Native, or as cross compiler?
As cross compiler.
Regards,
Andreas