英语法语西班牙语

Ad


OnWorks 网站图标

make-kpkg - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 make-kpkg

这是命令 make-kpkg 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


make-kpkg - 从 Linux 内核源构建 Debian 内核包

概要


使用make-kpkg [选项[目标 [目标 ...]]]

商品描述


本手册页解释了 Debian 使用make-kpkg 实用程序,用于创建内核
相关的 Debian 软件包。 此实用程序需要从顶级 Linux 内核源代码运行
目录,该目录之前已配置(除非您正在使用 configure
目标)。 通常,如果内核包没有找到 的.config 在当前文件
目录,它非常努力地获得一个合适的(通常是一个配置文件已经
为该架构的 Debian 内核量身定制),然后调用 使 旧配置 使...能够
用户回答任何新问题。 但是,这仍然可能导致不适当的
配置,鼓励您通过之前的常用方法配置内核
调用 使用make-kpkg.

通常情况下, 使用make-kpkg 应该在 假根,

make-kpkg --rootcmd fakeroot kernel_image

但是你以 root 身份运行这个命令(不推荐这样做),或者在 假根
展示 使用make-kpkg 如何成为root(也不推荐, 假根 也许是最安全的
选项),像这样:

make-kpkg --rootcmd sudo kernel_image

在内核源码目录的父目录下创建Debian包文件
运行此命令的位置。

另外,请注意某些版本的 gcc 不能与内核源代码很好地交互。
您可以通过设置 Makefile 来控制内核编译中使用的 gcc 版本
顶层内核 Makefile 中的变量 CC 和 HOSTCC。 你可以简单地做到这一点
设置环境变量 标志. 要观察,请尝试:

% KBUILD_VERBOSE=1 MAKEFLAGS="CC=gcc-4.4" make-kpkg 配置

请注意,内核 Makefile 可能会关注其他变量(例如
KCF标志 )。 这可以像这样解决:

% KBUILD_VERBOSE=1 MAKEFLAGS='CC=gcc-4.4 KCFLAGS="-march=athlon64"' make-kpkg 配置

KBUILD_VERBOSE 显示正在运行的命令的详细信息。 (请看顶层
可设置变量的内核 Makefile)。

警告:不要直接在 MAKEFLAGS 中设置 -j 选项,这将导致构建
失败。 使用如下指定的 CONCURRENCY_LEVEL。 还有一个 -j 标志可以使用。

配置


- 帮帮我 打印使用信息。

- 修订
将生成的包的版本号更改为参数 。 这
有一定的限制:版本必须以数字开头。 版本可能
仅包含字母数字和字符 ~ + 。 (波浪号、句号和加号)和
必须包含一个数字。 (有关详细信息,请参阅政策手册)。 或者,您可以
在修订前加上一个数字,后跟一个冒号 (:)。 默认是
10.00.自定义 除非环境变量 DEBIAN_REVISION_MANDATORY 安顿好了
在这种情况下,如果未在命令行上设置修订版,则会生成错误或
配置文件。 提示: 您可以将其设置为 $(version)- 在里面
配置文件以获取预先添加到您的自定义的上游版本号
细绳.

--附加到版本 FOO

--追加到版本 FOO
这个论点(FOO) 附加到存在的 EXTRAVERSION 变量的值
在内核 Makefile 中。 由于 EXTRAVERSION 是内核版本的一个组件,它
也被添加到 Debian 软件包名称中,因此必须遵守政策
管理包名称。 这意味着它可能只包含 小写 字母数字
和字符 ~ - + 。 (波浪号、句号、连字符和加号)。 大写字母
新包裹的政策不允许。 如果环境变量
IGNORE_UPPERCASE_VERSION 设置,make-kpkg 将小写版本号设置在
Makefile 或在 本地版本 文件。 此选项覆盖环境
变量 APPEND_TO_VERSION.

--添加模块 FOO

