天天看點

linux rcs執行錯誤,求助大神:linux啟動的時候執行完rc.sysinit就死在rcS上了

原來的系統啟動過程在initrd最後是進行根切換的。現在我不進行根切換,直接在虛拟的根檔案系統中啟動,運作在記憶體中。

是以我将.img檔案解壓,将裡面的init代碼第一行就執行exec /sbin/init。

然後按照開機流程一步一步的配。最後再打包成.img檔案啟動。

但是現在遇到了這樣一個問題:

/dev/fd/5: 1 Syntax error: Bad fd number

init: rcS post-stop process (284) terminated with status 2

然後就死在這裡了。

看提示應該是rcS.conf 的post-stop script發生了錯誤。

然後我看了一下rcS.conf的代碼,内容形式大概是這樣的:

start on upstart

stop on runlevel

task

console output

pre-start script

......

end script

exec /etc/rc.d/rc.sysinit

post-stop script

......

end script

然後我在pre-start script的最後面加上了一段代碼:echo $"xxxxxxxxx",開機的時候顯示正常。

我又在rc.sysinit的最後加了一段代碼:echo $"xxxxxx",開機的時候也顯示出來了,說明rc.sysinit已經執行完了。

然後我在post-stop script的最前面加了一句:echo $"xxxxxxxx",結果這個沒有顯示出來,顯示的是剛剛上面提到的那個錯誤資訊。說明沒有執行到post-stop script就已經挂了。

本人比較菜,這個問題已經搞了好幾天了還沒有搞出來,求大神指點,感激不盡~