我正在按照Debian Linux Kernel Handbook 的指示(在大多数情况下)以 debian 方式构建 linux 内核。所以对于编译步骤,我使用 target deb-pkg,并且在成功终止时make deb-pkg在父目录中生成了一些 debian 包:
linux-firmware-image-VERSIONS.deb
linux-headers-VERSIONS.deb
linux-image-VERSIONS.deb
linux-image-VERSION-dbg_VERSION.deb
linux-libc-dev_VERSIONS.deb
Run Code Online (Sandbox Code Playgroud)
很多时候我发现自己只安装linux-image-x.y.z.deb了其他四个未使用的软件包。这不是什么大问题,但我一直发现生成包含内核调试符号 ( linux-image-x.y.z-dbg_x.y.z_arch.deb)的包需要花费大量时间。我想知道是否有一种方法可以指示deb-pkg构建目标不生成调试符号包?
bpa*_*rni 17
MariusMatutiae 给出的答案并不是我所期望的,但我确实查看了一些内核构建脚本并找到了一个可行的解决方案。生成生成的 debian 包的脚本是scripts/package/builddeb. 查看此脚本,使用调试符号构建包的部分被条件包围,具体取决于BUILD_DEBUG给定KCONFIGfor 的grep CONFIG_DEBUG_INFO=y。
因此,要停止生成带有调试符号的 debian 包,目前您需要禁用内核CONFIG_DEBUG_INFO选项:
CONFIG_DEBUG_INFO=n
Run Code Online (Sandbox Code Playgroud)
内核手册建议这样做:
如果禁用 CONFIG_DEBUG_INFO 选项,构建将使用更少的磁盘空间。仅当您计划在内核上使用诸如 crash、kgdb 和 SystemTap 之类的二进制对象工具时才需要 Debuginfo。
这可以通过以下命令实现:
cd linux-source-4.12
scripts/config --disable DEBUG_INFO
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11081 次 |
| 最近记录: |