你们中的许多人似乎在安装 内核预编译了200行补丁 在您的机器上,这是意料之中的,因此最好有一个 核心 直接在我们的机器上编译,而不是在外国机器上编译,这样就可以正确地采用我们机器的体系结构和硬件的常规配置。
因此,在这里我教的是最大胆的方法,即如何在Ubuntu中测试自己的内核(2.6.36.2)(已在 Ubuntu的10.10),其中包含200行的补丁程序。 请记住,此过程应自担风险,它需要下载大量软件包并需要相当长的编译时间。
首先,我们要做的第一件事是通过在终端中执行以下行来安装内核编译所需的依赖项:
sudo apt-get install fakeroot build-essential崩溃kexec-tools makedumpfile kernel-wedge内核包
现在让我们在终端中执行以下行,这是编译内核所必需的(从 强悍)
须藤apt-get build-dep linux
我们通过安装编译所需的其他软件包来完成第一步
sudo apt-get install libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
要继续进行内核安装过程,我们必须下载最新的稳定内核(2.6.36.2)的源代码和补丁。 迈克·加尔布雷思 并在我们的个人目录中找到它们。
让我们为内核编译创建一个目录,找到它并从中下载内核源代码 kernel.org:
mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz
现在,我们创建一个新的文本文件,我们将复制在Mike Galbraith的帖子中找到的代码,或者我们可以从MediaFire下载它,保存并关闭该文件:
gedit〜/ autogroup.patch
麦克·加尔布雷思(Mike Galbraith)的官方帖子
MediaFire的Mike Galbraith Patch
现在,我们将解压缩刚刚从中下载的内核 kernel.org:
tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2补丁-p1 <〜/ autogroup.patch
在这一点上,一切都应该顺利进行,并且没有错误,如果出现错误,则有必要重新启动该过程。
接下来,我们将加载内核的当前配置,以便新内核直接从我们的系统中获取配置,并且在编译它时没有任何问题。 即使这样,如果您有足够的知识,就可以自定义内核配置,以获得更适合您的需求的系统。
如果您不知道自己在做什么,最好不要手动修改内核配置。
我们通过在终端中执行以下命令来复制配置,然后执行
lsmod
这样就可以执行系统中加载的所有模块,并确保可以识别所有硬件。
cp -vi / boot / config -`uname -r` .config使localmodconfig
在这一点上,编译过程将向您询问有关模块的几个问题,并继续接受按 输入 直到设置过程完成。
通过在终端中执行以下行以打开内核配置菜单,我们继续进行内核编译:
cp / boot / config-$(uname -r).config &&是“” | 制作oldconfig制作menuconfig
现在我们可以选择要在内核中启用的补丁,因为我们对200行补丁很感兴趣。
为此,我们浏览出现的内核配置菜单,直到
General Setup
然后寻找带有名称的行
Automatic process group scheduling
,我们可以通过按下键盘上的空格键将其启用,然后将自己置于该选项上
Exit
使用键盘上的箭头键,然后按键 输入 从键盘退出菜单
General Setup
.
现在我们导航到菜单
Kernel hacking
然后按键进入 输入,我们寻找选项
Compile the kernel with debug info
然后通过按键盘上的空格键取消选择它,再次转到选项
Exit
然后按 输入 退出主菜单。
我们已经完成了内核配置,所以我们只需要回到
Exit
在主菜单中,然后按 输入 完成内核配置。 当它询问是否要保存对内核配置所做的更改时,我们可以接受,只要在“是”选项上按Enter。
现在是的,我们将通过在终端中执行以下行来编译内核:
fakeroot make-kpkg --initrd --append-to-version = -20101209内核映像内核头
请注意,构建过程可能会因您的硬件而异
这将在kernel-2.6.36.2目录内生成两个.deb软件包,我们将使用它们在Ubuntu中安装新的内核,从而使它们可以被 突触 并且容易移动。
我们来到了本教程的最后一部分,在那里我们将安装并测试刚刚安装的新内核的正常功能。
要安装我们刚刚生成的两个.deb软件包,我们必须在终端中执行以下命令:
cd .. sudo dpkg -i * .deb
如果一切顺利,我们将重新启动计算机,并在 蛴螬,我们选择新的内核(2.6.36.2)并按 输入 启动系统。
回到桌面后,我们将通过在终端中执行以下行来验证200线补丁是否正确应用并可以正常工作:
猫/usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i自动组
它必须返回这样的一行:
CONFIG_SCHED_AUTOGROUP = y
如果是这样,我们就可以运行我们的系统。 内核2.36.6.2的 和 “自动过程组计划” 活性。
我们已经可以将Ubuntu发挥到最大...
感谢您的努力,本手册来了 弗兰科比.
嗨大卫
我的问题是:
我通常使用ubuntu ppa的内核(https://launchpad.net/~kernel-ppa/+archive/ppa)
这些不再附带200线补丁了吗?
谢谢
看,我仍在检查Ubuntu PPA内核是否包含补丁,但这很容易自己找到,只需运行命令
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
,您将在其中更改计算机上最新内核版本的括号内的文本。如果收到这样的回复消息
CONFIG_SCHED_AUTOGROUP=y
,则您已安装了补丁程序。注意: 要知道计算机上安装的所有内核的版本,只需执行以下命令
ls /usr/src/
在终端。Horacio,Ubuntu PPA内核当前具有V4补丁 迈克·格拉布雷思 用他自己的话 蒂姆·加德纳 (规范的开发人员)。
我已经编译并安装好了,…。 至少系统现在没有消失,无法正常工作
优秀的教程。 我遵循了这封信的步骤,并且一切正常。 我有我的新内核。
注意:我只做了一个听起来很合逻辑的更改,就在这里:
cp -vi / boot / config -` uname -r` .config
使localmodconfig
我这样做是这样的:
cp -vi / boot / config -` uname -r` .config
lsmod.
使localmodconfig
现在我意识到我犯了一个小错误,所以我将重新安装它...并添加不可行的修改
我停留在开头:
init:未读取的主进程(362)终止,状态为5
好吧,它似乎运作良好,怎么可能呢?
很好,很好的手册,他们也将其发布在taringa上,此刻它正在编译内核,我希望它进展顺利,我只是在menuconfig中更改了处理器的类型,希望您选择Intel内核/更新的版本来选择合适的处理器至强,因为我有英特尔酷睿i3处理器,所以在此致以诚挚的谢意!
你好,嗯,这个命令对我来说似乎更好
cp / boot / config -`uname –kernel-release` ./.config
因为它使用安装的最新内核配置
您好,您好吗?我只是有一点疑问…内核文件中同时包含32位和64位版本? 还是要获得amd64版本,我需要下载其他版本吗?…推论出两个版本应该具有相同的权利吗?……很好的解释!
谢谢!