zoukankan      html  css  js  c++  java
  • 构建linux内核树

    构建linux内核树

    转载自:http://hi.baidu.com/wdr_cloud/item/a101178d02f5d6934514cf57

    以下内容仅供个人学习之用,切勿挪用他途。


    先查看自己OS使用的内核版本


    shana@shana:~$ uname -r
    2.6.22-14-generic /* 这是我显示的结果 */

    如果安装系统时,自动安装了源码。在 /usr/src 目录下有对应的使用的版本目录。例如下(我是自己下的)

    shana@shana:/usr/src$ ls
    linux-headers-2.6.22-14
    linux-headers-2.6.22-14-generic
    linux-source-2.6.22 /*这个就是解压后的源码目录 */
    linux-source-2.6.22.tar.bz2 /* 这是我下的源码 包 */
    shana@shana:/usr/src$

    如果没有源码。(一般ubuntu 都没有吧)
    查看一下可一下载的源码包(切记不要使用超级用户使用此命令否则……会提示没有此命令)

    shana@shana:/usr/src$ apt-cache search linux-source
    linux-source - Linux kernel source with Ubuntu patches
    xen-source-2.6.16 - Linux kernel source for version 2.6.17 with Ubuntu patches
    linux-source-2.6.22 - Linux kernel source for version 2.6.22 with Ubuntu patches
    shana@shana:/usr/src$

    我选择了 linux-source-2.6.22 - Linux kernel source for version 2.6.22 with Ubuntu patches 这个~
    然后 install 之

    shana@shana:/usr/src$ sudo apt-get install linux-source-2.6.22

    下载完成后,在/usr/src下,文件名为:linux-source-2.6.22.tar.bz2,是一个压缩包,解压缩既可以得到整个内核的源代码:

    注意 已经切换到超级用户模式

    root@shana:/usr/src#tar jxvf linux-source-2.6.20.tar.bz2

    解压后生成一个新的目录/usr/src/linux-source-2.6.22,所有的源代码都在该目录下。

    进入该目录

    开始配置内核 选择最快的原版的配置(默认)方式 (我是如此)

    root@shana:/usr/src/linux-source-2.6.22# make oldconfig

    当然你也可以使用 自己喜欢的配置方式 如 menuconfig , xconfig(必须有GTK环境吧)。反正不用剪裁什么,所以不管那种方式能配置它就行了。

    完成后,开始make 吧 这儿比较久 一般有1一个小时吧。(保证空间足够 我编译完成后 使用了1.8G) 我分区时分给/目录30G的空间,我没遇到这问题。倒是我朋友遇到了。

    shana@shana:/usr/src/linux-source-2.6.22$ make

    shana@shana:/usr/src/linux-source-2.6.22$ make bzImage

    当然,第一个make也可以不执行,直接make bzImage。执行结束后,可以看到在当前目录下生成了一个新的文件: vmlinux, 其属性为-rwxr-xr-x。

    然后 :

    root@shana:/usr/src/linux-source-2.6.22#make modules /* 编译 模块 */

    root@shana:/usr/src/linux-source-2.6.22#make modules_install /* 安装 模块 */

    执行结束之后,会在/lib/modules下生成新的目录/lib/modules/2.6.22-14-generic/
    。 在随后的编译模块文件时,要用到这个路径下的build目录。至此,内核编译完成。可以重启一下系统。
  • 相关阅读:
    共用体类型,结构体类型
    动态内存分配与指向它的指针变量
    向上转型,向下转型
    枚举类型中的构造方法、成员方法
    由setTimeout()里的this引出的this
    eclipse快捷键
    js中运算符的优先级
    关于js闭包杂记
    sublime在Mac osx下安装z-codeing(即emmet)
    利用js得到某个范围内的整数随机数
  • 原文地址:https://www.cnblogs.com/techstone/p/3321355.html
Copyright © 2011-2022 走看看