Embedded Linux Kernel make with compressed boot.pdf
-
Upload
mochamad-rizal-jauhari -
Category
Documents
-
view
237 -
download
0
Transcript of Embedded Linux Kernel make with compressed boot.pdf
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
1/12
Embedded Linux:Embedded Linux:
Kernel MakeKernel Make (compressed with boot)(compressed with boot)
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
2/12
http://network.hanbat.ac.kr Embedded Linux 2
kernelkernel
in $(!"#%)
& make
'' $(!"#%)
linux (
mlinux)
.
& ile linux
EL* +2'bit L,- executable danced %,0 Machines %M ersion 1staticall linked not stripped
kernel : *ile se3uence
head'arm., orhead'arm'dsc21., arch/armnommu/kernel
main.c init/
..
.
.
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
3/12
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
4/12
http://network.hanbat.ac.kr Embedded Linux =
Linux architecture'independent initiali>ationLinux architecture'independent initiali>ation
%eer http://www.linuxdoc.or9/?!@!/Linux'nit'?!@!'A.html
main.c/start8kernel()
setup8arch() setup8processor()
setup8architecture(machine8arch8tpe)
init8bootmem8node(B) ree8bootmem(B) pa9in98init(B)
trap8init() init8%7() /C initiali>e %7 handler C/ sched8init()
sotir38init()
time8init()D /C initiali>e timer C/
console8init()
init8modules() kmem8cache8init() mem8init()
mount initrd (mabe)
B
cpu8idle()D
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
5/12
http://network.hanbat.ac.kr Embedded Linux A
kernelkernel (not completed)(not completed)
*(.text.init)8stext 88init8be9in
*(.proc.info)
88proc8ino8be9in
*(.arch.info)88proc8ino8end 88arch8ino8be9in
*(.data.init)
*(.setup.init)
*(.initcall.init)
88arch8ino8end
88setup8start
88setup8end 88initcall8start
x1
x =4F.init
*(.text)8text
...
*(__ex_table)
88start888ex8table
*(__ksymtab)88stop888ex8table 88start888ksmtab
*(__kallsyms)88stop888ksmtab 88start888kallsms
*(.got)88stop888kallsms
8etext
.text
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
6/12
http://network.hanbat.ac.kr Embedded Linux
boot/compressed/mlinuxboot/compressed/mlinux boot/>ma9eboot/>ma9e
kernel
(pi99.o)
misc.o
head.o
o b Gcop 2
9 > ip. ld
,
in ...boot/compressed/
$(!"#%)/arch/armnommu/boot/compressed/mlinux
>ma9eo b Gcop
2
$(!"#%)/arch/armnommu/boot/>ma9e
head'arm., orhead'arm'dsc21.,
main.c
..
.
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
7/12http://network.hanbat.ac.kr Embedded Linux
$(!"#%)/arch/armnommu/boot/compressed/mlinux$(!"#%)/arch/armnommu/boot/compressed/mlinux
C(.start)C(.text)C(.ixup)
C(.9nu.warnin9)C(.rodata)
C(.rodata.C)C(.9lue8:)C(.9lue8:t)
L!#8##% 8load8addr
EH8,% 8text 8start
pi99.oinput8data
C(.data)input8data8end 8etext
text
data
C(.bss)8edata -,,8,% 88bss8start
bss
C(.stack)8end
stack
user8stack sp (initiall)
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
8/12http://network.hanbat.ac.kr Embedded Linux I
*lash ma9e*lash ma9e
>$ma9e l d kernel.o
initrd
l d
initrd.o
init.o lash kernel.o initrd.o%M kernel.oin .../boot/bootp/
...boot/bootp/bootp(*lash )
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
9/12http://network.hanbat.ac.kr Embedded Linux F
!erall *lash ma9e!erall *lash ma9e
kernel(pi99.o)
misc.o
head.o
,
in ...boot/compressed/
init.olash kernel.o initrd.o%M
kernel.o
in .../boot/bootp/
initrd.o
kernel.ohead'arm., or
head'arm'dsc21.,
main.c
.
.
.
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
10/12http://network.hanbat.ac.kr Embedded Linux 14
-ootin9 ,cenario (1)-ootin9 ,cenario (1)
kernel(pi99.o)
misc.o
head.o
,
in ...boot/compressed/
init.olash kernel.o initrd.o
%M kernel.oin .../boot/bootp/
initrd.o
kernel.o
bootblock
*lash %M
(1)
head'arm., or
head'arm'dsc21.,
main.c
.
.
.
(1) power'on boot block pc
lash init.o.
(pc r454 r15Juni3uearchitecture K MM6 o #'cacheo .
head'arm., .)
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
11/12http://network.hanbat.ac.kr Embedded Linux 11
-ootin9 ,cenario (2)-ootin9 ,cenario (2)
kernel
(pi99.o)
misc.o
head.o
,
in ...boot/compressed/
init.o
initrd.o
kernel.o
bootblock
*lash %M
kernel(pi99.o)
misc.o
head.o
initrd.o
(2 )
(2) *lash init.o kernel.o
initrd.o %M kernel.o
.
head'arm., or
head'arm'dsc21.,
main.c
.
.
.
-
8/17/2019 Embedded Linux Kernel make with compressed boot.pdf
12/12http://network.hanbat.ac.kr Embedded Linux 12
-ootin9 ,cenario (+)-ootin9 ,cenario (+)
(+) head.o
.
kernel(pi99.o)
misc.o
head.o
,
in ...boot/compressed/
init.o
initrd.o
kernel.o
bootblock
*lash %M
kernel
(pi99.o)
misc.o
head.o
initrd.o
kernel
(+)
head'arm., orhead'arm'dsc21.,
main.c
.
.
.