• 2.1 准备内核头文件

    2.1 准备内核头文件

    内核头文件是Linux内核的源代码。有时候,用户需要编译内核头文件代码,为以后使用内核头文件做准备,本节将介绍编译内核头文件的详细步骤。

    准备内核头文件的具体操作步骤如下所示。

    (1)更新软件包列表。执行命令如下所示:

    1. root@Kali:~# apt-get update

    输出结果如下所示:

    1. Binary 20130905-08:50] kali/non-free Translation-en
    2. 获取:1 http://mirrors.neusoft.edu.cn kali Release.gpg [836 B]
    3. 获取:2 http://mirrors.neusoft.edu.cn kali/updates Release.gpg [836 B]
    4. 命中 http://mirrors.neusoft.edu.cn kali Release
    5. 获取:3 http://mirrors.neusoft.edu.cn kali/updates Release [11.0 kB]
    6. 命中 http://mirrors.neusoft.edu.cn kali/main i386 Packages
    7. 命中 http://mirrors.neusoft.edu.cn kali/non-free i386 Packages
    8. 命中 http://mirrors.neusoft.edu.cn kali/contrib i386 Packages
    9. 获取:4 http://security.kali.org kali/updates Release.gpg [836 B]
    10. ……
    11. 获取:5 http://mirrors.neusoft.edu.cn kali/updates/main i386 Packages [205 kB]
    12. 获取:6 http://http.kali.org kali Release.gpg [836 B]
    13. 命中 http://mirrors.neusoft.edu.cn kali/updates/contrib i386 Packages
    14. 命中 http://http.kali.org kali Release
    15. 命中 http://mirrors.neusoft.edu.cn kali/updates/non-free i386 Packages
    16. 获取:7 http://security.kali.org kali/updates Release [11.0 kB]
    17. 命中 http://http.kali.org kali/main Sources
    18. 获取:8 http://security.kali.org kali/updates/main i386 Packages [205 kB]
    19. 忽略 http://mirrors.neusoft.edu.cn kali/contrib Translation-zh_CN
    20. 忽略 http://mirrors.neusoft.edu.cn kali/contrib Translation-zh

    输出的信息是在更新软件源中指定的软件下载链接。此过程中需要等待一段时间,如果网速好的话,更新的速度会快一点。由于篇幅的原因,这里只列出了一少部分的输出 信息。

    (2)使用apt-get命令准备内核头文件。执行命令如下所示:

    1. root@Kali:~# apt-get install linux-headers- `uname -r`
    2. 正在读取软件包列表… 完成
    3. 正在分析软件包的依赖关系树
    4. 正在读取状态信息… 完成
    5. Package 'linux-headers' is not installed, so not removed
    6. 注意,根据正则表达式 3.12-kali1-686-pae 选中了 nvidia-kernel-3.12-kali1- 686-pae
    7. 注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-image-3.12-kali1-686-pae
    8. 注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-image-3.12-kali1-686- pae-dbg
    9. 注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-modules-3.12-kali1- 686-pae
    10. 注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-latest-modules-3.12- kali1-686-pae
    11. 注意,根据正则表达式 3.12-kali1-686-pae 选中了 linux-headers-3.12-kali1- 686-pae
    12. 注意,选取 linux-image-3.12-kali1-686-pae 而非 linux-modules-3.12-kali1- 686-pae
    13. 注意,选取 linux-image-686-pae 而非 linux-latest-modules-3.12-kali1-686-pae
    14. linux-image-3.12-kali1-686-pae 已经是最新的版本了。
    15. linux-image-3.12-kali1-686-pae 被设置为手动安装。
    16. linux-image-686-pae 已经是最新的版本了。
    17. 下列软件包是自动安装的并且现在不需要了:
    18. libmozjs22d libnfc3 libruby libwireshark2 libwiretap2 libwsutil2 python-apsw
    19. ruby-crack ruby-diff-lcs ruby-rspec ruby-rspec-core ruby-rspec-
    20. expectations
    21. ruby-rspec-mocks ruby-simplecov ruby-simplecov-html xulrunner-22.0
    22. Use 'apt-get autoremove' to remove them.
    23. 将会安装下列额外的软件包:
    24. glx-alternative-mesa glx-alternative-nvidia glx-diversions
    25. linux-headers-3.12-kali1-common linux-kbuild-3.12 nvidia-alternative
    26. nvidia-installer-cleanup nvidia-kernel-common
    27. 建议安装的软件包:
    28. nvidia-driver
    29. 下列【新】软件包将被安装:
    30. glx-alternative-mesa glx-alternative-nvidia glx-diversions
    31. linux-headers-3.12-kali1-686-pae linux-headers-3.12-kali1-common
    32. linux-image-3.12-kali1-686-pae-dbg linux-kbuild-3.12 nvidia-alternative
    33. nvidia-installer-cleanup nvidia-kernel-3.12-kali1-686-pae
    34. nvidia-kernel-common
    35. 升级了 0 个软件包,新安装了 11 个软件包,要卸载 0 个软件包,有 5 个软件包未被升级。
    36. 需要下载 361 MB 的软件包。
    37. 解压缩后会消耗掉 1,812 MB 的额外空间。
    38. 您希望继续执行吗?[Y/n]y

    输出的信息显示了linux-headers相关软件包的一个信息。提示将会安装哪些软件包及软件包的大小等信息。此时输入y,继续安装。安装完后,将退出程序。

    (3)复制generated下的所有内容。执行命令如下所示:

    1. root@Kali:~# cd /usr/src/linux-headers-3.12-kali1-686-pae/
    2. root@Kali:/usr/src/linux-headers-3.12-kali1-686-pae# cp -rf include/generated/* include/linux/

    (4)编译内核头文件代码。

    原文: https://wizardforcel.gitbooks.io/daxueba-kali-linux-tutorial/content/8.html