不正常斷電後,重新開機顯示無法mount nandb而系統無法使用
本帖最后由 PeterW 于 2014-11-1 15:33 编辑不正常斷電後,重新開機後顯示無法mount nandb而系統無法使用 !
因為客戶安全理由入廠安裝之設備需要破壞 SDCARD , SATA , OTG , USB Port 4項設備接口 (如圖) ,
由於 SDCARD 座已經被破壞了 , 所以無法重新安裝 Cubian , 有3個問題想請教一下
1. Cubian 各項套件都已更新至最新版本了 , 意外斷電重開後發生 boot 時顯示無法 mount nandb
由於 nandb 是Linux所在區 , 所以無法使用是正常的 , 但是這台CB2是作為撥放 HTML 圖片檔用的 ,
為了減少nand覆寫次數所以開了400MB的ram作為Chromium的cache用 , 理論上來說基本上這一台
CB2有點算是 Read Only 模式了 , 當然我知道Linux本身是會產生一些log的寫入動作 , 但是 nandb
是 ext4 格式的 , 應該不會為了一些系統 log 寫入而產生 mount 不起來的情形 , 這情形我在去客戶
安裝前在公司有同事沒下 shutdown 指令就將電源拔除而發生過一次 , 重新用 cubian-nandinstall 一次就
正常了 , 當時以為只是單純單一事件 , 沒想到居然會重覆發生 , 但是我現在已經沒有了 sdcard 座了 {:soso_e109:}
2. 請問只是單純的不正常斷電重開 , 真的 nandb 就損壞了嗎 ?因為我從 TTL port 看到每次 boot 時 ,
如果系統發現上一次是不正常斷電都會自動執行 fsck 修護磁區 , 但是為什麼有時 nandb 就mount不起來了呢 ?
3. 有沒有方法可以將 linux 系統設定為 read only , 只將nandc mount 在 home 下 ? 這樣至少系統區
不會開不起來 , 只有 user 區會壞而已 ?
安裝完成後我有做過 sudo cubian-update 及 sudo cubian-update --update-board-cfg
這2個指令應該是讓 Cubian 更穩一點吧 !? 本帖最后由 cubieplayer 于 2014-11-2 04:07 编辑
PeterW 发表于 2014-11-1 15:58 static/image/common/back.gif
安裝完成後我有做過 sudo cubian-update 及 sudo cubian-update --update-board-cfg
這2個指令應該是讓 Cu ...
cubian-update 不是必须的,只要你的系统使用起来没啥问题。你的问题时需要开启nand ext4的journal,这个默认是关闭的
找到
/usr/lib/cubian-nandinstall/install.sh
注释掉第285行
disableJournal
就可以了,断电数据会自动恢复,但是会减少nand的使用寿命
另外你的需求貌似不需要log,可以把所有的log关闭,最大程度的减少对nand的访问
注释掉
/etc/rsyslog.conf
相应的log即可 另外在fstab里是可以把nand设置为readonly的,有相应的参数,可以搜搜相关文档 cubieplayer 发表于 2014-11-2 04:02 static/image/common/back.gif
cubian-update 不是必须的,只要你的系统使用起来没啥问题。你的问题时需要开启nand ext4的journal,这个 ...
Dear cubieplayer
太感謝您了 , 其實我一直覺得 ext4 檔案格式是日誌型的 , 應該是有能力保護自己的 ,
原來 cubian 預設是 disable 的 , 您提到關閉後會減少nand的使用壽命 , 我有想過其實
我的 CB2 開機後是 auto login + auto start chromium
我在 /etc/fstab 內加了一行 , tmpfs /home/auto_player/.cache tmpfs noatime,nodev,nosuid,size=400M 0 0
開了 400MB RAM DISK 並 mount 到使用者 auto_player 目錄下的.cache
再用以下指令打開 chromium , 將 chromium 的 cache 由 .config/chromium 重新指向 .cache 中 , 如此一來 chrominm
在開始撥放時會重新建立 default profile , 因為之前我常常會發生 chromium 啟動時會出現參數讀取失敗的訊息 , 但改為
每一次開機時建立就不會發生了 , 這一組 profile 及 cache 都放在 ram disk 中 , 應該可以減少 nand 的使用壽命吧 ?!
Exec=bash -c "sleep 10; /usr/bin/chromium http://192.168.8.202:90/demo/index.html?emd_na=demo14509 -kiosk --disable-translate --no-first-run --user-data-dir=/home/auto_player/.cache/chromium --disk-cache-dir=/home/auto_player/.cache/chromium"
cubieplayer 发表于 2014-11-2 04:02 static/image/common/back.gif
cubian-update 不是必须的,只要你的系统使用起来没啥问题。你的问题时需要开启nand ext4的journal,这个 ...
請問修改 /usr/lib/cubian-nandinstall/install.sh 對已經安裝至 nand 的 cubian 有效嗎 , 還是對 sdcard
要裝入新的 nand 才有效 !!
我的意思是想請教這個指令對已經建立在 nand 的 disk parition 有效嗎 ? 原來 cubian 預設是 disable 的 ,
这个设置非常不安全。 幸好知道了如何调整。目前Cubian 的系统暂时还是只在SD上运行和测试。稳定后,肯定会写到NAND 里面。这样就必须要打开 Journal 如果已經安裝到nand 了 , 不知有什麼方法改為啟用 Journal ? cubieplayer 发表于 2014-11-2 04:02 static/image/common/back.gif
cubian-update 不是必须的,只要你的系统使用起来没啥问题。你的问题时需要开启nand ext4的journal,这个 ...
請問是這樣子嗎 ?
#disableJournal(){
#tune2fs -o journal_data_writeback $NAND_ROOT_DEVICE >> /dev/null
#tune2fs -O ^has_journal $NAND_ROOT_DEVICE >> /dev/null
#e2fsck -f $NAND_ROOT_DEVICE
#}
如果已經安裝到nand 了 , 不知有什麼方法改回啟用 Journal ? 謝謝 !!(因為已經沒有SDCARD插座了) 1. 先用 tune2fs -O has_journal /dev/nandb 打開 nandb 之 journal 功能
2. 再用 sudo debugfs -R features /dev/nandb 檢查 nandb 是否開啟 journal_data
顯示結果如下
sudo debugfs -R features /dev/nandb
debugfs 1.42.5 (29-Jul-2012)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
如果有出現 Filesystem features: has_journal 那表示已經開啟 nandb 之journal 功能 !!
我是上網找的 , 不曉的這樣作是否正確 ? , 沒辦法了死馬當活馬醫吧 ............... {:soso_e149:}
页:
[1]
2