从README开始吧

     其实我觉得对于linux内核,真的不知道从哪里入手是好,因为各个环节关联性太强了,以至于看到这里就不得不翻一下那里是怎么实现的,所以对于入门的确是一件很头疼的事情,我也大概在这里折腾了一个多月,把《linux内核设计与实现》也看了两三遍,还是有点摸不着头脑,不过随着接触多了也就对整体有了一定的认识,在西电的一本《linux操作系统分析》的书上,我发现它首先是从linux内核的启动开始的,这让我觉得是个不错的注意,于是我也就从这里看起。

    就像在使用软件之前要读一下README一样,内核也有这样的一个文件,何不尝试阅读以下提取一些有用的信息呢。

    Linux是UNIX操作系统的一个衍生类型的操作系统,它是由Linus Torvalds创造完成,并且和散布在世界各地的、无组织的内核黑客们通过网络共同编写和维护的操作系统,它遵守POSIX和Single UNIX Specification的规约。

    Linux具有你对一个现代的、成熟的、全面的操作系统一切能够期望功能,包括真正的多任务、虚拟内存管理、共享库、动态模块、写时复制、内存管理和覆盖IPV4和IPV6的网络支持。并且它是在GNU General Public License规约下发布的,可以被任何使用者使用、传播,但是要在free的前提下。

    Linux能够很轻松的移植到任何通用的32位和64位体系结构上,只要该系统具有分页式内存管理单元(PMMU)和一定的GCC编译器端口的功能,并且Linux还可以一直到不具有PMMU功能的架构上,虽然一些功能会受到限制。


安装内核:

1、首先将内核下载到本地的任何一个目录下,当然最好不要使用/usr/src/linux目录,因为这里已经包含一部分的源代码,可能产生混乱,然后对它进行解压:

gzip -cd linux-3.X.tar.gz | tar xvf -    或者    bzip2 -dc linux-3.X.tar.bz2 | tar xvf -

这里的X表示的是版本号,我们这里使用的是3.0.16版本的内核。

2、可以不在本目录下编译,这时候就需要在make命令下增加一定的选项,使用"make O=output/dir"可以在执行目录下对源代码进行编译,如下例:

          kernel source code: /usr/src/linux-3.N

          build directory: /home/name/build/kernel

To configure and build the kernel use: 

               cd /usr/src/linux-3.N

               make O=/home/name/build/kernel menuconfig

               make O=/home/name/build/kernel

               sudo make O=/home/name/build/kernel modules_install install

    可以看到,对于内核的编译也是通过类似于编译软件的方式make  config / make / make install三步。

3、配置内核,一般使用make  config之类的方式进行内核的配置,通常我们会有以下几个可以选择的方式:

             "make config"                  基于文本的配置

             "make menuconfig"       基于图形界面的配置方式

             "make xconfig"                基于X-windows(QT)图形界面的配置方式

             "make oldconfig"            如果只希望在当前的版本上完成新的选项的配置,它将使用./.config的配置信息完成已存在的配置,然后进行新的配置

             "make defconfig"            使用arch/$ARCH/defconfig或者arch/$ARCH/configs/${PLATFORM}_defconfig的配置信息进行配置,并在当前目录下创建一个config文件,使用默认的配置选项。

4、编译内核,首先保证你的GCC编译器版本至少在3.2以上,然后使用make命令会将内核编译成一个压缩的内核映像,为了能够启动新的内核,需要将这个映像(在具体的架构目录的boot目录下的bzImage文件)移动到一般的内核启动的映像所在的目录。

5、修改/etc/lilo.conf文件的一些关于新编译内核的信息,以至于重新启动的时候可以选择新内核启动,配置好这些属性之后就可以重新启动,选择新内核就可以运行新编译的内核了。

 

    以上内容是自己对整个内核编译和使用的理解,关键在于配置内核信息和编译内核,这会消耗一定的时间,最后要选择使用的引导程序完成内核启动时的引导配置,这样就能够使用新编译的属于自己的内核了。            

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值