linux内核学习笔记2

来源:互联网 发布:淘宝如何自创服装品牌 编辑:程序博客网 时间:2024/06/07 23:42

分析makefile

目的:得到第一个文件,链接脚本


zImage Image xipImage bootpImage uImage: vmlinux

vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE


vmlinux-init := $(head-y) $(init-y)

head-y  := arch/arm/kernel/head.o arch/arm/kernel/init_task.o

init-y   := init/

init-y   := $(patsubst %/, %/built-in.o, $(init-y))

              =init/build-in.o
vmlinux-main := $(core-y) $(libs-y) $(drivers-y) $(net-y)

 core-y := usr/
core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/
    $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
 core-y := $(patsubst %/, %/built-in.o, $(core-y))
=usr/built-in.o  kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o crypto/built-in.o block/built-in.o
说明:built-in.o  为把该文件夹下所有代码文件编入到一个O文件里

libs-y  = lib/lib.a  lib/built-in.o

drivers-y   :=drivers/built-in.o sound/built-in.o

net-y := net/built-in.o


vmlinux-all  := $(vmlinux-init) $(vmlinux-main)

vmlinux-lds  := arch/$(ARCH)/kernel/vmlinux.lds


第一个文件:arch/arm/kernel/head.S

链接脚本:arch/arm/kernel/vmlinux.lds


原创粉丝点击