鵝後來無意中發現,只要開了PAE就compile不起來(應該說是開PAE時,ISA相關的部份就會出問題,可是鵝試著把EISA/ISA相關部份全部mark掉還是會compile成module,所以一樣compile不起來
),不開PAE就沒事(X86-64版不會出問題應該就是直接排除所有ISA相關部份所致
),才發現鵝實在是耍寶,/sys/i386/conf下就有PAE的範例了,花了兩天終於搞清楚FreeBSD和Linux compile kernel有啥不同
....
1:Linux有UI,而且會順便幫user搞定相依性的問題,FreeBSD要靠user自己step by step搞定config file(不過這一點鵝早就知道了
)....
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時的先後次序了
....
以上幾點大家參考參考吧
....