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