<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:"\B9D1\C740 \ACE0\B515";
panose-1:2 11 5 3 2 0 0 2 0 4;}
@font-face
{font-family:"\@\B9D1\C740 \ACE0\B515";
panose-1:2 11 5 3 2 0 0 2 0 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-autospace:none;
word-break:break-hangul;
font-size:10.0pt;
font-family:"\B9D1\C740 \ACE0\B515";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"\B9D1\C740 \ACE0\B515";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"\B9D1\C740 \ACE0\B515";}
/* Page Definitions */
@page WordSection1
{size:612.0pt 792.0pt;
margin:3.0cm 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=KO link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span lang=EN-US>I saw in a linux build log this command (how to generate from 'vmlinux' to 'Image'), <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>> /home/ckim/N1SDP/arm-reference-platforms/tools/gcc/gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-objcopy<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>> -O binary -R .note -R .note.gnu.build-id -R .comment -S vmlinux arch/arm64/boot/Image<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>so the 'Image' file is generated from 'vmlinux' by objcopy command and about the -S option, objcopy help says <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> '-S --strip-all Remove all symbol and relocation information' <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>I checked I can run 'Image' file on the machine and it really boots linux to some point(I just tested it on qemu-system-aarch64, with -m virt option), arm support person says the 'Image' file is loaded at 0x40000000 in the 'virt' machine when I passed the 'Image' with -kernel option.(I guess the qemu knows where to load it..). <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>My question is, I understand I can load the 'Image' file anywhere on the memory (because it's position independent code using only relative offsets for function calls and variable addresses probably,..), and at some point the kernel itself relocates the kernel image to somewhere else. (In arm64 linux, they don't use compressed kernel, so is it not relocated later in this case?). How does the kernel program ('Image') relocates the image and setup the MMU table when there is no symbol or relocation table? <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Can anyone correct my understanding if I'm wrong and explain to me how objcopy works and how kernel relocation is done in this case?(if it's done). <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>(I know 'vmlinux' file is ELF file so the loader knows where to load it from where to start it, but this 'Image' files doesn't have any such information).<o:p></o:p></span></p></div></body></html>