嵌入式操作系统 3基于arm的Linux启动代码分析 陈香兰(xlanchenc@ustc.edu.cn) 计算机应用教研室。计算机学院 嵌入式系统实验室。苏州研究院 中国科学技术大学 Fa112014 November 27,2014 1口401是42在刀00 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作系统 November 27.2014 1 /48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式操作系统 3 基于arm的Linux启动代码分析 陈香兰(xlanchen@ustc.edu.cn) 计算机应用教研室@计算机学院 嵌入式系统实验室@苏州研究院 中国科学技术大学 Fall 2014 November 27, 2014 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 27, 2014 1 / 48
Outline Linux的源代码组织 ② ARWM1inux的编译过程和产生的映像 ●阅读Makefile ●源代码根目录下的vmlinux的生成 ●zImage的生成 。bootpImage的生成 ARWM1inux的启动分析 小结和作业 4口4四1是142刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 November 27.2014 2 /48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. Linux的源代码组织 .2 ARMlinux的编译过程和产生的映像 阅读Makefile 源代码根目录下的vmlinux的生成 zImage的生成 bootpImage的生成 .3 ARMlinux的启动分析 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 27, 2014 2 / 48
考虑Arch为arm,了解源码组织 ●观察Linux源码的根目录 ●观察arch目录 ●观察arch下的arm目录 ●观察include目录 。观察init目录 1口+4四1是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 November 27.2014 5 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 考虑Arch为arm,了解源码组织 观察Linux源码的根目录 观察arch目录 观察arch下的arm目录 观察include目录 观察init目录 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 27, 2014 5 / 48
Outline Liux的源代码组织 ARM1inux的编译过程和产生的映像 ●阅读Makefile ●源代码根目录下的vmlinux的生成 。zImage的生成 ●bootpImage的生成 ARM祖i山x的启动分析 小结和作业 4口4四1是142刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 November 27.2014 6/48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline . 1. Linux的源代码组织 .2 ARMlinux的编译过程和产生的映像 阅读Makefile 源代码根目录下的vmlinux的生成 zImage的生成 bootpImage的生成 .3 ARMlinux的启动分析 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 27, 2014 6 / 48
查看make帮助信息 ●查看make的帮助信息,了解armlinux相关的产物: make ARCH=arm help 其中 Architecture specific targets (arm): ◆zImage -Compressed kernel image (arch/arm/boot/zImage) Image -Uncompressed kernel image (arch/arm/boot/Image) ◆xipImage XIP kernel image,if configured (arch/arm/boot/xipImage) uImage -U-Boot wrapped zImage bootpImage Combined zImage and initial RAM disk (supply initrd image via make variable INITRD=<path>) install Install uncompressed kernel zinstall -Install compressed kernel Install using (your)/bin/installkernel or (distribution)/sbin/installkernel or install to $(INSTALL_PATH)and run 1ilo 4口4四是42刀00 陈香兰(xlanchenoustc,ed加,cn)(计异丸应 收人式样作系统 November 27.2014 7 /48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 查看make帮助信息 查看make的帮助信息,了解armlinux相关的产物: . make ARCH=arm help . . 其中 Architecture specific targets (arm): * zImage - Compressed kernel image (arch/arm/boot/zImage) Image - Uncompressed kernel image (arch/arm/boot/Image) * xipImage - XIP kernel image, if configured (arch/arm/boot/xipImage) uImage - U-Boot wrapped zImage bootpImage - Combined zImage and initial RAM disk (supply initrd image via make variable INITRD=<path>) install - Install uncompressed kernel zinstall - Install compressed kernel Install using (your) ~/bin/installkernel or (distribution) /sbin/installkernel or install to $(INSTALL_PATH) and run lilo 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) November 27, 2014 7 / 48