linux内核流程分析,Linux内核启动流程分析(一)..docx

Linux内核启动流程分析(一).

很久以前分析的,一直在电脑的一个角落,今天发现贴出来和大家分享下。由于是word直接粘过来的有点乱,敬请谅解!S3C2410?Linux?2.6.35.7启动分析(第一阶段)arm?linux?内核生成过程?1.?依据arch/arm/kernel/vmlinux.lds?生成linux内核源码根目录下的vmlinux,这个vmlinux属于未压缩,带调试信息、符号表的最初的内核,大小约23MB;?命令:arm-linux-gnu-ld?-o?vmlinux?-T?arch/arm/kernel/vmlinux.lds??arch/arm/kernel/head.o??init/built-in.o??--start-grouparch/arm/mach-s3c2410/built-in.okernel/built-in.omm/built-in.ofs/built-in.oipc/built-in.odrivers/built-in.onet/built-in.o??--end-group?.tmp_kallsyms2.o?2.?将上面的vmlinux去除调试信息、注释、符号表等内容,生成arch/arm/boot/Image,这是不带多余信息的linux内核,Image的大小约3.2MB;??命令:arm-linux-gnu-objcopy?-O?binary?-S??vmlinux?arch/arm/boot/Image?3.将?arch/arm/boot/Image?用gzip?-9?压缩生成arch/arm/boot/compressed/piggy.gz大小约1.5MB;??命令:gzip?-f?-9?<?arch /arm/boot/compressed/../Image?>?arch/arm/boot/compressed/piggy.gz?4.?编译arch/arm/boot/compressed/piggy.S?生成arch/arm/boot/compressed/piggy.o大小约1.5MB,这里实际上是将piggy.gz通过piggy.S编译进piggy.o文件中。而piggy.S文件仅有6行,只是包含了文件piggy.gz;??命令:arm-linux-gnu-gcc?-o?arch/arm/boot/compressed/piggy.o?arch/arm/boot/compressed/piggy.S?5.?依据arch/arm/boot/compressed/vmlinux.lds?将arch/arm/boot/compressed/目录下的文件head.o?、piggy.o?、misc.o链接生成?arch/arm/boot/compressed/vmlinux,这个vmlinux是经过压缩且含有自解压代码的内核,大小约1.5MB;?命令:arm-linux-gnu-ld?zreladdr=0params_phys=0-T?arch/arm/boot/compressed/vmlinux.lds?arch/arm/boot/compressed/head.o?arch/arm/boot/compressed/piggy.o?arch/arm/boot/compressed/misc.o?-o?arch/arm/boot/compressed/vmlinux?6.?将arch/arm/boot/compressed/vmlinux去除调试信息、注释、符号表等内容,生成arch/arm/boot/zImage大小约1.5MB;这已经是一个可以使用的linux内核映像文件了;?命令:arm-linux-gnu-objcopy?-O?binary?-S??arch/arm/boot/compressed/vmlinux??arch/arm/boot/zImage?7.?将arch/arm/boot/zImage添加64Bytes的相关信息打包为arch/arm/boot/uImage大小约1.5MB;?命令:?./mkimage?-A?arm?-O?linux?-T?kernel?-C?none?-a?0-e?0-n?'Linux-2.6.35.7'?-d?arch/arm/boot/zImage?arch/arm/boot/uImage内核启动分析:本文着重分析S3C2410?linux-2.6.35.7?内核启动的详细过程,主要包括:?zImage?解压缩阶段、?vmlinux?启动汇编阶段、?startkernel?到创建第一个进程阶段三个部分,一般将其称为?linux?内核启动一、二、三阶段,本文也将采用这种表达方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值