Linux启动(转)

在 Linux 启动过程中,最开始加载的程序就是 bootSect.S 文件.

其中第一行是一个include 语句:#include <asm/boot.h>
而当我去查看boot.h的时候,发现它的真正位置在 "include/asm-i386/boot.h" 而不是 "include/ asm/boot.h"

这让我很不解,查网上资料也没有解答, 打开makefile文件,仔细看了一下,终于找到原因:

在makefile 中有这么一段:

symlinks:
    rm 
-f include/asm
    ( cd include ; ln 
-sf asm-$(ARCH) asm)
    @if [ 
! -d include/linux/modules ]; then 
        mkdir include
/linux/modules; 
    fi

很明显,首先删除了 asm文件夹,然后 在include 下面做了一个软连接: ln -sf asm-$(ARCH)  asm

这里的ARCH明显是系统相关的环境变量了,比如在i386机器上就是代表i386了。这样asm-i386就转成了asm.

转载于:https://www.cnblogs.com/diyunpeng/archive/2009/11/22/1607895.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值