感謝大佬們抽空指導指導已哭暈在廁所的小弟~
起因:想在linux下通過腳本方法燒寫一個xxx.bin鏡像檔案到SD卡中,之前一直都可行的,但最近不知道為啥一直燒寫不成功。
現象:
[root@localhost led02]# ./write2sd
記錄了32+0 的讀入
記錄了32+0 的寫出
16384位元組(16 kB)已復制,0.000278132 秒,58.9 MB/秒
write2sd中的內容如下所示,這條腳本命令一直都可行的。
#!/bin/sh
sudo dd iflag=dsync oflag=dsync if=210.bin of=/dev/sdb seek=1
這個現象與正常燒錄是不太一樣,所花費時間太短了,幾乎是一瞬間的,無論我的鏡像檔案是幾k還是幾M。多番測驗和嘗試,都無法解決這個問題,太納悶了,懇請大佬helphelp~
曾做過的測驗與現象或結果:
(1)大結論:一下所有測驗,在windows下都能正常燒錄,而在linux下都不能正常燒錄
(2)換了張SD卡,現象不變,不可行,說明SD應該沒問題
(3)換了個讀卡器,現象不變,說明讀卡器應該沒壞
(4)換了幾個鏡像檔案(做的是裸機實驗,所以應該算是啟動鏡像),現象不變,說明不是程式的問題
--------------------------------
以下是一些稀奇古怪的測驗與現象:
(5)把程式的鏈接地址改了幾次,改成平時多次測驗所用的地址,現象沒變化。
(6)將虛擬機還原到上一個快照點(這個時候還沒做相關裸機實驗),第一次燒寫鏡像,成功!!!(第二次)換了一個鏡像檔案,燒寫,不成功!(第三次,換了張可用的SD卡)重新燒寫原本第一次燒寫成功的鏡像檔案,不成功。
(7)SD卡windows下快速格式化,發現里面的鏡像檔案竟然 還在???(不知道啥原因)
(8)SD卡windows下普通格式化(很慢很慢),linux下依舊燒錄不成功。
綜上,個人初步定位:問題應該與硬體設備(SD卡,讀卡器,開發板)無關,也與程式本身無關,而與虛擬機的某個啥啥不知道的問題有關,當然也可能與“鏈接地址”有關(鏈接地址這個概念我半知半解的,所以不太敢排除)。
#(玫瑰) 內容雖然比較長,但也是小弟我力求列出所有可供大佬參考的可能性, 感謝大佬不吝helphelp~
uj5u.com熱心網友回復:
所用的系統是Centos7uj5u.com熱心網友回復:
痛苦掙扎了幾天,結果也還是不知道怎么解決的,突然就好了。最后做的掙扎是:Linux下用dd命令給sd卡全部寫0(格式化),但實在太卡了我就沒等它完成就強制結束了,然后虛擬機卡死,然后強制關機,windows也強制關機,然后重新開機開虛擬機,虛擬機果不其然地報了點錯誤,沒管它,測驗了下,竟然神奇的解決了我SD燒寫不了的問題!!!lucky轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/93254.html
標籤:系統維護與使用區
