知識社群登入
位置: 艾鍗學院 Blog > 專業論壇 > 討論
[嵌入式Linux實作問題] 關於arm linux cross compile
1樓
前一次上課老師要我們回去試著用arm linux gcc來編譯samba
去抓最新的3.6.3
利用./configure 產生Makefile
之後修改裡面的CC CPP AR

make之後會發生Linking error
都會出現像這樣的錯誤訊息
system.c:(.text+0xa30): undefined reference to `fallocate'

原本是把相關功能關掉來略過這個錯誤
接著出現lib相關的問題 下載libc6去-I就解決了
但是之後接著make同樣的Linking error會再次發生
後來google後發現這好像是因為kernel headers too old的問題
不過更新了linux-libc-dev - Linux Kernel Headers for development相關套件還是有同樣的問題

後來索性去抓samba較舊的版本samba-3.2.15 來編譯
出乎意料的順利... 只要改CC CPP AR即可
之前Linking相同功能的地方也沒有錯誤

後來接著抓 samba-3.4.15   samba-3.5.13來編譯
也都順利編譯成功 所以最新版是不是和kernel版本的支援度有關系?

唯一的疑問是 它安裝的路徑都不照我給的位置
直接安裝在Makefile的當前資料夾那邊 去檢查Makefile裡的參數也都正確
只有3.6.3不會有這問題 不過編譯不過就是了==
2樓
另外最近時間比較多
希望Joseph老師能給我出一些作業試著做看看
看能不能學多一些 不然現在有點像是無頭蒼蠅到處亂撞@.@
謝謝老師
3樓

 Zipper , 

   你可以自己先找一個應用系統來實現,或是找一個方向來研究研究

例如你可以找這個來研究看看/./ 

   在DMA6410L板子上, U-boot 若有儲存環境變數, 常常會導致boot-loader掛掉,  
   你可以試著去找出原因並解決它!
 
 ps. 上次我已說明NAND Flash 的控制方法了, 所以你應具相當背景知識,可以debug