Ubuntu内核源码树的构建与安装

简介

本文介绍了Ubuntu系统下内核源码树构建与安装的方法,构建环境基于Ubuntu 10.04和2.6.32的内核。

构建环境配置

1. 安装Ubuntu10.04的系统,本文的运行环境是在VMware Workstation 10环境下安装的Ubuntu 10.04的虚拟机环境
2. 配置源列表,更新源列表的方法参见 如何Ubuntu的源列表(source list)
3. 安装编译工具
在构造和编译内核模块之前,应该具备了正确版本的编译器、模块工具和其它必要的工具,内核文档目录中的Documentation/Changes文件列出了需要的工具版本;在开始构造模块之前,应该需要查看该文件并确保已安装了正确的工具。可以通过下面的命令进行集中安装:
sudo apt-get install kernel-package libncurses5-dev
kernel-package是Debian提供的一个编译Linux内核的一个工具集,安装kernel-package 会同时安装上build-essential、libncurses-dev、linux-source等一系列工具。通过下面的命令,可以查看该软件包的依赖关系:
bob@ubuntu:/usr/src$ apt-cache depends kernel-package
kernel-package
  Depends: build-essential
  Depends: make
  Depends: po-debconf
  Depends: gettext
  Depends: file
  Depends: debianutils
  Depends: binutils
  Depends: util-linux
  Depends: module-init-tools
 |Suggests: linux-source
    linux-source-2.6.32
  Suggests: <kernel-source>
  Suggests: e2fsprogs
  Suggests: <libncurses-dev>
    libncurses5-dev
  Suggests: docbook-utils
  Suggests: xmlto
  Suggests: bzip2
  Suggests: <linux-initramfs-tool>
    initramfs-tools
 |Suggests: grub
  Suggests: grub2
  Suggests: jfsutils
  Suggests: mcelog
  Suggests: oprofile
  Suggests: pcmciautils
  Suggests: ppp
  Suggests: procps
  Suggests: reiserfsprogs
  Suggests: squashfs-tools
  Suggests: udev
  Suggests: xfsprogs
  Suggests: quota
  Suggests: btrfs-tools
  Recommends: cpio
从依赖关系中,我们可以看到,它包含了内核编译所需的工具。但缺省情况下,apt-get并不安装推荐和建议的软件包。如果你没有修改缺省配置,则需要额外的安装libncurses-dev等工具的操作。
sudo apt-get install libncurses5-dev
libncurses5软件包主要是支持使用menuconfig配置内核。

4. 下载和安装源码包
各个Linux的发布版本在推出他们的产品时,其实已经都附上了内核的源码了。源码路径位于/usr/src/linux-headers-$(uname -r) 目录下。建议从这个发布源码学习内核编译,因为这里的源码中含有发布厂商设定好的预设设定值。这样可以轻易的了解他们是如何选择与核心及模块有关的各项设定项目的参数值,降低编译的难度。在本文中,我们在配置内核时,使用了系统已有的配置文件。
使用apt-cache search linux-source命令可以查看可用的源码包:
bob@ubuntu:/usr/src$ sudo apt-cache search linux-source
linux-source - Linux kernel source with Ubuntu patches
linux-source-2.6.32 - Linux kernel source for version 2.6.32 with Ubuntu patches
使用apt-get install命令来进行源码的下载:
bob@ubuntu:/usr/src$ sudo apt-get install linux-source-2.6.32
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  libqt3-dev
The following NEW packages will be installed:
  linux-source-2.6.32
0 upgraded, 1 newly installed, 0 to remove and 105 not upgraded.
Need to get 67.2MB of archives.
After this operation, 67.2MB of additional disk space will be used.
Get:1 http://mirrors.163.com/ubuntu/ lucid-security/main linux-source-2.6.32 2.6.32-74.142 [67.2MB]
......

下载后的源码安装在/usr/src目录下,通过tar命令将

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值