Linux掛在根檔案系統後init不能執行

2021-10-23 21:34:48 字數 712 閱讀 7742

當製作好根檔案系統後,linux啟動正常掛在根目錄,但是init程式不能執行,uboot中已經指定了init=/linuxrc,並且根檔案系統中也存在/linuxrc,但是仍然報錯。busybox是動態編譯的。

出現這個問題,最先想到的就是busybox不能執行,肯定是由於某種原因執行不起來。這裡首先想到busybox是動態編譯的,所以需要看一下依賴的庫檔案:

進入到busybox可執行檔案所在目錄,執行如下命令來查bosybox依賴的動態庫

然後將依賴的庫檔案拷貝到根檔案系統的lib中。

包含動態庫的應用程式,需要有載入器才能正常執行,而根檔案系統中並沒有載入器,執行如下命令,檢視busybox應用需要的載入器。

這樣拷貝載入器到lib中,程式就能正常執行了。

想要busybox正常執行,至少需要如下庫檔案:

Linux根檔案系統

root 檔案系統是檔案系統的頂級目錄。它必須包含在掛載其它檔案系統前需要用來啟動 linux 系統的全部檔案。它必須包含需要用來啟動剩餘檔案系統的全部可執行檔案和庫。檔案系統啟動以後,所有其他檔案系統作為 root 檔案系統的子目錄掛載到標準的 預定義好的掛載點上。bin 該目錄存放所有使用者可以...

linux檔案系統與根檔案系統

檔案系統 與 根檔案系統 要不我們就統一簡稱為fs和rfs 檔案系統 file system fs 根檔案系統 root file system rfs。首先你考慮一點描述語句 根檔案系統也是一種 檔案系統 可以認為是一種 特殊的 檔案系統 為什麼是叫 特殊的 呢?是因為這種 根 檔案系統 承載著某...

構建Linux根檔案系統

七天不吃飯三天不喝水,天天做題的傢伙 構建linux根檔案系統 第一步 移植安裝busybox unix命令集合。見上個檔案。第二步 使用glibc庫 安裝lib庫檔案 開發板上只需要載入器和動態庫 1 安裝載入器 在 usr local arm arm none linux gnueabi arm...