Linux Kernel 2.6.5 内核编译过程

原创 2004年06月24日 10:29:00

Linux Kernel 2.6.5 内核编译过程

1. cd /usr/src/linux-2.6

2. 该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖。

   make clean;make mrproper

3. 基于文本选单的配置界面,字符终端下推荐使用

   make menuconfig 配置内核

4. 读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要

   make dep

5. 完成删除前面步骤留下的文件,以避免出现一些错误

   make clean

6. 生成内核

   make bzImage

7. 该步骤是在进行配置过程中,回答Enable loadable module support (CONFIG_MODULES)时选了"Yes"才是必要的,make modulesmake modules_install分别生成相应的模块和把模块拷贝到系统标准目录中,即/lib/modules/$内核版本号

8. mkinitrd initrd-dodo.img 'uname -r' 制作文件系统镜像


附Linux
开机步骤:

1. 执行ROM中的代码加载启动盘上0柱面0扇区中的装载器LILOGRUB,装载器负责定位内核、装载和执行。

2. 一旦内核装载完后,它先是进行基本设备初始化,接着试图加载并登陆磁盘中的根文件系统。

3. 如果内核找不到可装载的根文件系统,启动过程会就此停止。如果根文件系统装载完毕并登陆成功后,你会看到一行信息:VFS: Mounted root (ext2 filesystem) readonly.

  之后,系统发现init程序并执行它,init程序寻找它的配置文件/etc/inittab,并开始执行其中的脚本,这些脚本是一些 SHELL命令的组合,用来执行如下命令,如加载所需模块、装载SWAP、初始化网络、装载fstab中列出的所有驱动器等。最后启动一个叫getty的程序,它负责consolettys之间的通信,它在显示器上打印login提示符并激活login程序,login处理登陆的有效性并建立与用户的对话。至此,启动过程完毕。

Linux kernel 分析之五:内核启动-内核解压缩

这得从vmliux.bin的产生过程说起。 从内核的生成过程来看内核的链接主要有三步: 第一步是把内核的源代码编译成.o文件,然后链接,这一步,链接的是arch/i386/kernel/head.S,...
  • vanquishedzxl
  • vanquishedzxl
  • 2015年07月21日 22:05
  • 1369

Linux内核编译详解

学习了网上的一些资料,自己试着摸索了一下,整理出此文。 由于在下水平相当有限,不当之处,还望大家批评指正^_^ 重要的参考资料有: http://raspberrypi.stackexc...
  • crazycoder8848
  • crazycoder8848
  • 2015年03月08日 12:43
  • 39704

Linux内核2.6和2.4中内核堆栈的比较

Linux内核 2.4和2.6的进程内核堆栈和task描述符存储不太一样,这儿总结一下。 在内核2.4中堆栈是这么定义的: union task_union {         struct...
  • fivedoumi
  • fivedoumi
  • 2016年11月08日 09:51
  • 547

Linux内核与驱动面试要点

1. 实际经验:所开发驱动程序或内核模块的来龙去脉(需求、设计思想、实现方法、要点难点,特别是硬件调试过程中所遇到的特殊情况),所修复BUG的现象、调试手段、原因分析和解决方案。 2. 驱动调试...
  • u013265795
  • u013265795
  • 2015年06月13日 15:38
  • 1482

linux kernel内核编程基础总结

Linux_kernel编程基础总结 时间:2015/10/9 背景:学习linux内核编程,总结学习中的经验,方便之后查看;            通常我们想弄清楚linux内核是怎么样...
  • zbh19921021
  • zbh19921021
  • 2015年10月10日 10:15
  • 2442

linux内核的编译与安装

1、实验背景:主机WIN7     虚拟机VMware (ubuntu12.04)     内核版本linux-3.2.0-23-generic-pae 2、下载了新的内核版本linux-3.2.1...
  • liuqinstudy
  • liuqinstudy
  • 2013年06月08日 14:58
  • 15951

Linux添加与删除内核

添加内核添加内核一般来说并不需要,当然也不是完全不需要。安装新内核大体有以下几种需求: 1. 尝鲜新功能 2. 原来的内核比较臃肿 3. 和硬件兼容 4. 特殊需求 笔者安装新内核就是处于特...
  • aneutron
  • aneutron
  • 2015年10月15日 16:37
  • 3313

史上最全linux内核配置详解

对于每一个配置选项,用户可以回答"y"、"m"或"n"。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加...
  • qq_29350001
  • qq_29350001
  • 2016年05月24日 12:50
  • 15776

linux内核编译与卸载

linux开行版的自带内核不一定能满足linux学习和某些特殊的要求,这时我们就不得不根据自己的需求重新安装内核。这里我介绍一些常用编译内核的步骤。编译内核一、一定是下载满足需求的内核啦。官网:htt...
  • u013592097
  • u013592097
  • 2016年05月31日 20:44
  • 2392

Linux内核面试问题汇总

1) Linux中主要有哪几种内核锁? Linux的同步机制从2.0到2.6以来不断发展完善。从最初的原子操作,到后来的信号量,从大内核锁到今天的自旋锁。这些同步机制的发展伴随Linux从单处理...
  • Watson2016
  • Watson2016
  • 2016年08月08日 19:56
  • 2941
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux Kernel 2.6.5 内核编译过程
举报原因:
原因补充:

(最多只允许输入30个字)