欢迎来到天天文库
浏览记录
ID:41028440
大小:94.50 KB
页数:9页
时间:2019-08-14
《linux内核启动地址 解压缩 启动参数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds, vmlinux-armv.lds的生成过程在kernel/arch/arm/Makefile中 ifeq($(CONFIG_CPU_32),y) PROCESSOR =armv TEXTADDR =0xC0008000 LDSCRIPT =arch/arm/vmlinux-armv.lds.in endif arch/arm/vmlinux.lds:$(
2、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_inf
3、o_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.
4、init) __initcall_end=.; .=ALIGN(4096); __init_end=.; } /DISCARD/:{ /*Exitcodeanddata */ *(.text.exit) *(.data.exit) *(.exitcall.exit) } .text:{ /*Realtextsegment */ _text=.; /*Textandread-onlydata */ *(.text) *(.fixu
5、p) *(.gnu.warning) *(.rodata) *(.rodata.*) *(.glue_7) *(.glue_7t) *(.got) /*Globaloffsettable */ _etext=.; /*Endoftextsection */ } .kstrtab:{*(.kstrtab)} .=ALIGN(16); __ex_table:{ /*Exceptiontable */ __start___ex_
6、table=.; *(__ex_table) __stop___ex_table=.; } __ksymtab:{ /*Kernelsymboltable */ __start___ksymtab=.; *(__ksymtab) __stop___ksymtab=.; } .=ALIGN(8192);.data:{ /* *first,theinittaskunion,aligned *toan8192byteboundary. */ *(.init.task) /*
7、*thenthecachelinealigneddata */ .=ALIGN(32); *(.data.cacheline_aligned) /* *andtheusualdatasection */ *(.data) CONSTRUCTORS _edata=.; } .bss:{ __bss_start=.; /*BSS */ *(.bss) *(COMMON) _end=.; } /*Stabsdebuggingsections. */ .stab0:{*
8、(.stab)} .stabstr0:{*(.stabstr)} .stab.excl0:{*(.stab.excl)} .stab.exclstr0:{*(.stab.exclstr)} .stab.index0:{*(.s
此文档下载收益归作者所有