linux内核启动流程分析(一).doc很久以前分析的,一直在电脑的一个角落,今天发
现贴出来和大家分享下。由于是word直接粘过来的有点乱,
敬请谅解!
S3C2410 Linux 2. 6. 35. 7 启动分析(第一阶段)
arm linux内核生成过程
依据arch/arm/kernel/,这个vmlinux属于未压缩,
带调试信息、符号表的最初的内核,大小约23MB;
命令:arm-linux-gnu-ld -o vmlinux -T arch/arm/kernel/
arch/arm/kernel/
init/built-
—start-group
arch/arm/mach-s3c2410/built-
kemel/built-
mm/built-
fs/built-
ipc/built-
drivers/built-
net/built-
—end-group .
将上面的vmlinux去除调试信息、注释、符号表等内容,生成arch/arm/boot/Image,这是不带多余信息 的linux内核,;
命令:arm-limix-gnu-objcopy -0 binary -S vmlinux arch/arm/boot/Image
将 arch/arm/boot/Image 用 gzip -9 压缩生成 arch/arm/boot/compressed/ 大小约
; 命令:gzip -f -9 < arch/arm/boot/compressed/../Image > arch/arm/boot/compressed/
编译 arch/arm/boot/compressed/ 生成 arch/arm/boot/compressed/ 大小约 ,这里实 .。,; 命令:arm-linux-gnu-gcc -o arch/arm/boot/compressed/ arch/arm/boot/compressed/
依据 arch/arm/boot/compressed/ 将 arch/arm/boot/compressed/目录下的文件 >、 ,这个vmlinux是经过压缩且含有自解压代码的内核, ;
命
令:arm-linux-gnu-ld zreladdr=0x30008000 params_phys=0x30000100 -T arch/arm/boot/compressed/ a rch/arm/boot/compressed/ arch/arm/boot/compressed/ arch/arm/boot/compressed/ -o arch/arm /boot/compressed/vmlinux
将 arch/arm/boot/compressed/vmlinux 去除调试信息、注释、符号表等内容,生成 arch/arm/boot/zlmage
;这已经是一个可以使用的linux内核映像文件了;
命令:arm-linux-gnu-objcopy -0 binary -S arch/arm/boot/compressed/vmlinux arch/arm/boot/zlmage
将 arch/arm/boot/zlmage 添加 64Bytes 的相关信息打包为 arch/arm/boot/ulmage 大小约 ;
命
令:./mkimage -A arm -0 linux -T kernel -C none -a 0x30008000 -e 0x30008000 -n 'Linux-. 7' -d arch/arm/ boot/zlmage arch/arm/boot/ulmage
.Aim linux内核陕像uIiiMge生成过程图解
第-步
第三步
*a#
第五步
第七步
Mniuiin
内核启动分析:
本文着重分析S3C2410 linux-
linux内核启动流程分析(一) 来自淘豆网m.daumloan.com转载请标明出处.