~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/translations/zh_TW/admin-guide/init.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0
  2 
  3 .. include:: ../disclaimer-zh_TW.rst
  4 
  5 :Original: :doc:`../../../admin-guide/init`
  6 
  7 :譯者:
  8 
  9  吳想成 Wu XiangCheng <bobwxc@email.cn>
 10  胡皓文 Hu Haowen <2023002089@link.tyut.edu.cn>
 11 
 12 解釋“No working init found.”啓動掛起消息
 13 =========================================
 14 
 15 :作者:
 16 
 17  Andreas Mohr <andi at lisas period de>
 18 
 19  Cristian Souza <cristianmsbr at gmail period com>
 20 
 21 本文檔提供了加載初始化二進制(init binary)失敗的一些高層級原因(大致按執行
 22 順序列出)。
 23 
 24 1) **無法掛載根文件系統Unable to mount root FS** :請設置“debug”內核參數(在
 25    引導加載程序bootloader配置文件或CONFIG_CMDLINE)以獲取更詳細的內核消息。
 26 
 27 2) **初始化二進制不存在於根文件系統上init binary doesn't exist on rootfs** :
 28    確保您的根文件系統類型正確(並且 ``root=`` 內核參數指向正確的分區);擁有
 29    所需的驅動程序,例如SCSI或USB等存儲硬件;文件系統(ext3、jffs2等)是內建的
 30    (或者作爲模塊由initrd預加載)。
 31 
 32 3) **控制檯設備損壞Broken console device** : ``console= setup`` 中可能存在
 33    衝突 --> 初始控制檯不可用(initial console unavailable)。例如,由於串行
 34    IRQ問題(如缺少基於中斷的配置)導致的某些串行控制檯不可靠。嘗試使用不同的
 35    ``console= device`` 或像 ``netconsole=`` 。
 36 
 37 4) **二進制存在但依賴項不可用Binary exists but dependencies not available** :
 38    例如初始化二進制的必需庫依賴項,像 ``/lib/ld-linux.so.2`` 丟失或損壞。使用
 39    ``readelf -d <INIT>|grep NEEDED`` 找出需要哪些庫。
 40 
 41 5) **無法加載二進制Binary cannot be loaded** :請確保二進制的體系結構與您的
 42    硬件匹配。例如i386不匹配x86_64,或者嘗試在ARM硬件上加載x86。如果您嘗試在
 43    此處加載非二進制文件(shell腳本?),您應該確保腳本在其工作頭(shebang
 44    header)行 ``#!/...`` 中指定能正常工作的解釋器(包括其庫依賴項)。在處理
 45    腳本之前,最好先測試一個簡單的非腳本二進制文件,比如 ``/bin/sh`` ,並確認
 46    它能成功執行。要了解更多信息,請將代碼添加到 ``init/main.c`` 以顯示
 47    kernel_execve()的返回值。
 48 
 49 當您發現新的失敗原因時,請擴展本解釋(畢竟加載初始化二進制是一個 **關鍵** 且
 50 艱難的過渡步驟,需要儘可能無痛地進行),然後向LKML提交一個補丁。
 51 
 52 待辦事項:
 53 
 54 - 通過一個可以存儲 ``kernel_execve()`` 結果值的結構體數組實現各種
 55   ``run_init_process()`` 調用,並在失敗時通過迭代 **所有** 結果來記錄一切
 56   (非常重要的可用性修復)。
 57 - 試着使實現本身在一般情況下更有幫助,例如在受影響的地方提供額外的錯誤消息。
 58 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php