linux内核启动地址 解压缩 启动参数.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:9 大小:94KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

linux内核启动地址 解压缩 启动参数.doc

linux内核启动地址解压缩启动参数.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds,vmlinux-armv.lds的生成过程在kernel/arch/arm/Makefile中ifeq($(CONFIG_CPU_32),y)PROCESSOR=armvTEXTADDR=0xC0008000LDSCRIPT=arch/arm/vmlinux-armv.lds.inendifarch/arm/vmlinux.lds:$(LDSCRIPT)dummy@sed’s/TEXTADDR/$(TEXTADDR)/;s/DATAADDR/$(DATAADDR)/’$(LDSCRIPT)>$@查看arch/arm/vmlinux.lds中OUTPUT_ARCH(arm)ENTRY(stext)SECTIONS{.=0xC0008000;.init:{/*Initcodeanddata*/_stext=.;__init_begin=.;*(.text.init)__proc_info_begin=.;*(.proc.info)__proc_info_end=.;__arch_info_begin=.;*(.arch.info)__arch_info_end=.;__tagtable_begin=.;*(.taglist)__tagtable_end=.;*(.data.init).=ALIGN(16);__setup_start=.;*(.setup.init)__setup_end=.;__initcall_start=.;*(.initcall.init)__initcall_end=.;.=ALIGN(4096);__init_end=.;}/DISCARD/:{/*Exitcodeanddata*/*(.text.exit)*(.data.exit)*(.exitcall.exit)}.text:{/*Realtextsegment*/_text=.;/*Textandread-onlydata*/*(.text)*(.fixup)*(.gnu.warning)*(.rodata)*(.rodata.*)*(.glue_7)*(.glue_7t)*(.got)/*Globaloffsettable*/_etext=.;/*Endoftextsection*/}.kstrtab:{*(.kstrtab)}.=ALIGN(16);__ex_table:{/*Exceptiontable*/__start___ex_table=.;*(__ex_table)__stop___ex_table=.;}__ksymtab:{/*Kernelsymboltable*/__start___ksymtab=.;*(__ksymtab)__stop___ksymtab=.;}.=ALIGN(8192);.data:{/**first,theinittaskunion,aligned*toan8192byteboundary.*/*(.init.task)/**thenthecachelinealigneddata*/.=ALIGN(32);*(.data.cacheline_aligned)/**andtheusualdatasection*/*(.data)CONSTRUCTORS_edata=.;}.bss:{__bss_start=.;/*BSS*/*(.bss)*(COMMON)_end=.;}/*Stabsdebuggingsections.*/.stab0:{*(.stab)}.stabstr0:{*(.stabstr)}.stab.excl0:{*(.stab.excl)}.stab.exclstr0:{*(.stab.exclstr)}.stab.index0:{*(.stab.index)}.stab.indexstr0:{*(.stab.indexstr)}.comment0:{*(.comment)}}arch/arm/Makefile中:vmlinux:arch/arm/vmlinux.ldsarch/arm/vmlinux.lds:$(LDSCRIPT)dummy@sed’s/TEXTADDR/$(TEXTADDR)/;s/DATAADDR/$(DATAADDR)/’$(LDSCRIPT)>$@MAKEBOOT=$(MAKE)-Carch/$(ARCH)/b