[U-Boot] [PATCH 1/2] image: Implement IH_TYPE_KERNEL_ANYLOAD

Wolfgang Denk wd at denx.de
Thu Nov 10 20:27:19 CET 2011


Dear Stephen Warren,

In message <4EBC2096.905 at nvidia.com> you wrote:
>
> OK, I'll rework the patch based on your desired naming.

Thanks.

> However, I do wish to point out that U-Boot's use of the term "load" for
> what is really a "copy"/"move" is incorrect according to the typically
> accepted meaning of the word "load". The extload/fatload commands use
> "load" correctly. I admit relocate is also not a correct phrase to
> describe what's happening.

I agree that these terms are often used intermixed, and few people
actually think about their meaning.  [Just look up in the mailing list
how many people complained that "bootm" did not work when they
"loaded" the images to the address given in the "load adress" field.]

However, I still think that as far as "bootm" is related, the term
"load" is the correct one.  Quoting for example wikipedia:

	In computing, a loader is the part of an operating system that
	is responsible for loading programs. It is one of the
	essential stages in the process of starting a program, as it
	places programs into memory and prepares them for execution.
	Loading a program involves reading the contents of executable
	file, the file containing the program text, into memory, and
	then carrying out other required preparatory tasks to prepare
	the executable for running. Once loading is complete, the
	operating system starts the program by passing control to the
	loaded program code.

	[http://en.wikipedia.org/wiki/Program_loader]

As for extload/fatload - well, these perform "loading" functions to,
in the sense of "reading the contents of a file into memory".

I agree that these terms are often used intermixed, and few people
actually think about their meaning.  [Just look up in the mailing list
how many people complained that "bootm" did not work when they
"loaded" the images to the address given in the "load adress" field.]

However, I still think that as far as "bootm" is related, the term
"load" is the correct one.  Quoting for example wikipedia:

	In computing, a loader is the part of an operating system that
	is responsible for loading programs. It is one of the
	essential stages in the process of starting a program, as it
	places programs into memory and prepares them for execution.
	Loading a program involves reading the contents of executable
	file, the file containing the program text, into memory, and
	then carrying out other required preparatory tasks to prepare
	the executable for running. Once loading is complete, the
	operating system starts the program by passing control to the
	loaded program code.

	[http://en.wikipedia.org/wiki/Program_loader]

As for extload/fatload - well, these perform "loading" functions to,
in the sense of "reading the contents of a file into memory".  But I
don't think much thought was spent on these names when they were
chosen...

> > "bootm" is to boot Linux.  I am not aware of any other OS that can be
> > successfully booted with the "bootm" command (and ifso, it probably
> > gould be started with "go" as well).
> 
> I didn't want to burden my previous email with details, and I quite
> admit I may be wrong here since I'm not familiar with U-Boot's code, but
> what about the following in cmd_bootm.c:

Indeed, you are right.  I had completely forgotten about these.  Heck,
how long didn't I use any of these any more...

> Don't they allow the bootm command to boot other OSs? Those functions
> certainly appear to be called at the end of cmd_bootm() to do the actual
> kernel parameter setup and boot.

Yes, you are right.  Please ignore my comment.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Remember that Beethoven wrote his first symphony in C ...


More information about the U-Boot mailing list