*Isphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/admin-guide/initmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/zh_TW/admin-guide/initmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/it_IT/admin-guide/initmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/ja_JP/admin-guide/initmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/ko_KR/admin-guide/initmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/sp_SP/admin-guide/initmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhQ/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/admin-guide/init.rsthKubh field_body)}(h!:doc:`../../../admin-guide/init` h]h)}(h :doc:`../../../admin-guide/init`h]h)}(hhh]hinline)}(hhh]h../../../admin-guide/init}(hhhhhNhNubah}(h]h ](xrefstdstd-doceh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdoc#translations/zh_CN/admin-guide/init refdomainhreftypedoc refexplicitrefwarn reftarget../../../admin-guide/inituh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h译者h]h译者}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhKubh)}(h*吴想成 Wu XiangCheng h]h)}(h)吴想成 Wu XiangCheng h](h吴想成 Wu XiangCheng <}(hj.hhhNhNubh reference)}(hbobwxc@email.cnh]hbobwxc@email.cn}(hj8hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:bobwxc@email.cnuh1j6hj.ubh>}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj*ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhsection)}(hhh](htitle)}(h4解释“No working init found.”启动挂起消息h]h4解释“No working init found.”启动挂起消息}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jihjfhhhhhK ubh)}(hhh]h)}(hhh](h)}(h作者h]h作者}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|hhhKubh)}(hZAndreas Mohr Cristian Souza h](h)}(h&Andreas Mohr h]h&Andreas Mohr }(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(h1Cristian Souza h]h1Cristian Souza }(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1hhj|ubeh}(h]h ]h"]h$]h&]uh1hhhhK hjyhhubah}(h]h ]h"]h$]h&]uh1hhjfhhhhhK ubh)}(h~本文档提供了加载初始化二进制(init binary)失败的一些高层级原因(大致按执行 顺序列出)。h]h~本文档提供了加载初始化二进制(init binary)失败的一些高层级原因(大致按执行 顺序列出)。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjfhhubhenumerated_list)}(hhh](h list_item)}(h**无法挂载根文件系统Unable to mount root FS** :请设置“debug”内核参数(在 引导加载程序bootloader配置文件或CONFIG_CMDLINE)以获取更详细的内核消息。 h]h)}(h**无法挂载根文件系统Unable to mount root FS** :请设置“debug”内核参数(在 引导加载程序bootloader配置文件或CONFIG_CMDLINE)以获取更详细的内核消息。h](hstrong)}(h6**无法挂载根文件系统Unable to mount root FS**h]h2无法挂载根文件系统Unable to mount root FS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh :请设置“debug”内核参数(在 引导加载程序bootloader配置文件或CONFIG_CMDLINE)以获取更详细的内核消息。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hX[**初始化二进制不存在于根文件系统上init binary doesn't exist on rootfs** : 确保您的根文件系统类型正确(并且 ``root=`` 内核参数指向正确的分区);拥有 所需的驱动程序,例如SCSI或USB等存储硬件;文件系统(ext3、jffs2等)是内建的 (或者作为模块由initrd预加载)。 h]h)}(hXZ**初始化二进制不存在于根文件系统上init binary doesn't exist on rootfs** : 确保您的根文件系统类型正确(并且 ``root=`` 内核参数指向正确的分区);拥有 所需的驱动程序,例如SCSI或USB等存储硬件;文件系统(ext3、jffs2等)是内建的 (或者作为模块由initrd预加载)。h](j)}(hW**初始化二进制不存在于根文件系统上init binary doesn't exist on rootfs**h]hU初始化二进制不存在于根文件系统上init binary doesn’t exist on rootfs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh6 : 确保您的根文件系统类型正确(并且 }(hjhhhNhNubhliteral)}(h ``root=``h]hroot=}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 内核参数指向正确的分区);拥有 所需的驱动程序,例如SCSI或USB等存储硬件;文件系统(ext3、jffs2等)是内建的 (或者作为模块由initrd预加载)。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hXO**控制台设备损坏Broken console device** : ``console= setup`` 中可能存在 冲突 --> 初始控制台不可用(initial console unavailable)。例如,由于串行 IRQ问题(如缺少基于中断的配置)导致的某些串行控制台不可靠。尝试使用不同的 ``console= device`` 或像 ``netconsole=`` 。 h]h)}(hXN**控制台设备损坏Broken console device** : ``console= setup`` 中可能存在 冲突 --> 初始控制台不可用(initial console unavailable)。例如,由于串行 IRQ问题(如缺少基于中断的配置)导致的某些串行控制台不可靠。尝试使用不同的 ``console= device`` 或像 ``netconsole=`` 。h](j)}(h.**控制台设备损坏Broken console device**h]h*控制台设备损坏Broken console device}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubh : }(hj:hhhNhNubj)}(h``console= setup``h]hconsole= setup}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubh 中可能存在 冲突 --> 初始控制台不可用(initial console unavailable)。例如,由于串行 IRQ问题(如缺少基于中断的配置)导致的某些串行控制台不可靠。尝试使用不同的 }(hj:hhhNhNubj)}(h``console= device``h]hconsole= device}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubh 或像 }(hj:hhhNhNubj)}(h``netconsole=``h]h netconsole=}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubh 。}(hj:hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h**二进制存在但依赖项不可用Binary exists but dependencies not available** : 例如初始化二进制的必需库依赖项,像 ``/lib/ld-linux.so.2`` 丢失或损坏。使用 ``readelf -d |grep NEEDED`` 找出需要哪些库。 h]h)}(h**二进制存在但依赖项不可用Binary exists but dependencies not available** : 例如初始化二进制的必需库依赖项,像 ``/lib/ld-linux.so.2`` 丢失或损坏。使用 ``readelf -d |grep NEEDED`` 找出需要哪些库。h](j)}(hT**二进制存在但依赖项不可用Binary exists but dependencies not available**h]hP二进制存在但依赖项不可用Binary exists but dependencies not available}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh9 : 例如初始化二进制的必需库依赖项,像 }(hjhhhNhNubj)}(h``/lib/ld-linux.so.2``h]h/lib/ld-linux.so.2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 丢失或损坏。使用 }(hjhhhNhNubj)}(h!``readelf -d |grep NEEDED``h]hreadelf -d |grep NEEDED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 找出需要哪些库。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hXp**无法加载二进制Binary cannot be loaded** :请确保二进制的体系结构与您的 硬件匹配。例如i386不匹配x86_64,或者尝试在ARM硬件上加载x86。如果您尝试在 此处加载非二进制文件(shell脚本?),您应该确保脚本在其工作头(shebang header)行 ``#!/...`` 中指定能正常工作的解释器(包括其库依赖项)。在处理 脚本之前,最好先测试一个简单的非脚本二进制文件,比如 ``/bin/sh`` ,并确认 它能成功执行。要了解更多信息,请将代码添加到 ``init/main.c`` 以显示 kernel_execve()的返回值。 h]h)}(hXo**无法加载二进制Binary cannot be loaded** :请确保二进制的体系结构与您的 硬件匹配。例如i386不匹配x86_64,或者尝试在ARM硬件上加载x86。如果您尝试在 此处加载非二进制文件(shell脚本?),您应该确保脚本在其工作头(shebang header)行 ``#!/...`` 中指定能正常工作的解释器(包括其库依赖项)。在处理 脚本之前,最好先测试一个简单的非脚本二进制文件,比如 ``/bin/sh`` ,并确认 它能成功执行。要了解更多信息,请将代码添加到 ``init/main.c`` 以显示 kernel_execve()的返回值。h](j)}(h0**无法加载二进制Binary cannot be loaded**h]h,无法加载二进制Binary cannot be loaded}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhX :请确保二进制的体系结构与您的 硬件匹配。例如i386不匹配x86_64,或者尝试在ARM硬件上加载x86。如果您尝试在 此处加载非二进制文件(shell脚本?),您应该确保脚本在其工作头(shebang header)行 }(hjhhhNhNubj)}(h ``#!/...``h]h#!/...}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 中指定能正常工作的解释器(包括其库依赖项)。在处理 脚本之前,最好先测试一个简单的非脚本二进制文件,比如 }(hjhhhNhNubj)}(h ``/bin/sh``h]h/bin/sh}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhQ ,并确认 它能成功执行。要了解更多信息,请将代码添加到 }(hjhhhNhNubj)}(h``init/main.c``h]h init/main.c}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh) 以显示 kernel_execve()的返回值。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK&hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1jhjfhhhhhKubh)}(h当您发现新的失败原因时,请扩展本解释(毕竟加载初始化二进制是一个 **关键** 且 艰难的过渡步骤,需要尽可能无痛地进行),然后向LKML提交一个补丁。h](ha当您发现新的失败原因时,请扩展本解释(毕竟加载初始化二进制是一个 }(hjChhhNhNubj)}(h **关键**h]h关键}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubhc 且 艰难的过渡步骤,需要尽可能无痛地进行),然后向LKML提交一个补丁。}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK.hjfhhubh)}(h待办事项:h]h待办事项:}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjfhhubh bullet_list)}(hhh](j)}(h通过一个可以存储 ``kernel_execve()`` 结果值的结构体数组实现各种 ``run_init_process()`` 调用,并在失败时通过迭代 **所有** 结果来记录一切 (非常重要的可用性修复)。h]h)}(h通过一个可以存储 ``kernel_execve()`` 结果值的结构体数组实现各种 ``run_init_process()`` 调用,并在失败时通过迭代 **所有** 结果来记录一切 (非常重要的可用性修复)。h](h通过一个可以存储 }(hjzhhhNhNubj)}(h``kernel_execve()``h]hkernel_execve()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubh) 结果值的结构体数组实现各种 }(hjzhhhNhNubj)}(h``run_init_process()``h]hrun_init_process()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubh& 调用,并在失败时通过迭代 }(hjzhhhNhNubj)}(h **所有**h]h所有}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubh> 结果来记录一切 (非常重要的可用性修复)。}(hjzhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK3hjvubah}(h]h ]h"]h$]h&]uh1jhjshhhhhNubj)}(ho试着使实现本身在一般情况下更有帮助,例如在受影响的地方提供额外的错误消息。h]h)}(hjh]ho试着使实现本身在一般情况下更有帮助,例如在受影响的地方提供额外的错误消息。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubah}(h]h ]h"]h$]h&]uh1jhjshhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1jqhhhK3hjfhhubeh}(h]no-working-init-foundah ]h"]4解释“no working init found.”启动挂起消息ah$]h&]uh1jdhhhhhhhK ubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jiN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh، _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}jjs nametypes}jsh}jjfs footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log]5Documentation/translations/zh_CN/admin-guide/init.rst(NNNNta decorationNhhub.