我已阅读并尝试遵循每个用于自定义 Ubuntu 内核的链接,包括:
- 构建你自己的内核 - Ubuntu Wiki-# 我从这个开始,但当我到达引用的步骤时无法继续,
fakeroot /debian/rules
因为debian
目录不存在。 - 内核/编译(最后更新于 2013 年 3 月 5 日)# 再次,没有
debian
文件夹 - 重新编译内核的简单方法是什么?
我下载了所有内容(除了不再存在的软件包)。但之后,我无法继续:
我已经下载了此版本的所有内核的源代码:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-precise.git
并将其移动到 /usr/src/ubuntu-precise 目录,虽然我无法找到 debian 文件夹,但它位于 /usr/src/ubuntu-precise/debian 下。也许是因为我没有符号链接?
重命名了旧版本的源目录,并为 ubuntu-precise 创建了同名的符号链接。这在《Ubuntu Unleashed》第 426 页中有介绍。
我已经下载/安装了构建环境:
sudo apt-get build-dep linux-image-$(uname-r)
按照第二个链接上面,我安装了指示的软件包:
sudo apt-get install linux-kernel-devel fakeroot -kernel-wedge buid-essential
(linux-kernel devel not found) Removed and continued with others because it is
supposedly now part of the build-dep linux...etc.
fakeroot
因为其他的都已经存在,所以才安装了这个。
还安装了:
sudo apt-get install crash kexec-tools makedumpfuile
sudo apt-get build-dep linux # which did not install or update
sudo apt-get install git-core libncurse5 libncurse5-dev libelf-dev asciidoc binutils-dev
sudo apt-get install kernel-package
sudo apt-get install ccaches
最后但并非最不重要
sudo apt-get install libnewt-dev # which was already there and did not install
由于我已尝试过多次,因此我必须:
$make-kpkg #to clean source directories
$make mrproper # to clean all subdirectories of source
通过将 mrproper 删除的 .config 从 复制到/boot
来恢复它/usr/src/ubuntu-precise
。从源目录 ubuntu-precise:
$sudo cp /boot/config-$(uname -r) ./.config # $(uname -r) checks current kernel and grabs it
$ make menuconfig # to open old config, make changes and save
$ fakeroot make-kpkg-j 2 --initrd --append-to-version=-jn kernel_image kernel_headers
其中 2 = 处理器数量,-jn 附加到 deb 以标记更改的版本
现在正在编译,但我真心希望不会收到错误。我们真心需要一套好的指令,它不是说做这个或那个,而是解释你在使用命令时在做什么,并且 wiki 应该保持最新。