1. 程式人生 > >linux移植yaffs2檔案時候遇到的busybox的問題,以及燒寫yaffs2檔案時候的問題及解決

linux移植yaffs2檔案時候遇到的busybox的問題,以及燒寫yaffs2檔案時候的問題及解決

1.我用的是windows xp下的redhat發行版的虛擬機器,在做跟檔案系統的時候,編譯及安裝buybox的時候出現了這樣的問題:我用smb伺服器將make;make install之後產生的資料夾_install下的usr、bin、sbin檔案通過smb伺服器拷貝到自己製作的根檔案目錄下,然後用mkyaff2image製作根檔案系統。但是我發現這個yaffs2根檔案居然有550MB,我的nand flash一共才256MB,整個這麼大的檔案怎麼可能裝的下。然後我就看的的根檔案裡面檔案的屬性,一看剛才smb複製過來usr、bin、sbin檔案高達500多MB,怎麼跟busybox這個短小精悍的工具不符啊?它製作出來的東西比較小才對啊?然後我到busybox中_install檔案看剛才三個資料夾的屬性,不大就幾MB。然後就總結出是我用smb伺服器拷貝這種編譯安裝檔案的時候出錯了。解決的方法就是用cp命令將這幾個資料夾複製過去,或者打包後用smb複製過去,這樣就不會變成500多MB了,用mkyaffs2image製作出來的根檔案系統就10幾MB了。可以下載到flash 中了。

2.nand write.yaffs2的時候出現Attempt to write error length data!

這種情況就是因為用的mkyaffs2image工具型號不對,有時候64MB、128MB、256MBnand flash的這種工具,如果你用了不對型號的工具製作根檔案,下載的時候就出現Attempt to write error length data!這是因為不同大小的flash塊的大小不同原因造成的。換個對型號的工具製作一下就可以了正確燒寫了。

祝你成功!