以使得Linux满足硬实时的需求,美高梅赌堵595991、在获取源码包之前

2020-03-27 作者:美高梅-运维   |   浏览(159)

如果我需要为我的Debian或Ubuntu下载并安装完整树结构的内核源码以供编译一个定制的内核。那么在Debian或Ubuntu上有什么可行的方法来下载完整的内核源码呢?

Ubuntu中获取仓库中的工具源码与构建命令

简介
RT-Preempt Patch是在Linux社区kernel的基础上,加上相关的补丁,以使得Linux满足硬实时的需求。下面是编译RT linux内核的流程,以内核3.18.59为例。

在给你的Linux安装完整内核源码之前,先问问自己是否真的需要这样做。如果你仅仅是尝试去编译一个内核模块或是为内核定制驱动,你并不需要完整的内核源码树。你只需要安装一些与内核对应的头文件,这样就足够了。

 

流程

美高梅赌堵59599 1

如何获取ubuntu源码包里面的源码?

下载代码

只有在你需要生成一个定制的内核,而且内核源码中的一些内核默认设置要被你调整了的情况下,你才需要完整的内核源码树。

 

rt补丁下载
内核源码下载

这里将会解答如何在Debian或Ubuntu的库中下载并安装完整树结构的内核源码。你可以在下载官方的内核源码,不过使用发行版软件仓库可以允许你下载包含补丁的内核源码。

1、在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项

下载的内核和补丁版本号必须严格对应

在Debian上安装完整的内核源码

在下载内核源码之前,先安装dpkg-dev,其中包含你在Debian上生成源代码时需要的开发工具套件。不仅如此,dpkg-dev中还包含在用来解压Debian源码包并自动打补丁的工具dpgk-source。

$ sudo apt-get install dpkg-dev

然后,运行以下命令下载完整的内核源码。

$ apt-get source linux-image-$(uname -r)

伴随着完整内核源码(linux_X.X.XX.orig.tar.xz)的还有一些可用的内核补丁(linux_X.X.X+XXX.debian.tar.xz)和源码控制文件(linux_XXXX.dsc),这些都将被下载并存储到当前目录。在.dsc文件中会指出如何给内核源码打补丁。

当下载完成,以上的命令将会自动调用工具dpkg-source将下载的内核源码解压到当前的目录中,与此同时根据.dsc文件来下补丁。

最终完整的内核源码树将会以”linux-X.X.XX”的形式呈现在当前目录中。

2、使用如下命令获取xxx源码包的详细信息:

打补丁

在Ubuntu上安装完整内核源码

如果你想安装完整内核源码的话,以上在Debian上的那一套做法在Ubuntu上仍然奏效。

在Ubuntu上还有另一套方法安装完整内核源码。事实上,你可以查一下由Canonical为Ubuntu不同发行版维护的内核源码树。

$ sudo apt-get install git
$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-$(lsb_release --codename | cut -f2).git

举个例子,如果你使用的是Ubuntu 14.04,以上的命令将会查看Git的”ubuntu-trusty”仓库中的代码。

一旦在你对Git仓库的查询结束后,使用以下的命令来安装用来访问生成内核源码树所需依赖的重要开发包。

$ sudo apt-get build-dep linux-image-$(uname -r)

 sudo apt-cache showsrc xxx 这用来查询当前镜像站点中是否有该源码包。

解压linux源码linux-3.18.59.tar.gz,把补丁文件patch-3.18.59-rt65.patch.gz放到和内核文件夹同一目录

 

sudo apt-get install libncurses-dev

3、源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后缀名。

cd linux-3.18.59
gzip -cd ../patch-3.18.59-rt65.patch.gz | patch -p1 --verbose

patch -p1 < ../patch-3.18.59-rt65.patch

 sudo apt-get source  xxx    命令来获取源码包,它会将源码包下载到用户当前目录

p0意思是不忽略目录,直接从当前目录开始、p1忽略第一层目录。进入内核目录打补丁,所以使用p1

 

配置内核
make localmodconfig
make menuconfig

本文由美高梅赌堵59599发布于美高梅-运维,转载请注明出处:以使得Linux满足硬实时的需求,美高梅赌堵595991、在获取源码包之前

关键词:

  • 上一篇:没有了
  • 下一篇:没有了