Linux2.6.18内核编译

一.环境

虚拟机:VMware Workstation6.5

操作系统:CRUX2.2

编译内核:linux-2.6.18

文件互传:iso镜像挂载

二.正文

1.  安装CRUX2.2

1.1 下载CRUX2.2的ISO镜像:http://crux.nu/Main/Download

1.2 创建linux2.6x内核的虚拟机,将硬盘设置为IDE格式

1.3 创建分区,格式化,加载分区

创建分区 fdisk /dev/had

Command解释:n创建;a设置启动盘;t指定分区类型;p列出当前硬盘分区情况;d删除一个分区;w保存退出。

格式化分区

1 mkfs.ext3 /dev/hda1
2 mkfs.ext3 /dev/hda3

加载分区

1 mount /dev/hda3 /mnt
2 mkdir /mnt/boot
3 mount /dev/hda1 /mnt/boot

交换空间

1 mkswap /dev/hda2
2 swapon /dev/hda2

1.4    安装源代码

运行命令setup,在Select package to install中默认选择了grub#0.95-4,后面bootloader使用grub启动程序。

1.5    切换根目录,命令:cd /mnt/usr/src/linux-2.6.15.6/

1.6    挂载相关目录

1.7    修改文件系统配置文件/etc/fstab

命令:vim /etc/fstab

修改情况如下图。

1.8    配置内核选项

1 cd /mnt/usr/src/linux-2.6.15.6
2 make menuconfig

在Device Drivers  ---> ATA/ATAPI/MFM/RLL support  ---> 选择所有有关IDE的选项,编译进内核(为了提供对IDE硬盘驱动的支持)。

在File systems  ---> 选择所有有关ext3的选项(将硬盘格式化为ext3格式,将驱动集成进内核),具体如下图。

1.9    编译内核

1 make
2 cp arch/i386/boot/bzImage /boot/vmlinuz
3 cp System.map /boot/System.map

1.10     安装bootloader

配置grub

