未记录的内核启动参数? [关闭]

Posted

技术标签:

【中文标题】未记录的内核启动参数? [关闭]【英文标题】:undocumented kernel boot parameter? [closed] 【发布时间】:2015-02-27 03:45:40 【问题描述】:

Linux 内核似乎有一个cryptopts=... 引导参数,它允许指定一个加密的根分区。谷歌搜索返回了许多它的使用示例,但是我无法找到实际的文档。例如,man bootparam 没有提及。我想知道这是否是一个未记录的功能,或者可能已被弃用?或者它对某些发行版来说是特殊的? 我什至尝试了grep 字符串cryptopts 的Linux 内核源代码,但一无所获……请帮我解开谜团!

【问题讨论】:

【参考方案1】:

cryptoptsinitramfs-tools 的引导选项。这是它的文档:

cryptopts 传递cryptoroot的参数。由 cryptsetup 引导挂钩设置。

【讨论】:

好的,谢谢!我想这有点特定于发行版。在 Debian 中,cryptopts 在 2007 年从 initramfs-tools 中删除,并带有以下注释:“init:删除密码解析,而不是官方引导参数。cryptsetup 脚本自己解析 /proc/cmdline”。实际上,包cryptsetup 包含一个文件cryptroot-script,它解析cryptopts。它在 2006 年被短暂删除并重新阅读。【参考方案2】:

内核没有。 The string cryptopts does not appear anywhere in the Linux kernel.

但是,内核命令行的内容在/proc/cmdline 中暴露给用户空间。许多发行版会从命令行读取启动选项——例如,Debian 和 Ubuntu 使用quiet 来抑制启动时的状态消息。 cryptopts 的用法很可能类似。

【讨论】:

感谢您向我解释这一点!在 Debian 中,有一个包 cryptsetup,其中包含一个文件 cryptroot-script,其中包含以下几行:for opt in $(cat /proc/cmdline); do \n case $opt in \n cryptopts=*) ... 这解决了“谜团”

以上是关于未记录的内核启动参数? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

内核启动参数cmdline详解

linux内核启动过程学习总结

linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)

CUDA内核启动参数解释正确吗?

linux内核启动参数解析及添加

非方阵的二维内核调用和启动参数