我需要在我的 fedora/ubuntu 机器(x86)中安装另一个内核(2.6.34),并且我需要在启动菜单中显示新旧启动选项(新旧内核)
我已经下载了新的内核,我需要编译它并构建它。
我怎样才能从头到尾完成这件事?
答案1
好的,现在我们继续讨论如何编译和安装新内核:
首先,所有这些的依赖关系是:
sudo apt-get install build-essential makedumpfile
加上特定内核的依赖项,对于存储库中的内核,您可以执行以下操作:
sudo apt-get build-dep linux-image-"kernel number"
对于你的内核,我不知道,也许它们相同,也许它们不同,你应该在 Google 上搜索信息,这可能取决于你如何配置你的内核。
此后,我建议您在主文件夹中创建一个工作地方:
mkdir src
cd src
您可以在此处解压缩内核或从存储库中获取内核:
apt-get source linux-image-"kernel number"
现在我们要在解压后的文件夹中进行操作:
cd linux-"kernel number"
在此之后,您将需要一个工具来编辑您的内核配置,有两种不同的工具,要使用它们,您必须安装它们的依赖项:
For xconfig = sudo apt-get install qt3-dev-tools libqt3-mt-dev
For menuconfig = sudo apt-get install libncurses5 libncurses5-dev
我建议你使用 xconfig,它更易于使用。要使用它,请输入:
xconfig = make xconfig
menuconfig = make menuconfig
根据需要配置内核并保存配置。如果不需要,应禁用“内核调试 (DEBUG_KERNEL)”下的“内核调试 (DEBUG_KERNEL)”,因为这将缩短编译时间。
要编译,请输入:
CONCURRENCY_LEVEL=3 sudo make-kpkg --initrd --append-to-version=-something kernel-image kernel-headers
将“CONCURRENCY_LEVEL=3”替换为您的处理器核心数 +1,这将使编译速度更快。将“--append-to-version=-something”替换为您要附加到内核名称的内容。
等待很长时间,具体取决于您的计算机,可能需要几个小时。
当它完成后,如果没有发生任何不好的事情,你将在父文件夹中创建两个漂亮的 Debian 包,安装它们:
cd ..
sudo dpkg -i linux-image-"kernel number".deb
sudo dpkg -i linux-headers-"kernel number".deb
不要忘记更新 grub:
sudo dpkg-reconfigure grub-pc
重新启动新的内核,如果一切正常,您就完成了。
答案2
答案3
安装新内核的步骤如下。我也遇到了一些问题,但我想分享如何构建新内核。
下载最新内核
将其解压到任意目录中。将其解压到您的主文件夹中很有用。
转到该文件夹
cd /home/linux/linux-{version}/
现在创建一个新的配置文件。为此,请使用以下命令之一:
make config
,这将给你配置文件make defconfig
,这将为你提供默认配置文件
然后通过以下命令检查配置文件是否适合您的内核:
make oldconfig
如果您的配置文件中没有某个选项,那么它将为您提供选择选项的选项
<Y/n/m>
。大写字母表示这是默认选项。您Enter只需按一下即可选择该选项。make
或者make -jn
其中n
2* 核心处理器数量make modules_install
make install
重新启动系统并选择新的内核选项。