我正在执行编译 Linux 内核并添加新系统调用的第一步。我已经成功做到了,但我仍然有一些问题。
对于此任务,我设置了一个虚拟机 guesting debian 7 64 位。我正在遵循在互联网上找到的如何执行此操作的教程(http://arvindsraj.wordpress.com/2012/10/05/adding-hello-world-system-call-to-linux/)总体而言,作为文档,这是一本手册如何在 Debian GNU/Linux 中创建自定义 Linux 内核以及 make-kpkg 的手册页。
到目前为止,我正在使用下一个脚本进行编译:
#!/bin/sh
make-kpkg clean
INSTALL_MOD_STRIP=1 CONCURRENCY_LEVEL=2 time make-kpkg --initrd --append-to-version=-$1 kernel_image
而且,我有以下问题:
- 现在,我仅将 kernel_image 定义为目标。我还应该包含 kernel_headers 吗?我应该什么时候编译并安装 kernel_headers?它们是做什么用的?
- 如果我使用作为目标:binary_arch,与使用 kernel_image 和 kernel_headers 完全相同吗?
- 我设置 INSTALL_MOD_STRIP=1 是因为我读到它编译速度更快并且输出要小得多。我知道它减少了正在编译的模块数量。这个减少量是多少?我是否应该使用此标志进行最终编译以在我的计算机中最终使用内核?
先感谢您!