日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

61 FreeBSD連載:其他內(nèi)核設(shè)置選項( 二 )


# cd /usr/src/sys/ufs/ffs# ln -s /usr/src/contrib/sys/softupdates/*.[ch] .當(dāng)建立了上述連接之后,帶有SOFTUPDATES選項的內(nèi)核才能被正確編譯,然而即使內(nèi)核支持這個選項,還需要在文件系統(tǒng)中設(shè)置softupdate選項,相應(yīng)文件系統(tǒng)才能真正使用這個功能,這需要對相應(yīng)的文件系統(tǒng)使用tunefs命令:
# tunefs -n enable /dev/rda0s1d這個命令只需執(zhí)行一次就行了,為了避免出現(xiàn)問題,請在系統(tǒng)的單用戶模式下執(zhí)行這個命令 。同樣可以使用tunefs -n disable可以屏蔽這個功能 。
此外,對于多處理器的服務(wù)器系統(tǒng),還可以使用SMP選項和APIC_IO選項以支持多處理器 。
可以在編譯內(nèi)核時打開更多的優(yōu)化選項,缺省情況的只能提供十分基本的優(yōu)化,而且是使用標(biāo)準(zhǔn)版本的gcc 2.7.2.1來編譯系統(tǒng)的 ??梢园惭begcc,并指定更高的優(yōu)化選項,如-O6和-mPentium,來獲得更高級別的優(yōu)化和利用Pentium芯片專用指令 。由于egcc僅僅支持ELF格式的執(zhí)行文件,因此不能用于3.0之前(包括3.0-REKLEASE)使用a.out格式內(nèi)核的系統(tǒng) 。
當(dāng)使用egcc編譯內(nèi)核時,需要更改執(zhí)行config后產(chǎn)生的內(nèi)核目錄下的Makefile,需要重新定義CC選項為/usr/local/bin/egcc,并更改優(yōu)化選項-O為-O -mpentium,但是由于egcc不支持gcc的編譯選項-fformat_externsion,因此還需要更改Makefile引用的/usr/src/share/mk/bsd.kern.mk文件,刪除這個文件中這個編譯選項的定義 。
雖然理論上編譯器優(yōu)化不影響編譯結(jié)果,但是編譯器本身也會存在問題,使得在某些情況下發(fā)生錯誤 。尤其對于系統(tǒng)內(nèi)核,它決定系統(tǒng)的穩(wěn)定性 。因而在編譯時采用過高的優(yōu)化時就要特別小心,極其偶然的情況下會過高優(yōu)化的內(nèi)核會造成系統(tǒng)崩潰 。因此在正式使用一個優(yōu)化內(nèi)核之前,應(yīng)該保留一個原有的、使用普通優(yōu)化選項的內(nèi)核 。新內(nèi)核經(jīng)過一定時間實際運行的考驗,確認沒有問題之后才能放心用于正式使用 。
聲卡設(shè)備
通常對于SoundBlaster兼容的聲卡,可以使用的以下配置選項:
controllerpnp0controllersnd0device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintroptionsSBC_IRQ=5devicesbxvi0at isa? drq 5devicesbmidi0at isa? port 0x330deviceopl0at isa? port 0x38a其中pnp0控制器是幫助設(shè)置ISA接口的PNP聲卡的資源,這主要用于使用BIOS為ISA PNP設(shè)備分配資源的情況下 。但如果不是ISA PNP的聲卡,就不需要這個設(shè)置,而且如果ISA PNP聲卡能設(shè)置為非PNP類型,最好將其設(shè)置為非PNP類型,ISA總線下的PNP聲卡比較難以設(shè)置 。
如果系統(tǒng)中安裝有Dos的話,可以啟動到DOS下,使用該卡的設(shè)置程序或一些系統(tǒng)硬件分析軟件尋找BIOS分配給ISA PNP卡的資源 。
snd0提供最基本的聲卡支持代碼,sb0為SoundBlaster兼容聲卡驅(qū)動程序,要根據(jù)聲卡的配置參數(shù)更改sb0驅(qū)動程序的IRQ、DMA以及port數(shù)值 。改變IRQ值的時候,不僅應(yīng)該在sb0的配置行中改變,還應(yīng)該使用SBC_IRQ配置選項 。
sbvxi0也是SoundBlaster 16所需的代碼,大部分聲稱與SoundBlaster兼容的聲卡并不能做到完全兼容SoundBlaster 16,最多兼容SoundBlaster或SoundBlasterPro,因此就不能支持這個設(shè)備,只有真正的SoundBlaster 16才能使它發(fā)揮作用 。sbmidi0為SoundBlaster聲卡的MIDI接口的驅(qū)動程序,很多兼容聲卡也不支持這個設(shè)備 。opl0為SoundBlaster兼容聲卡使用的Yamaha OPL-2和OPL-3芯片使用的驅(qū)動 。
使用上面的配置選項,設(shè)置正確的資源參數(shù),就可以支持soundblaster兼容聲卡 。但是不同聲卡對Soundblaster的兼容性不同,因此系統(tǒng)檢測時就不能檢測到所有的設(shè)備,如midi設(shè)備或sbvxio0設(shè)備,但一般都可以檢測到sb0設(shè)備,這就能提供基本的聲卡設(shè)備支持 。
聲卡設(shè)備還需要相應(yīng)設(shè)備文件snd0的支持:
# cd /dev# ./MAKEDEV snd0當(dāng)使用這些選項重新編譯好內(nèi)核,并啟動之后,就可以查看聲卡系統(tǒng)是否工作正常 。首先應(yīng)使用dmesg命令查看系統(tǒng)是否偵測出了聲卡設(shè)備,如果沒有偵測出,就可能是硬件參數(shù)配置的問題,需要使用UserConfig更改配置 。

推薦閱讀