用户操作
[即时聊天] [发私信] [加为好友]
cxyID:cxylaf
6817次访问,排名15288(1),好友0人,关注者1人。
专研
cxylaf的文章
原创 5 篇
翻译 0 篇
转载 2 篇
评论 6 篇
最近评论
windz_g:1楼说的对,在2.6内核,bootsect.S退休了,在2.6.13还有这个文件,到了2.6.26干脆就不要它了。
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
bluehouse1985:Linux 环境下的多核调试
— Intel + Totalview 强强联合!
目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Total……
cxylaf:bootsect setup vmlinux是放在磁盘引导扇区及随后的扇区上的。
2.6.13的bootsect这个你仔细看下是否看错了,应该不会这样的。
luohandsome:写得真好!
有个疑问:
6、 MBR先将自己复制到0x90000处,然后将紧接其后的setup部分(第二扇区)拷贝到0x90200,将真正的内核代码拷贝到0x100000。以上这些拷贝动作都是以bootsect.S、setup.S以及vmlinux在磁盘上连续存放为前提的;
大部分情况下bootsect setup vmlinux这三个文件是放在文件系统里的吧。……
文章分类
收藏
    相册
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    转载 Linux启动分析(1)— 总体过程收藏

    新一篇: Linux启动分析(2)— bootsect.S、setup.S、head.S分析 | 

    一、系统引导过程总体介绍
    启动流程图:
             
      系统引导过程主要由以下几个步骤组成(以硬盘启动为例)
     1开机;
      2 BIOS加电自检(POST——Power On Self Test),包括检查RAMkeyboard,显示器,软硬磁盘等等。Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码;
    3搜索启动的操作系统,根据BIOS设置,可能会依次访问每个软盘的第一个扇区、硬盘、CD-ROW等;一旦找到有效的启动设备,将第一个扇区(001扇区,也就是Boot Sector)的内容读入内存地址0x7c00处;
      4检查(WORD00007dfe是否等于0xaa55.若不等于则转去尝试其他介质;如果没有其他启动介质,则显示 “No ROM BASIC” ,然后死机;
      5跳转到00007c00处执行MBR中的程序bootsect.S
    6 MBR先将自己复制到0x90000处,然后将紧接其后的setup部分(第二扇区)拷贝到0x90200,将真正的内核代码拷贝到0x100000。以上这些拷贝动作都是以bootsect.Ssetup.S以及vmlinux在磁盘上连续存放为前提的;
    7bootsect.S完成加载动作后,就直接跳转到0x90200,这里正是setup.S的程序入口。 setup.S的主要功能就是将系统参数(包括内存、磁盘等,由BIOS返回)拷贝到 0x90000-0x901FF内存中,这个地方正是bootsect.S存放的地方,这时它将被系统参数覆盖。以后这些参数将由保护模式下的代码来读取。
      8 setup.S还将video.S中的代码包含进来,检测和设置显示器和显示模式。最后,setup.S将系统转换到保护模式,并跳转到0x100000(对于bzImage格式的大内核是 0x100000,对于zImage格式的是0x1000)的内核引导代码,Bootloader过程结束;
      9Bootloader跳转到0x100000, 此处为"arch/I386/init/head.S"中的startup_32 startup_32的代码只需要设置一下全局变量,然后就跳转到start_kernel去了;start_kernel()"init/main.c"中的asmlinkage函数,至此,启动过程转入体系结构无关的通用C代码中;
      10start_kernel()中设置与体系结构相关的环境、页表结构初始化、Trap/IRQ初始化、核心进程调度器初始化、时间/定时器初始化、控制台初始化、核心Cache初始化、内存初始化、内部及通用等各种Cache初始化、信号量初始化、其他部分初始化(Init()smp_init())
      11、启动Init()过程,创建第一个进程;Init()中,取得 run-level 信息, 执行 /etc/rc.d/rc.sysinit 脚本, 激活核心的外挂式模块 (/etc/modules.conf), 然后init 执行 run-level 的各个脚本, 接着执行 /etc/rc.d/rc.local脚本, 最后执行 /bin/login 程序, 登入之后开始以 Shell 控管主机;
      12、启动完成。 

    发表于 @ 2007年05月26日 10:13:00|评论(loading...)|编辑

    新一篇: Linux启动分析(2)— bootsect.S、setup.S、head.S分析 | 

    评论

    #luohandsome 发表于2007-08-26 18:48:32  IP: 60.186.185.*
    写得真好!
    有个疑问:
    6、 MBR先将自己复制到0x90000处,然后将紧接其后的setup部分(第二扇区)拷贝到0x90200,将真正的内核代码拷贝到0x100000。以上这些拷贝动作都是以bootsect.S、setup.S以及vmlinux在磁盘上连续存放为前提的;
    大部分情况下bootsect setup vmlinux这三个文件是放在文件系统里的吧。比如在/usr/src/linux/arch/i386/boot/下?
    2.6.13的bootsect什么都不做,只打印一句
    "Direct booting from floppy is no longer supported.\r\n"
    "Please use a boot loader program instead.\r\n"
    "\n"
    "Remove disk and press any key to reboot . . .\r\n"
    #cxylaf 发表于2007-10-13 10:10:13  IP: 10.44.40.*
    bootsect setup vmlinux是放在磁盘引导扇区及随后的扇区上的。
    2.6.13的bootsect这个你仔细看下是否看错了,应该不会这样的。
    #bluehouse1985 发表于2008-09-24 14:53:46  IP: 116.231.56.*
    Linux 环境下的多核调试
    — Intel + Totalview 强强联合!
    目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Totalview Debugger 正是在这种情况下应运而生!
    Intel软件可以在英特尔架构上产生出色的应用程序性能,并可以利用最新英特尔多核处理器的各项先进功能。TotalView Debugger与Intel软件的结合将会掀起一场linux下调试工具的革命!
    TotalView Debugger是一个linux平台并行环境下的调试工具,它的IDE环境、多线程(进程)调试能力、内存调试能力、集群调试能力在业界都是无与伦比的!
    XLsoft携手Intel、TotalView公司于2008年10月30日在上海举行“Linux 环境下的多核调试”免费培训讲座。我们非常荣幸地邀请您参加,并提供免费软件试用光盘!

    一、报名方式:
    电话:021-62128912/010-84492749
    Email:Marketing@xlsoft.com.cn

    二、讲座内容:
    1. Linux 平台下程序调试工具概述
    2. Intel 软件功能介绍
    3. Totalview Debugger功能介绍

    三、讲座时间:
    2008年10月30日(星期四)14:00 ~ 17:00

    四、讲座地点:
    上海青松城大酒店3楼长悦厅
    (徐家汇肇家浜路777号东安路口,距衡山路站约15分钟路程)

    四、活动详情:
    联系人:王娟
    Tel:021-62128916 Mobile: 15000262606
    E-mail:kiko.wang@xlsoft.com.cn

    咨询热线:
    021-62128912 010-84492749
    更多的服务信息,请联系我们Marketing@xlsoft.com.cn or 联系方式。

    上海世全软件信息技术有限公司
    联系电话 上海:021-62128912 北京:010-84492749

    #bluehouse1985 发表于2008-09-24 14:54:17  IP: 116.231.56.*
    Linux 环境下的多核调试
    — Intel + Totalview 强强联合!
    目前,在软件开发行业,各种性能优异的调试工具层出不穷。但是,它们中的绝大部分都只支持windows环境。即使能支持linux平台,操作起来也很不方便。因此,对于长期在linux上编写程序的开发人员来说,如何调试就成了一个令人头痛的问题!Intel软件 和 Totalview Debugger 正是在这种情况下应运而生!
    Intel软件可以在英特尔架构上产生出色的应用程序性能,并可以利用最新英特尔多核处理器的各项先进功能。TotalView Debugger与Intel软件的结合将会掀起一场linux下调试工具的革命!
    TotalView Debugger是一个linux平台并行环境下的调试工具,它的IDE环境、多线程(进程)调试能力、内存调试能力、集群调试能力在业界都是无与伦比的!
    XLsoft携手Intel、TotalView公司于2008年10月30日在上海举行“Linux 环境下的多核调试”免费培训讲座。我们非常荣幸地邀请您参加,并提供免费软件试用光盘!

    一、报名方式:
    电话:021-62128912/010-84492749
    Email:Marketing@xlsoft.com.cn

    二、讲座内容:
    1. Linux 平台下程序调试工具概述
    2. Intel 软件功能介绍
    3. Totalview Debugger功能介绍

    三、讲座时间:
    2008年10月30日(星期四)14:00 ~ 17:00

    四、讲座地点:
    上海青松城大酒店3楼长悦厅
    (徐家汇肇家浜路777号东安路口,距衡山路站约15分钟路程)

    四、活动详情:
    联系人:王娟
    Tel:021-62128916 Mobile: 15000262606
    E-mail:kiko.wang@xlsoft.com.cn

    咨询热线:
    021-62128912 010-84492749
    更多的服务信息,请联系我们Marketing@xlsoft.com.cn or 联系方式。

    上海世全软件信息技术有限公司
    联系电话 上海:021-62128912 北京:010-84492749

    #windz_g 发表于2008-10-10 16:47:41  IP: 58.211.218.*
    1楼说的对,在2.6内核,bootsect.S退休了,在2.6.13还有这个文件,到了2.6.26干脆就不要它了。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © cxy