在 /home 中编译 Linux 源代码

在 /home 中编译 Linux 源代码

我看了很多Linux内核编译教程...他们都建议把内核代码放进去/usr/src。是有什么特殊原因吗?

如果我在 中编译代码会发生什么/home?因为我/usr的只剩下 4Gb 了。

而且他在编译内核之前还创建了一个软链接。这是必要的吗?其目的是什么?

答案1

你可以在任何你想要的目录中编译你的内核。/usr/src是“老派”

大多数人建议您以用户身份编译内核,并以 root 身份安装。

make menuconfig
make -j5
sudo cp your_kernel /boot
sudo make modules_install

也可以看看

https://help.ubuntu.com/community/Kernel/Compile

http://bodhizazen.com/Tutorials/kernel

http://kernel-seeds.org/

您也可以使用主线内核

https://wiki.ubuntu.com/Kernel/MainlineBuilds

.deb 可从此处获取http://kernel.ubuntu.com/~kernel-ppa/mainline/

答案2

您要编译的内核版本是什么?

您可以在任何文件夹中编译最新版本的内核。在 Ubuntu 中,您可以尝试以下命令:

  1. 安装官方开发工具

    $ sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot wget bzip2 git dpkg-dev devscripts
    
  2. 下载当前内核版本的源代码(在任意目录中)

    $ mkdir kernel_build
    $ cd kernel_build
    $ apt-get source linux-image-$(uname -r)
    
  3. 下载并构建依赖项

    $ sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
    
  4. 进入下载的文件夹,编译成安装程序包

    $ cd <kernel folder name>
    $ fakeroot debian/rules clean
    $ fakeroot debian/rules binary-headers binary-generic binary-perarch
    
  5. 如果需要,请安装新内核。新内核被编译成.deb父文件夹中的一组安装程序包。

    $ cd ..
    $ sudo dpkg -i *.deb
    

相关内容