Re: [問題] 請問2.4跟2.6的makefile寫法的不同

看板LinuxDev作者 (iNeEdmOretIme)時間18年前 (2006/12/12 17:15), 編輯推噓8(806)
留言14則, 5人參與, 最新討論串3/3 (看更多)
※ 引述《egglet (拒收作業)》之銘言: : kernel2.4 和 kernel 2.6接受的模組格式不一樣 : kernel 2.4 收 .o即可,但在 kernel 2.6 改收 .ko : 因此 Makefile上的寫法就會有小小的不同 : 在下達 make 指令時同時產生 .o ,.ko,.mod.c ,.mod.o 這些檔案 : 最快的方式,就是把 Makefile 重寫,但其實也不用重頭到尾自己寫 : 我是直接參考O'REILLY 的 Linux 驅動程式 第三版範例中的Makefile並改成自己要用的 : 範例下載:http://www.oreilly.com.tw/product_linux.php?id=a184 : 可以參考misc-modules 資料夾底下的 Makefile 及 最外層的 Makefile : 順便提醒一下,書中範例中(Makefile)的 KERNELDIR 是指向你放 kernel source的地方 : 如果你放的地方跟書中範例的不一樣時,要記得改成自己的,或者將 kernel source : 放在跟書中範例一樣的地方 謝謝e大指教 不過因為我主要是要產生clnkapi.a這個檔案 而我的source tree裏面沒有clnkapi.c這個檔,看原本Makefile的寫法 似乎就是合併另外3個.o來生出這個.a 在這個範例裏面我還是不懂要如何做到...orz 還有一個問題,如果依照範例的作法來make的話會跑出一個從沒看過的錯誤訊息: arm-linux-ld: ERROR: drivers/net/moca/host/Ethernet/built-in.o uses hardware FP, whereas drivers/net/built-in.o uses software FP arm-linux-ld: failed to merge target specific data of file drivers/net/moca/host/Ethernet/built-in.o FP我查了一下似乎跟MMU有關,我的CPU是有MMU的,所以應該是用hardware FP吧? 可是他竟然說drivers/net/built-in.o是用software FP 請問這該怎麼解決呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.31.22.121

12/12 20:35, , 1F
跟你的toolchain有關係 , 與MMU沒有關係
12/12 20:35, 1F

12/12 20:36, , 2F
我編譯bootloader也遇過相同的訊息
12/12 20:36, 2F

12/12 20:43, , 3F
你要弄得應該不是 kernel module 吧?
12/12 20:43, 3F

12/12 21:19, , 4F
這問題要從toolchain下手..我之前是這樣解決的..
12/12 21:19, 4F

12/12 22:02, , 5F
toolchain阿~ 大工程...囧rz...
12/12 22:02, 5F

12/12 22:23, , 6F
啊..對不起啊..我沒有把文章看清楚..害你白忙一場
12/12 22:23, 6F

12/12 22:24, , 7F
請問一下..你是在PC上編譯好程式在放到ARM的平台上執行嗎
12/12 22:24, 7F

12/12 22:50, , 8F
是的是的 用的是snapgear3.3.0
12/12 22:50, 8F

12/12 22:53, , 9F
我之前是把makefile中的AR(ar)改為arm-linux-ar 就可以了
12/12 22:53, 9F

12/12 22:56, , 10F
不過我的makefile檔是利用./configure 產生的
12/12 22:56, 10F

12/12 23:25, , 11F
嗯!修正一下..把AR指向自己arm-linux-ar的位置
12/12 23:25, 11F

12/12 23:28, , 12F
或者是己產生.O 將目錄切換到.O下..執行arm-linux-ar 指令
12/12 23:28, 12F

12/12 23:30, , 13F
arm-linux-ar cru XXX.a XXX.o XXXX.o (XXX表檔名)
12/12 23:30, 13F

12/13 10:19, , 14F
就是這個啦! 謝謝謝謝 <(_ _)>
12/13 10:19, 14F
文章代碼(AID): #15VdDErP (LinuxDev)
文章代碼(AID): #15VdDErP (LinuxDev)