CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 13995|回复: 16

不正常斷電後,重新開機顯示無法mount nandb而系統無法使用

[复制链接]
发表于 2014-11-1 15:32:05 | 显示全部楼层 |阅读模式
本帖最后由 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 區會壞而已 ?











本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| 发表于 2014-11-1 15:58:45 | 显示全部楼层
安裝完成後我有做過 sudo cubian-update 及 sudo cubian-update --update-board-cfg

這2個指令應該是讓 Cubian 更穩一點吧 !?
回复 支持 反对

使用道具 举报

发表于 2014-11-2 04:02:58 | 显示全部楼层
本帖最后由 cubieplayer 于 2014-11-2 04:07 编辑
PeterW 发表于 2014-11-1 15:58
安裝完成後我有做過 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即可

评分

参与人数 1威望 +15 金钱 +15 贡献 +15 收起 理由
PeterW + 15 + 15 + 15 謝謝您告訴我問題的答案 !!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2014-11-2 04:06:28 | 显示全部楼层
另外在fstab里是可以把nand设置为readonly的,有相应的参数,可以搜搜相关文档
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 09:12:23 | 显示全部楼层
cubieplayer 发表于 2014-11-2 04:02
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"


回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 09:19:19 | 显示全部楼层
cubieplayer 发表于 2014-11-2 04:02
cubian-update 不是必须的,只要你的系统使用起来没啥问题。你的问题时需要开启nand ext4的journal,这个 ...

請問修改 /usr/lib/cubian-nandinstall/install.sh 對已經安裝至 nand 的 cubian 有效嗎 , 還是對 sdcard

要裝入新的 nand 才有效 !!

我的意思是想請教這個指令對已經建立在 nand 的 disk parition 有效嗎 ?
回复 支持 反对

使用道具 举报

发表于 2014-11-2 12:43:23 | 显示全部楼层
原來 cubian 預設是 disable 的 ,

这个设置非常不安全。 幸好知道了如何调整。目前Cubian 的系统暂时还是只在SD上运行和测试。稳定后,肯定会写到NAND 里面。这样就必须要打开 Journal
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 15:12:24 | 显示全部楼层
如果已經安裝到  nand 了 , 不知有什麼方法改為啟用 Journal ?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 20:03:52 | 显示全部楼层
cubieplayer 发表于 2014-11-2 04:02
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插座了)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-2 21:22:28 | 显示全部楼层
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:}



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-23 01:11 , Processed in 0.026104 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部