All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Chan Kim" <ckim@etri.re.kr>
To: <kernelnewbies@kernelnewbies.org>
Subject: RE: What does LOADADDR=0x20008000 mean in linux kernel make command? and what is kernel load address?
Date: Wed, 27 Oct 2021 18:54:10 +0900	[thread overview]
Message-ID: <00d501d7cb18$97244830$c56cd890$@etri.re.kr> (raw)
In-Reply-To: <040c01d7c640$f1f634d0$d5e29e70$@etri.re.kr>


[-- Attachment #1.1: Type: text/plain, Size: 1721 bytes --]

Hello,

For anyone's help..

I asked this question to unix stackexchage and received an answer.

https://unix.stackexchange.com/questions/674155/what-does-loadaddr-0x2000800
0-mean-in-linux-kernel-make-command 

regards,

Chan Kim

 

From: Chan Kim <ckim@etri.re.kr> 
Sent: Thursday, October 21, 2021 3:00 PM
To: kernelnewbies@kernelnewbies.org
Subject: What does LOADADDR=0x20008000 mean in linux kernel make command?
and what is kernel load address?

 

Hello all,

I'm learning u-boot these days and have a question.

Using qemu model, I could (using qemu) load the "Image" (for arm64) on
memory location I want and I could run the kernel booting using `booti
ker_add initrd_addr dtb_addr` command. 

As you know in arm64, the uImage format is not supported.

Then, when building linux kernel for arm (32 bit) using u-boot, what does
"make LOADADDR=0x20008000 uImage" mean? 

Regardless of this LOADADDR, we can load (from SD card or network) the
uImage anywhere we want using u-boot shell. Then what is this LOADADDR?

Does it mean that when we run `bootm` command, the u-boot program relocates
the kernel image inside the uImage to 0x20008000? 

(and the kernel built not using position independent, PC-relative
addressing..using hard absolute addresses..)

Some years ago, we used kernel start address during the build and I had to
load the kernel image exactly on that address. But this time I could load
'Image' anywhere I want and could run it. Why?

Is it because I (not knowingly) compiled the arm64 'Image' using position
independent address(-PIE option)?

If someone with expertise could explain to me what's happening here, I would
really really appreciate it. 

Thank you.

Best regards,

Chan Kim

 

 


[-- Attachment #1.2: Type: text/html, Size: 6174 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

      reply	other threads:[~2021-10-27  9:56 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-21  6:00 What does LOADADDR=0x20008000 mean in linux kernel make command? and what is kernel load address? Chan Kim
2021-10-27  9:54 ` Chan Kim [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00d501d7cb18$97244830$c56cd890$@etri.re.kr' \
    --to=ckim@etri.re.kr \
    --cc=kernelnewbies@kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.