作者 主題: FreeBSD kernel compile....  (閱讀 1918 次)

0 會員 與 1 訪客 正在閱讀本文。

cmwang

  • 活潑的大學生
  • ***
  • 文章數: 318
    • 檢視個人資料
FreeBSD kernel compile....
« 於: 2013-03-31 10:50 »
最近鵝因為工作須要在一台DL380G8上裝FreeBSD 9.1 32bit版,可是9.1內建的dev/bge對DL380G8上的BCM5719有點水土不服(一直link up/link down :P),所以網路根本不能用,網路上是有找到應該可以解決問題的kernel source,可是compile時卻發生讓鵝啼笑皆非的狀況了,因為FreeBSD預設會把沒有static link進去的部份全部compile成module,所以鵝要compile時一直被卡在dev/aha(應該是指超古老的AHA1542系列吧,包括原版的kernel source配上GENERIC也會發生一樣的狀況 :P),請問一下有沒有辦法讓FreeBSD的GCC忽略掉warning而不要當成error直接abort掉,或是如何改config直接忽略掉用不到的module啊(因為鵝在FreeBSD 9.1 X86-64版上是可以compile成功的,可是user的AP指定要在32bit上就是了 :-\ :-\)....
不要,不要,我不要這種顏色的帽子 ;D ;D....

cmwang

  • 活潑的大學生
  • ***
  • 文章數: 318
    • 檢視個人資料
Re: FreeBSD kernel compile....
« 回覆 #1 於: 2013-03-31 22:41 »
鵝後來無意中發現,只要開了PAE就compile不起來(應該說是開PAE時,ISA相關的部份就會出問題,可是鵝試著把EISA/ISA相關部份全部mark掉還是會compile成module,所以一樣compile不起來 :-\),不開PAE就沒事(X86-64版不會出問題應該就是直接排除所有ISA相關部份所致 :P),才發現鵝實在是耍寶,/sys/i386/conf下就有PAE的範例了,花了兩天終於搞清楚FreeBSD和Linux compile kernel有啥不同 :P....

1:Linux有UI,而且會順便幫user搞定相依性的問題,FreeBSD要靠user自己step by step搞定config file(不過這一點鵝早就知道了 :P)....

2:Linux除非user有明確指定或是因為相依性才會compile進kernel(wether static link or module),不然是不會主動compile的(i.e.正面表列),FreeBSD的話除非user明確指定不要compile,不然是會compile成module的(i.e.負面表列)....

3:FreeBSD的kernel要開PAE的話就只能compile成static link(i.e. module是不work的),所以除非把所有用不到的部份一一負面表列上去,不然就會得到一個很肥的kernel,而且一旦compile成static link,就不太容易控制kernel存取某些resource時的先後次序了 :P....

以上幾點大家參考參考吧 :P :P....
不要,不要,我不要這種顏色的帽子 ;D ;D....