--adding_modules FOO
参数应该是一个逗号分隔的附加附加模块列表(不在
您希望在调用 modules_blah 时构建的主内核树
目标。 你可以给出模块所在目录的完整路径名,或者
如果可以在其中找到,则只是模块名称 模块位置, 默认为
/usr/src/模块. 默认是所有模块在 模块位置, 编译时
调用 modules_blah 目标。

- 拱 FOO
这对于在交叉编译时设置架构很有用。 如果你
不是交叉编译,架构是自动确定的。 相同
可以通过设置环境变量来达到效果 KPKG_ARCH。 价值
应该是什么 DEB_HOST_ARCH_CPU 包含何时 dpkg-架构 运行在
目标机器,或者它可以是多架构集中的另一种架构(如
i386/amd64)。

--交叉编译 FOO

--cross_compile FOO
这对于在交叉编译时设置目标字符串很有用。 使用
虚拟目标“-”如果您正在为多拱组的其他拱门构建,例如
i386/amd64。 设置环境变量也可以达到同样的效果。
请注意,这不会以任何方式设置编译器内核构建过程
应使用; 如果构建过程提供的默认编译器不是
如果需要,请明确指定应使用的编译器。
交叉编译

--子架构 FOO
某些架构(Alpha 和 m68k)需要为每个架构使用不同的内核
子架构。 此选项提供了一种将其指定为参数的方法
使用make-kpkg. 注意 对子架构的额外支持可能是
内核源代码中需要这样做才能真正做到任何事情。 一样的效果
可以通过设置环境变量来实现 KPKG_SUBARCH.

--名称中的拱门

--arch_in_name
此选项通过嵌入内核映像包使用扩展名称
图像名称中的子架构,因此可以编写一个脚本来创建多个
一个接一个的子架构。 您也可以通过设置
环境变量 ARCH_IN_NAME. 注意 那只有包 姓名 is
受影响,而不是模块位置等。

--pgpsign 姓名
设置用于签名的字符串 变化 任何外部模块的文件
/usr/src/模块/ 使用 PGP。 此选项将覆盖内置默认值和
存储在文件中的站点范围的自定义 /etc/kernel-pkg.conf or
~/.kernel-pkg.conf.

--配置 目标
更改从默认的 oldconfig 完成的配置类型。 目标 必须是一个
oldconfig, config, menuconfig, gconfig, nconfig, xconfig, randconfig, defconfig,
allmodconfig、allyesconfig、allnoconfig、old、menu、g 或 x。

备注 然而那 使用make-kpkg 在启动时扫描配置文件以获取一些选项,
尤其是模块是否已启用的事实,因此在此期间切换状态
延迟配置会导致错误。 如果需要,创建配置文件
在使用此开关调用 make-kpkg 之前尽可能接近所需的值。

--目标
打印出已知目标的列表。 见章节 目标 联络一位教师

--noexec
通过 -n 选项 使 处理,以便命令仅打印到
屏幕但未实际执行。 这对于调试非常有用。

--详细
这叫 使 使用 -V=1 选项,调用顶级 Make 命令,
也有助于了解正在发生的事情。

--initrd
If 使用make-kpkg 正在生成一个 内核映像 包装,安排输送到挂钩
脚本从该映像所需的安装后维护者脚本运行
an 初始化那个 初始化 生成钩子脚本不应短路
早期的。 没有这个选项,例子 初始化文件 与捆绑在一起的钩子脚本
内核包 不会对安装采取任何行动。 可以达到同样的效果
通过设置环境变量来实现 国际贸易研究中心 到任何非空值。 请
请注意,除非有钩子脚本 /etc/内核 或添加到钩子中
脚本参数 /etc/kernel-img.conf, 不会创建 initrd(捆绑在
示例脚本只是示例——在任何事情之前都需要用户操作
发生)。 然而,在大多数系统上 initramfs-工具 安装脚本(自版本
0.94(他们从 0.98 开始就尊重 INITRD 变量))。 dracut 也可以
本。

- 工作

-j
设置环境变量 CONCURRENCY_LEVEL.

--覆盖目录 /路径/到/目录
指定的目录应包含将放置在 ./debian
内核源代码目录,为构建 debian 包做准备。
这些文件将替换中的任何内容 /usr/share/内核包 这通常是
放在那里,由用户来确保覆盖中的文件
目录兼容 使用make-kpkg. 如果你打破 使用make-kpkg 有叠加层
文件,你可以保留碎片。 同样的效果可以通过设置
环境变量 KPKG_OVERLAY_DIR.

请注意: 覆盖目录/控制覆盖目录/更改日志 很特别,并且
对这些文件执行变量替换。 用
/usr/share/kernel-package/控制/usr/share/内核包/变更日志 文件为
模板。

如果一个 覆盖目录/安装后 可执行文件(或可执行脚本)存在,它应该是
立即运行 ./debian 人口稠密。 该脚本应在
./debian 目录。 例如,这可用于删除用户执行的文件
不想要,或者采取简单替换以外的动作。

--根命令 FOO
提供获取超级用户访问权限的方法的命令(例如,“sudo”
或`fakeroot')根据 dpkg-buildpackage 的 -r 选项的需要。 该选项不
为三个目标工作,即 二进制, 二进制独立二元架构。 对于
那些针对整个 使用make-kpkg 命令必须以(假)root 身份运行。

- 干 FOO
调用包 FOO-* 而不是内核-*。 这有助于过渡
从调用包 kernel-* 到 linux-* 包,准备
发行版中的非 linux 内核。 默认为 linux。 茎,因为它是
包名的开头部分必须只包含小写字母(`a-z'),
数字 (`0-9')、加号 (`+') 和减号 (`-') 和句点 (`.')。 它必须在
长度至少为两个字符,并且必须以字母数字字符开头。

- 我们 此选项传递给 dpkg-buildpackage,并指示该包不要签名
来源。 这仅与 buildpackage 目标相关。

--uc 此选项传递给 dpkg-buildpackage,并指示该包不要签名
变更日志。 这仅与 buildpackage 目标相关。

选项可能会缩短为最小的唯一字符串,并且可以输入
- 或 -- 前缀,您可以在选项字符串和 a 之间使用空格或 = 符号
价值。 您也可以使用 option=value 的形式; 有关这些和其他变体形式的详细信息
支持,请阅读 获取选择::(3perl)。

CONCURRENCY_LEVEL
如果定义,此环境变量设置 make 的并发级别用于
使用编译内核和模块集 -j 标记到子 make 中 建立
目标 使用make-kpkg. 如果使用,应该是(小)整数。 你可以得到当前
使用命令的 CPU 数量:

grep -c '^处理器' / proc / cpuinfo

警告:不要直接在 MAKEFLAGS 中设置 -j 选项,这将调用构建
失败。 可以将 -j 设置为 make-kpkg 参数。

目标


清洁 清除目标创建的所有文件的内核源目录 建立, 并运行一个
使 distclean。 (有关详细信息,请查看 Linux 内核 Makefile)。 请注意
尽管我们处理了当前内核配置列表
文件 的.config, 文件 包括/linux/autoconf.h 不被保留。 这个目标
不应与其他目标结合使用,因为 使用make-kpkg 读入所有数据 before
运行任何目标,因此后续目标应使用旧数据运行,即
可能不是你想要的。 请注意,默认情况下不运行干净目标
以 root 身份运行该命令 假根 被使用。 但是,如果以前
构建是使用 须藤, 你需要跑 使用make-kpkg清洁也下 须藤。

构建包
这个目标运行目标 清洁二进制,并生成完整的包
运用 dpkg-构建包.

二进制 该目标通过运行目标生成所有四个 Debian 内核包
二进制独立二元架构. 然而,这需要 使用make-kpkg 以 root 身份运行
(或假根),因为 --根命令 不管用。

二进制独立
此目标通过运行目标生成独立于 arch 的包
内核源, 内核手册内核文档. 然而,这也需要 使用make-kpkg
以root(或fakeroot)身份运行,因为 --根命令 不管用。

二元架构
此目标通过运行目标生成依赖于 arch 的包
内核头文件内核图像. 然而,这也需要 使用make-kpkg 运行
作为 root(或 fakeroot),因为 --根命令 不管用。

内核源
该目标生成 Linux 内核源代码的 debianised 包。 如果
环境变量 SOURCE_CLEAN_HOOK 指向一个可执行文件,然后
可执行文件应从内核源代码的临时(顶层)目录运行
就在包装之前, ./debian/tmp-source/usr/src/kernel-source-XXXX, so
人们可以采取任何他们认为合适的行动(删除拱树,修剪版本控制
目录, 发现 . -类型 d -芋头 CVS -修剪 执行 rm -射频 {} ; 等等。)。 这没有
对正在打包的内核源以外的任何东西产生影响——如果
脚本对当前目录及其子目录进行操作,原始源代码树
应该保持完整。 环境变量 HEADER_CLEAN_HOOK
DOC_CLEAN_HOOK 是相似的。 他们应该指向可执行文件,然后是那个可执行文件
应从内核头文件的临时(顶部)目录运行,并且
分别在包装前提供文件,以便人们可以采取任何行动
他们认为合适。 这也不会影响除源之外的任何东西
被包装。

内核调试
该目标生成一个包含调试符号的 Debian 包
包含在相应图像包中的模块。 这里的基本思想是
保持空间在 /库/模块/ 受到控制,因为这可能在根上
有空间限制的分区。 请 注意 如果启用模块签名
在内核配置中对应的镜像包不会有模块
调试链接指向这些调试符号文件。 为了转
关于镜像包中模块的调试链接,您需要关闭模块
签名。

内核头文件
该目标生成一个 Debian 软件包,其中包含
Linux内核。

内核手册
该目标生成一个包含第 9 节手册页的 Debian 软件包
包含在 Linux 内核中。 请注意,这并不是真正的独立
目标; 调用 this 也将调用 内核文档 目标,并创建一个
kernel-doc 包。

内核文档
此目标生成一个 Debian 软件包,其中包含
Linux内核。 这可以独立于 内核手册 目标,但不是
另一种方式。

内核图像
此目标生成 Linux 内核源映像的 Debian 包,以及任何
内核配置文件中配置的模块 的.config。 如果没有
的.config 内核源码目录下的文件,提供了默认配置
类似于用于创建 Debian 引导软盘。 如果内核
配置文件启用了对模块的支持,模块将被创建和
安装。 如果未启用模块签名,则生成的模块将具有
链接到模块的调试符号文件的位置,通常
由调试包安装。

如果文件 ./debian/安装后 存在,并且是一个可执行文件,它只是运行
在创建内核映像包之前。 另外,请注意,如果有
中的任何脚本 ./debian/image.d/ 目录, 运行部分 将被称为
内核映像包构建之前的目录。 根的位置
正在构建的图像包的名称应在环境变量中传递
IMAGE_TOP,内核版本通过环境变量传入
版本 对于所有这些脚本。

请参阅有关钩子的文档 内核img.conf(5). 这些钩子是
本地系统管理员可以指向添加或删除一个脚本的变量
内核映像安装和删除时间的 grub 菜单列表中的行。 一个样品
将行添加到 grub 菜单文件的脚本包含在目录中
/usr/share/doc/内核包/。

除了本地管理员可以设置的钩子变量外,还有一组
包或本地管理员可能会放入脚本文件的目录。 这
目录是 /etc/kernel/preinst.d/, /etc/kernel/postinst.d/,
/etc/kernel/prerm.d/, /etc/kernel/postrm.d/, /etc/kernel/preinst.d//,
/etc/kernel/postinst.d//, /etc/kernel/prerm.d/ /
/etc/kernel/postrm.d//. 如果它们存在,则内核映像包应
运行 运行部分 目录上的程序(包括版本化的),给出
在相应阶段作为参数安装或删除的版本
安装或拆卸。 在调用这些脚本之前,env 变量 STEM
应设置为 - 干 参数(或默认值,linux),和
变量 内核_包_版本 应设置为版本
创建包的内核包。 应使用两个调用这些脚本
参数,第一个是 版本 内核映像和第二个参数
是的 圖書分館的位置 内核映像本身。 由于 debconf 在
脚本被调用,此脚本不应向标准输出发出任何诊断消息——
而 postinst 确实调用 数据库停止, debconf 不恢复标准输出,所以消息
到标准输出消失。

在安装时,它还提供运行 Linux 加载程序, LILO (或替代像
装载机, 西洛, QUIK, 维美利洛, 邮编, 亚靴, 帕罗 or GRUB),创建配置
如果需要,支持的引导加载程序的文件。 当时它还提供把
软盘上的新内核,如果需要,格式化软盘。 删除时,包
检查正在运行的内核版本,并拒绝删除正在运行的内核。
蛴螬 在这里特别提到,因为 grub 可能不需要重新运行
安装内核映像,尽管对菜单列表的自动更改将是
很好地安装和删除内核映像包。

建立 这个目标,被目标使用 内核图像 以上,编译Linux内核镜像。

模块
此目标允许您构建所有附加模块和包
依赖于它们同时编译的精确内核版本
构建您的内核映像。 这个目标期望找到下面的模块或包
/usr/src/modules,对于所有这些目录,更改为 MODULE_LOC/x
(MODULE_LOC 默认为 /usr/src/模块),并运行 目录 在当地统治
debian.规则 文件。 这个目标应该创建 Debian 模块包,并且可能
还生成一个压缩的 tar 文件和一个压缩的 diff 文件, md5sums
使用记录在更改文件中 dpkg-genchanges. 该文件由相同的签名
将用于对内核包进行签名的身份。 此选项由
维护人员将软件包上传到 Debian 档案库。

模块配置
此目标允许您配置下的所有包 模块位置, 默认
/usr/src/模块. 如果您需要手动修改某些方面,这很有用
配置,或者如果您想手动编译附加模块。 这个
除非您已经有 ./debian 目录,否则不应调用。

模块_图像
这个目标允许你在下面构建所有包 模块位置, 默认为
/usr/src/模块,但不创建源文件或差异文件,也不创建
并签署变更文件。 如果您需要,这是唯一需要的模块相关选项
只想编译附加模块图像文件以安装在一个或多个
机器。 一般与 内核图像, 特别是如果还有
使用选项 附加到版本 (防止虚假警告)。 这不应该
除非您已经有一个 ./debian 目录,否则将被调用。

模块清理
这个目标允许你清理下的所有包 模块位置, 默认为
/usr/src/模块,这应该是消除任何影响所需的全部
的其他模块_目标。 除非你已经有一个
./debian 目录。

配置
这个目标运行配置(实际上, 配置目标, 通过设置 --配置 默认情况下
旧配置) ,因此您可以编辑由 使 配置 在内核中
源目录,而不是让它们被踩踏 使用make-kpkg 后来。

Debian的 这个目标创造了 ./debian 目录,并可选择修补源。 这个
目标被调用 配置 目标。 你可以使用这个目标来拥有
源已修补,然后手动运行配置步骤以更新
配置文件,带有补丁可能具有的任何新配置选项
介绍。

libc-kheaders
这是 libc-dev 维护者的一个特殊目标,他们可以使用它来创建
libc 需要的头文件包。 请注意,创建一个
libc-kheaders 包与编译 libc 的头文件不同; 它
is 已知 巧妙地打破系统。 请看
/usr/share/kernel-package/README.headers 详情。 创建和安装一个
自己创建的 libc-kheaders 包可能会破坏你的系统,除非你知道你
是做。 你被警告了。

环境 变数


KPKG_DEBUG, 如果设置,则使 make-kpkg 吐出有关某个 shell 的调试消息
内部执行的功能。 这对不调试的人来说可能不感兴趣
使用make-kpkg. 以下变量(上面记录的)也会影响 使用make-kpkg:
DEBIAN_REVISION_MANDATORY, APPEND_TO_VERSION, VERSION_H_OK, KPKG_建筑, 交叉编译,
KPKG_SUBARCH, KPKG_OVERLAY_DIR, ARCH_IN_NAME, 国际贸易研究中心, SOURCE_CLEAN_HOOK, 模块位置,
CONCURRENCY_LEVELIGNORE_UPPERCASE_VERSION.

使用 onworks.net 服务在线使用 make-kpkg


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    GeoServer的
    GeoServer的
    GeoServer是一个开源软件
    用 Java 编写的服务器,允许用户
    共享和编辑地理空间数据。
    专为互操作性而设计,它
    发表...
    下载地理服务器
  • 2
    萤火虫III
    萤火虫III
    免费和开源的个人理财
    经理。 Firefly III 具有
    复式簿记系统。 你可以
    快速输入并整理您的
    交易我...
    下载萤火虫III
  • 3
    Apache OpenOffice 扩展
    Apache OpenOffice 扩展
    Apache的官方目录
    OpenOffice 扩展。 你会找到
    扩展范围从字典到
    用于导入 PDF 文件和连接的工具
    与外...
    下载 Apache OpenOffice 扩展
  • 4
    螳螂BT
    螳螂BT
    Mantis 是一个易于部署的网络
    基于错误跟踪器来帮助产品错误
    追踪。 它需要 PHP、MySQL 和一个
    网络服务器。 查看我们的演示并托管
    提供...
    下载MantisBT
  • 5
    LAN Messenger
    LAN Messenger
    LAN Messenger 是一个 p2p 聊天应用程序
    用于 Intranet 通信,并且不
    需要服务器。 各种得心应手
    支持的功能包括
    通知...
    下载 LAN Messenger
  • 6
    爪哇博士
    爪哇博士
    DrJava 是一个轻量级的编程
    Java 环境旨在促进
    测试驱动的软件开发。 它
    包括一个智能程序编辑器,
    一个...
    下载 DrJava
  • 更多 ”

Linux 命令

Ad