如何從根本解決嵌入式Linux系統突然斷電後無法啟動問題?

時間 2021-05-31 00:13:59

1樓:你就像四房太太

overlayRoot.shsudo cp overlayRoot.sh /sbin/overlayRoot.

shsudo chmod a+x /sbin/overlayRoot.shcat /boot/cmdline.txtcat /etc/fstabsudo reboot

以上思路與操作流程都來自於下面這位大佬手動一步一步來製作備份Raspberry Pi樹莓派SD卡的img映像檔案(不用dd命令)

因為我本身的需求是用樹莓派採集資訊,沒有介面工具,所以這個就夠用了,因為客戶剛開始使用時需要修改樹莓派資訊,所以加了乙個靜態網頁控制系統是否唯讀,後期看情況補上吧。

2樓:lbblscy

除了將root分割槽以唯讀掛載,還可以在第一階段啟動時將rootfs複製到記憶體分割槽,再chroot過去,這樣系統就完全在記憶體中,從而進一步減少對Flash/CF/SD的讀取操作。

另外要注意的是:大部分的U盤、SD卡甚至是SSD,雖然抗震,但是突然斷電有可能造成儲存單元的永久性損壞(不是僅僅是資料丟失);如有特殊需求,可考慮使用DOM盤。

3樓:馬巨集菩

嵌入式Linux應對掉電問題是有成熟的解決方案的,首先就是唯讀檔案系統,root分割槽在開發完成後固定下來,日常使用時唯讀掛載,tmp、run等目錄使用tmpfs。如果一些程式需要往tmp以外寫臨時檔案等,可以在對應的cache目錄手動掛上乙個tmpfs,或者直接往home套乙個aufs。最後如果實在有需要持久化寫某些東西,可以單獨建乙個ext4分割槽,調整掛載選項注意使用日誌並盡快writeback(其實大多數時候嵌入式裝置如果有這種需要的話都是往另乙個SD卡、U盤等上寫的)。

聽著很熟悉?其實和docker等不可變映象是一樣的。

4樓:jamesr

本質上如果在讀寫時發生斷電,系統的狀態是不確定的,其中出現無法啟動或執行有問題的情況當然是有一定機率的。

你要做的:

一是不要讓它意外斷電,如果需要斷電,主動暫停系統二是檢查硬體,硬體在意味斷電是損壞機率變大。

三是重灌系統,恢復資料

最近就遇到一起意外斷電,把買來不到兩個月的硬碟弄壞了,於是我弄了個帶通知功能的UPS,換新硬碟,並恢復了之前的資料(有做RAID)。

5樓:依雲

從來沒遇到過斷電之後無法啟動的情況呢。我的樹莓派要關機或者重啟都是直接拔電源線的。我的筆記本也沒幾次是正常關機的(莫名卡死、喚醒不了、系統被我弄掛了之類的)。

無法啟動的話,你試試讀取其儲存器,看看檔案系統是不是壞掉了。沒壞的話,看看有沒有報錯什麼的。

請問Linux嵌入式和微控制器嵌入式到底什麼區別

嵌入式是個很寬泛的詞。嵌入式Linux專指將嵌入了Linux核心的裝置。微控制器的概念從語義上就是繼承基本所有的需要的硬體裝置功能到一塊小體積晶元上,包含執行記憶體和硬儲存,控制器,處理器,攜帶有計算能力,開放應用埠,充足的匯流排等等。以上。都是概念的問題。arm9啥的,coretx啥的,遠遠不止這...

從目前來看,搞嵌入式底層,Linux驅動開發還有前途嗎?

前面說的對,你別浪,有沒有前途看你自己,所有職位都是看你自己的努力才能值錢。其次,嵌入式其實還可以,沒有那麼糟糕,糟糕的是人,我以前小弟現在華為混的挺好。月薪也不低 謝藥,兩年前的問題了,待遇上看,嵌入式去大廠待遇也不會太差,但是需求少,要求高,競爭也沒那麼激烈。中小規模企業需求少,待遇差,要求低。...

做linux嵌入式平台還是深入做camera驅動比較好

1 如果是晶元廠商,提供完整的解決方案,國內如瑞芯微的,這樣你可以深入linux驅動開發,學的深。2 如果是基於晶元廠商的解決方案,來定製開發 二次開發 這種是可以讓晶元廠商來解決的。也就是學的比較淺 linux嵌入式平台屬於2 camera驅動屬於1 1 的機會比較少,以後做久了就是行業的專家,去...