1 cp /usr/share/grub/i386-pc/* /boot/grub/
2 vim /boot/grub/menu.lst

对应menu.lst的配置如下图。

安装grub

1 grub
2 grub>  root  (hd0,0)
3 grub>  setup  (hd0)
4 grub>  quit

1.11    reboot重新启动

CRUX2.2安装成功

2.  挂载linux-2.6.18内核的iso镜像

2.1 获取linux-2.6.18源码:https://www.kernel.org/pub/linux/kernel/v2.6/

2.2 将linux-2.6.18.tar.gz编辑为iso镜像

2.3 挂载iso镜像,如下图。

3.  将内核压缩文件保存到/usr/src目录,并解压

1 cp linux-2.6.18.tar.gz /usr/src
2 cd /usr/src
3 tar –zxvf linux-2.6.18.tar.gz –C /usr/src

4.  配置内核选项

4.1 进入/usr/src/linux-2.6.18目录

4.2 make menuconfig具体步骤同1.8

5.  Make编译内核步骤同1.9

6.  配置/boot/grub/menu.lst,将title改为linux(2.6.18)。重新安装grub,步骤同1.10

7.  reboot重启

Linux-2.6.18内核编译成功。

相关链接:

Linux fdisk命令使用:http://blog.chinaunix.net/uid-23929712-id-2650378.html

GRUB概念:http://baike.baidu.com/view/225343.htm?fr=aladdin

CRUX2.2安装及bootloader配置:http://blog.csdn.net/billpig/article/details/6036303

CRUX2.6安装经验:http://blog.csdn.net/gaara_fan/article/details/5894311

时间: 2024-10-13 17:17:31

Linux2.6.18内核编译的相关文章

linux2.4.18内核定时器的使用

Linux2.4下驱动中定时器的应用 我的内核是2.4.18的.Linux的内核中定义了一个定时器的结构: #include<linux/timer.h> struct timer_list { struct list_head list; unsigned long expires; //定时器到期时间 unsigned long data; //作为参数被传入定时器处理函数 void (*function)(unsigned long); }; 利用这个结构我们可以在驱动中很方便的使用定时

Linux-2.6.32内核编译流量计数器nfacct

近期一直想看的一本书是<一朵桔梗花>,和技术无关的一本书,但是这并不能表达我对IT技术已经没有兴趣.事实证明,当我无法理解生活百态,无法理解肮脏的领导人心理,无法理解自认为自己可怜却处处步步为营的肮脏轨迹,无法理解不干活儿却从来都是显得自己很累,无法理解上位后的沉默寡言,无法理解拉窗帘,无法理解由于寂寥而加班从而博彩,无法理解省去了租住房的电费后又得到了功勋,无法理解.......等等之后,我TMD能蹂躏的就是:把Linux-3.17的功能移植到Linux-0.01上!       我的时间为

gec2440最简单的一个内核编译 linux2.6.30.4

A 最简单的内核编译: vim 打开 Makefile,修改为: ARCH=arm CROSS_COMPILE=/home/litingting/arm-linux/opt/FriendlyARM/toolschain/4.4.3/bin make s3c2410_defconfig 解释: 因为2410和2440很多地方是一样的,可以用2410的配置文件为基础来配置内核.在内核代码主目录下执行: make s3c2410_defconfig  类似于 cp s3c2410_defconfig

linux-2.6.26内核中ARM中断实现详解(转)

转载:http://www.cnblogs.com/leaven/archive/2010/08/06/1794293.html 更多文档参见:http://pan.baidu.com/s/1dDvJRaD 作者:刘洪涛,华清远见嵌入式学院金牌讲师,ARM ATC授权培训讲师. 看了一些网络上关于linux中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解.先从函数注册引出问题吧. 一.中断注册方法 在linux内核中用于申请中断的函数是req

Linux内核编译完整过程

Linux内核编译完整过程 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是网上的资料,另外就是我在实际编译过程中的一些实际经验. 内核简介 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性. Linux的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也都是遵循GPL而设计的,你都可

Linux内核编译和参数配置

内核 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核.本文将以RedHat Linux 6.0(kernel 2.2.5)为操作系统平台,介绍在Linux上进行内核编译的方法. 一. 下载新内核的源代码 内核,是一个

OpenSUSE 内核编译教程 (kernel 2.6.x)

http://cn.opensuse.org/OpenSUSE_%E5%86%85%E6%A0%B8%E7%BC%96%E8%AF%91%E6%95%99%E7%A8%8B_(kernel_2.6.x) Contents [hide] 1 声明 2 简述 3 基础知识 3.1 什么是内核 3.2 什么是补丁 3.3 为什么要重新编译内核 3.4 若升级不成功,如何恢复官方内核 4 编译步骤 4.1 需求 4.2 下载内核源代码及补丁 4.2.1 哪里获得内核源码 4.3 给内核源代码打补丁 4.

kernel笔记——内核编译与进程管理

内核与操作系统 由于一些商业操作系统设计上的缺陷以及日益庞杂,"操作系统"的概念对很多人而言变得含糊不清.在进一步讨论Linux内核的话题前,我们先区分"内核"与"操作系统"这两个概念. 操作系统:指在整个系统中完成最基本功能和系统管理的部分,包括内核.设备驱动.文件管理工具.系统管理工具.shell命令行或其他用户界面(gnome/KDE等) 内核:是操作系统的核心,完成进程管理.cpu调度.内存管理.中断处理等功能 一般我们编写的应用程序,跑

通过内核编译法向Linux内核添加系统调用

[实验内容]: 向Linux添加一个系统调用 测试该系统调用 使用ptrace或类似的系统跟踪工具来对该测试程序进行跟踪调试 [软件]:VMWare支持的Ubuntu虚拟机 VSCode [步骤] 1.在实验之前先下载好相关软件包 不过如果升级了make以后,如果内核版本低,会报错 1. sudo apt-get install make 2. sudo apt-get install gcc 3. sudo apt-get install libncurses5-dev 4. sudo apt