[U-Boot-Users] do_run_[os]. why restart if there is a minor problem?
Wolfgang Denk
wd at denx.de
Fri Jan 28 22:06:38 CET 2005
In message <005501c50539$af259e00$1000000a at araavanesyan> you wrote:
>
> in function do_run_linux if it finds ramdisk's crc is bad or it's not
> "u-boot-ized" (mkimage) it resets the board. and many other similar minor
> things. so why restart? I propose making do_run_linux return something to
> indicate there is no need to reboot the board and bootm checks this value
> and returns.
Your proposal indicates that you did not follow the boot process.
What is being done right before the ramdisk is being testet? Right,
we uncompressed and loaded the Linux kernel, writing it to RAM
starting at address 0x0000, thus overwriting the exception vertors
installed by U-Boot.
> if you find this may cause backwards compatibility problems, let's make it
> depending on some preprocessor define.
>
> I can submit a patch if you say ok.
I'd be really, really surprised if you could do that. Actually U-Boot
will crash at the next timer interrupt, when it junps into completely
unexpected handler code.
I strongly recommend to check your ideas before posting.
I also recommend to read the code, ideally before posting. Pay
special attention to comments. Sometimes these are actually helpful,
like here:
"common/cmd_bootm.c":
284 /*
285 * We have reached the point of no return: we are going to
286 * overwrite all exception vector code, so we cannot easily
287 * recover from any failures any more...
288 */
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The human mind ordinarily operates at only ten percent of its capaci-
ty - the rest is overhead for the operating system.
More information about the U-Boot
mailing list