A. windows server 2008新增了哪些功能啊》
Windows Server 2008是微軟下一個伺服器操作系統的名稱,它將會繼承Windows2003。WindowsServer2008在進行開發及測試時的代號為"Windows Server Longhorn"。
Windows Server 2008將會是一套相等於Windows Vista(代號為Longhorn)的伺服器系統,兩者很可能將會擁有很多相同功能;Vista及Server2008與XP及Server2003間存在相似的關系。(XP和Server 2003的代號分別為Whistler及Whistler Server)
Microsoft Windows Server 2008代表了下一代Windows Server。使用Windows Server 2008,IT專業人員對其伺服器和網路基礎結構的控制能力更強,從而可重點關注關鍵業務需求。Windows Server 2008通過加強操作系統和保護網路環境提高了安全性。通過加快IT系統的部署與維護、使伺服器和應用程序的合並與虛擬化更加簡單、提供直觀管理工具,Windows Server2008還為IT專業人員提供了靈活性。Windows Server 2008為任何組織的伺服器和網路基礎結構奠定了最好的基礎。
Microsoft Windows Server2008用於在虛擬化工作負載、支持應用程序和保護網路方面向組織提供最高效的平台。它為開發和可靠地承載Web應用程序和服務提供了一個安全、易於管理的平台。從工作組到數據中心,Windows Server2008都提供了令人興奮且很有價值的新功能,對基本操作系統做出了重大改進。
更強的控制能力
[編輯本段]
使用Windows Server 2008,IT專業人員能夠更好地控制伺服器和網路基礎結構,從而可以將精力集中在處理關鍵業務需求上。增強的腳本編寫功能和任務自動化功能(例如,WindowsPowerShell)可幫助IT專業人員自動執行常見IT任務。通過伺服器管理器進行的基於角色的安裝和管理簡化了在企業中管理與保護多個伺服器角色的任務。伺服器的配置和系統信息是從新的伺服器管理器控制台這一集中位置來管理的。IT人員可以僅安裝需要的角色和功能,向導會自動完成許多費時的系統部署任務。增強的系統管理工具(例如,性能和可靠性監視器)提供有關系統的信息,在潛在問題發生之前向IT人員發出警告。
增強的保護
[編輯本段]
WindowsServer2008提供了一系列新的和改進的安全技術,這些技術增強了對操作系統的保護,為企業的運營和發展奠定了堅實的基礎。WindowsServer2008提供了減小內核攻擊面的安全創新(例如PatchGuard),因而使伺服器環境更安全、更穩定。通過保護關鍵伺服器服務使之免受文件系統、注冊表或網路中異常活動的影響,Windows服務強化有助於提高系統的安全性。藉助網路訪問保護(NAP)、只讀域控制器(RODC)、公鑰基礎結構(PKI)增強功能、Windows服務強化、新的雙向Windows防火牆和新一代加密支持,WindowsServer2008操作系統中的安全性也得到了增強。
Network Access Protection (NAP):這是一個新的框架,允許 IT 管理員為網路定義健康要求,並限制不符合這些要求的計算機與網路的通信。NAP 強制執行管理員定義的、用於描述特定組織健康要求的策略。例如,健康要求可以定義為安裝操作系統的所有更新,或者安裝或更新反病毒或反間諜軟體。以這種方式,網路管理員可以定義連接到網路時計算機應具備的基準保護級別。
Microsoft BitLocker 在多個驅動器上進行完整卷加密,為您的數據提供額外的安全保護,甚至當系統處於未經授權操作或運行不同的操作系統時間、數據和控制時也能提供安全保護。
Read-Only Domain Controller (RODC):這是 Windows Server 2008 操作系統中的一種新型域控制器配置,使組織能夠在域控制器安全性無法保證的位置輕松部署域控制器。RODC 維護給定域中 Active Directory 目錄服務資料庫的只讀副本。在此版本之前,當用戶必須使用域控制器進行身份驗證,但其所在的分支辦公室無法為域控制器提供足夠物理安全性時,必須通過廣域網 (WAN) 進行身份驗證。在很多情況下,這不是一個有效的解決方案。通過將只讀 Active Directory 資料庫副本放置在更接近分支辦公室用戶的地方,這些用戶可以更快地登錄,並能更有效地訪問網路上的身份驗證資源,即使身處沒有足夠物理安全性來部署傳統域控制器的環境。
Failover Clustering:這些改進旨在更輕松地配置伺服器群集,同時對數據和應用程序提供保護並保證其可用性。通過在故障轉移群集中使用新的驗證工具,您可以測試系統、存儲和網路配置是否適用於群集。憑借 Windows Server 2008 中的故障轉移群集,管理員可以更輕松地執行安裝和遷移任務,以及管理和操作任務。群集基礎結構的改進可幫助管理員最大限度地提高提供給用戶的服務的可用性,可獲得更好的存儲和網路性能,並能提高安全性。
更大的靈活性
[編輯本段]
WindowsServer2008的設計允許管理員修改其基礎結構來適應不斷變化的業務需求,同時保持了此操作的靈活性。它允許用戶從遠程位置(如遠程應用程序和終端服務網關)執行程序,這一技術為移動工作人員增強了靈活性。Windows Server 2008使用Windows部署服務(WDS)加速對IT系統的部署和維護,使用WindowsServer虛擬化(WSv)幫助合並伺服器。對於需要在分支機構中使用域控制器的組織,Windows Server 2008提供了一個新配置選項:只讀域控制器(RODC),它可以防止在域控制器出現安全問題時暴露用戶帳戶。
自修復NTFS文件系統
[編輯本段]
從DOS時代開始,文件系統出錯就意味著相應的卷必須下線修復,而在WS2K8中,一個新的系統服務會在後台默默工作,檢測文件系統錯誤,並且可以在無需關閉伺服器的狀態下自動將其修復。
有了這一新服務,在文件系統發生錯誤的時候,伺服器只會暫時無法訪問部分數據,整體運行基本不受影響,所以CHKDSK基本就可以退休了。
並行Session創建
[編輯本段]
如果你有一個終端伺服器系統,或者多個用戶同時登陸了家庭系統,這些就是Session。在WS2K8之前,Session的創建都是逐一操作的,對於大型系統而言就是個瓶頸,比如周一清晨數百人返回工作的時候,不少人就必須等待Session初始化。
Vista和WS2K8加入了新的Session模型,可以同時發起至少4個,而如果伺服器有四顆以上的處理器,還可以同時發起更多。舉例來說,如果你家裡有一個媒體中心,那各個家庭成員就可以同時在各自的房間里打開媒體終端、同時從Vista伺服器上得到視頻流,而且速度不會受到影響。
快速關機服務
[編輯本段]
Windows的一大歷史問題就是關機過程緩慢。在Windows XP里,一旦關機開始,系統就會開始一個20秒鍾的計時,之後提醒用戶是否需要手動關閉程序,而在WindowsServer里,這一問題的影響會更加明顯。
到了WS2K8,20秒鍾的倒計時被一種新服務取代,可以在應用程序需要被關閉的時候隨時、一直發出信號。開發人員開始懷疑這種新方法會不會過多地剝奪應用程序的權利,但現在他們已經接受了它,認為這是值得的。
核心事務管理器(KTM)
[編輯本段]
這項功能對開發人員來說尤其重要,因為它可以大大減少甚至消除最經常導致系統注冊表或者文件系統崩潰的原因:多個線程試圖訪問同一資源。
在Vista核心中也有KTM這一新組件,其目的是方便進行大量的錯誤恢復工作,而且過程幾乎是透明的,而KTM之所以可以做到這一點,是因為它可以作為事務客戶端接入的一個事務管理器進行工作。
SMB2網路文件系統
[編輯本段]
很久很久以前,Windows就引入了SMB,作為一個網路文件系統,不過SMB現在已經太老了,歷史使命已經完成,所以WS2K8採用了SMB2,以便更好地管理體積越來越大的媒體文件。
在微軟的內部測試中,SMB2媒體伺服器的速度可以達到Windows Server 2003的四倍到五倍,相當於400%的效率提升。
隨機地址空間分布(ASLR)
[編輯本段]
ASLR在64位Vista里就已出現,它可以確保操作系統的任何兩個並發實例每次都會載入到不同的內存地址上。
微軟表示,惡意軟體其實就是一堆不守規矩的代碼,不會按照操作系統要求的正常程序執行,但如果它想在用戶磁碟上寫入文件,就必須知道系統服務身在何處。在32位WindowsXPSP2上,如果惡意軟體需要調用KERNEL32)DLL,該文件每次都會被載入同一個內存空間地址,因此非常容易惡意利用。
但有了ASLR,每一個系統服務的地址空間都是隨機的,因此惡意軟體想要輕松找到它們,基本沒戲。
Windows硬體錯誤架構(WHEA)
[編輯本段]
最終,微軟決定將錯誤規范化,確切地說是應用程序向系統匯報發現錯誤的協議要實現標准化了。
目前錯誤報告的一大問題就是設備報錯的方式多種多樣,各種硬體系統之間沒有一種標准,因此編寫應用程序的時候很難集合所有的錯誤資源,並統一呈現,這就意味著要編寫許多特定代碼,針對各種特定情況。
而在WS2K8里,所有的硬體相關錯誤都使用同樣的界面匯報給系統,第三方軟體就能輕松管理、消除錯誤,管理工具的發展也會更輕松。
虛擬化
[編輯本段]
盡管微軟精簡了其虛擬化軟體「Viridian」,但這仍是企業的一個福音,可以有效減少總體成本。盡管VMware在虛擬機領域獨樹一幟,但Viridian得以讓Intel和AMD都提供了對基於硬體的虛擬化的支持,從而提供虛擬硬體支持平台,而這是VMware所難以做到的。
據IDC統計,美國企業已經在根本用不到的處理器資源上浪費了千百億美元,但這並不是他們的錯,而是操作系統的管理問題導致最多85%的CPU資源就經常被閑置。WS2K8加虛擬化的一大目標就是加強閑置資源利用,減少浪費。
PowerShell命令行
[編輯本段]
PowerShell原計劃作為Vista的一部分,但只是作為免費下載的增強附件,隨後又成了ExchangeServer2007的關鍵組件,接下來又將是WS2K8不可或缺的一個成員。這個新的命令行工具可以作為圖形界面管理的補充,也可以徹底取代它。
WindowsServer部門總管IainMcDonald宣稱:「如果一切可以由我決定,我很樂意把PowerShell設置成Windows的默認外殼。我太喜歡這東西了。」
在下月初的TechEd2007大會上,微軟會對PowerShell的一些新應用進行展示。
ServerCore
[編輯本段]
這才是微軟真正的變化之處。如果你是Unix和linux管理員,可能會對在受保護環境中扮演DHCP和DNS伺服器角色的低能耗、虛擬化、無圖形界、只需一個終端管理的伺服器系統非常熟悉,但Windows也可以這么做了。
作為伺服器操作系統,Windows Server一直以來頗為詬病的地方就是,它是「Windows」,因為管理員根本不需要安裝圖形驅動、DirectX、ADO、OLE等東西,畢竟他們不需要運行用戶程序;而且,圖形界面一直是影響Windows穩定性的重要因素。
從WS2K8開始,這些東西都將成為安裝時的可選項。目前的Beta3版本已經可以處理八個角色,最終正式版還會更多,比如文件伺服器、域控制器、DHCP伺服器、DNS伺服器等等,其定位也非常清楚:安全穩定的小型專用伺服器。
另外,如果配置合理,管理員也可以遠程管理無圖形界面的ServerCore安裝,只需開啟TCP3389埠即可。
PowerShell也可以在ServerCore上運行,但很顯然,圖形界面程序都不行,.NETFramework也不會被支持,游戲自然就不用提了。
Win2008 IE安全
[編輯本段]
Windows Server 2008的IE7具有「增強的安全配置」必須通過用戶手動審核才可以打開相關的網站。這一點比Windows Vista相比安全了許多但是,如果不是作為伺服器這一點給桌面用戶帶來了很大的麻煩。
UAC
[編輯本段]
Windows Server 2008 操作系統和Windows Vista類似同樣附帶了UAC User Account Control 用戶帳戶控制,可以有效的降低伺服器的風險,但是通過Vista地帶適用Win2008的系統管理員帳戶並沒有受到像Vista一樣的限制。
WindowsServer2008測試版本
[編輯本段]
WindowsWebServer2008RC0Web
-basedSystems
2008年3月13日已在北京發布三款核心應用平台產品:Windows Server 2008、Visual Studio 2008、SQL Server 2008
創新特性
[編輯本段]
Windows Server 2008、Visual Studio 2008和SQL Server 2008為創建和運行高要求的應用程序提供了一個安全可靠的平台。同時,也為下一代Web應用提供了堅實的基礎、廣泛的虛擬化技術支持以及相關信息的訪問能力。進一步改善的安全技術、開發人員對最新平台的支持、改進的管理工具和Web工具、靈活的虛擬化解決方案以及相關信息的訪問能力,使得廣泛的技術解決方案成為可能。
Windows Server 2008在虛擬化技術及管理方案、伺服器核心、安全部件及網路解決方案等方面具有眾多令人興奮的創新性能:通過內置的伺服器虛擬化技術,Windows Server 2008可以幫助企業降低成本,提高硬體利用率,優化基礎設施,並提高伺服器可用性;通過Server Core、PowerShell、Windows Deployment Services以及增強的聯網與集群技術等,Windows Server 2008為工作負載和應用要求提供功能最為豐富且可靠的Windows平台;Windows Server 2008的操作系統和安全創新,為網路、數據和業務提供網路接入保護、聯合許可權管理以及只讀的域控制器等前所未有的保護,是有史以來最安全的Windows Server;通過改進的管理、診斷、開發與應用工具,以及更低的基礎設施成本,Windows Server 2008能夠高效地提供豐富的Web體驗和最新網路解決方案。
作為新一代開發工具,Visual Studio 2008能幫助開發團隊在最新的平台上開發傑出的用戶體驗,同時,通過進行靈活快速開發實現生產效率新突破,並使開發團隊更好地進行協作:從建模到編碼和調試,Visual Studio 2008對編程語言、設計器、編輯器和數據訪問功能進行了全面的提升,確保開發人員克服軟體開發難題,快速創建互連應用程序;Visual Studio 2008為開發人員提供了一些新的工具,在最新的平台上快速地構建傑出的、高度人性化用戶體驗的和互聯的應用,這些最新平台包括Web、Windows Vista、Office 2007、SQL Server 2008、Windows Mobile和Windows Server 2008;Microsoft Visual Studio Team System 2008提供完整的工具套件和統一的開發過程,適用於任何規模的開發團隊,幫助所有團隊成員提高自身技能,使得開發人員、設計人員、測試人員、架構師和項目經理更好地協同工作,縮短軟體或解決方案的交付時間。
SQL Server 2008 提供了一個可靠的、高效的、智能化的數據平台,可運行需求最苛刻新功能的、完成關鍵任務的應用程序。SQL Server 2008新增了諸多功能,如: Resource Governor管理並發工作負載;通過Policy-Based Management在企業范圍內加強策略的兼容性;通過數據壓縮以及稀疏列來降低存儲需求並提升查詢性能;在SQL Server Reporting Services中利用其提升的性能,高可用性,虛擬化技術與Microsoft Office 2007高度集成;通過對空間數據的支持,實現對地理信息軟體的集成等。SQL Server 2008提供可靠的數據平台,通過一個安全,可靠,並且可擴展的平台上運行最關鍵的應用程序,保護您的數據,確保業務連貫性,提供可預知的響應;同時,SQL Server 2008的高效的數據平台,能夠降低數據管理的成本,同時流線型部署數據應用程序。擁有更便捷的操作維護,加快開發過程,從任意地點訪問您的數據,存儲並處理任意類型的數據並實現地理信息的集成;SQL Server 2008智能化的數據平台,在整個企業范圍內實現商務智能,管理任意大小、任意復雜度的報表和數據分析,實現強大的界面交互並與Microsoft Office System高度集成。集成任意數據,提供相關信息,提升信息的洞察力。
硬體需求
[編輯本段]
為配合Windows Server 2008 RC0預覽版能夠更好的進行測試工作,微軟公布了該系統的硬體配置需求:
相關信息 具體說明
處理器 :
最低1.0GHz x86或1.4GHz x64
推薦2.0GHz或更高;安騰版則需要Itanium 2
內存 :
最低512MB
推薦2GB或更多
內存最大支持 32位標准版4GB、企業版和數據中心版64GB
64位標准版32GB,其他版本2TB
硬碟 :
最少10GB,推薦40GB或更多
內存大於16GB的系統需要更多空間用於頁面、休眠和轉存儲文件
備註: 光碟機要求DVD-ROM;
顯示器:要求至少SVGA 800×600解析度,或更高。
下一代Windows操作系統
B. 怎樣ubuntu環境下編譯內核詳解
步驟/方法
一、下載源代碼和編譯軟體的准備
下載內核源代碼:http://www.kernel.org/
注意,點擊2.6.25內核的F版,即完整版。
如果你懶得去網站點聯接,運行下列命令:
代碼:$cd ~$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.10.tar.bz2
安裝有關編譯程序。安裝make ,gcc, make-kpkg,運行menuconfig等等和編譯內核相關的工具。安裝不了,請檢查/etc/apt/sources.list 文件。有關命令:代碼:$sudo apt-get install build-essential kernel-package libncurses5-dev
二、解壓源代碼注意,網上很多教程上說應該解壓到 /usr/src,純屬以訛傳訛,linux掌門人linus說解壓到任何目錄上都可以。當然,linus的說法是正確的。我放在自己的主目錄下的src目錄。如果你下載源代碼是放到自己的主目錄下或者運行上面的wget下載的,那麼運行下列命令:代碼:$ cd ~$ mkdir src && tar jfx linux-2.6.25.10.tar.bz2 -C src/現在,源代碼就在 ~/src/linux-2.6.25.10進入源代碼的目錄,准備下一步的工作。後面都在這個目錄裡面進行。代碼:$ cd ~/src/linux-2.6.25.10
三、開始編譯前的准備工作。首先,清理以前編譯時留下的臨時文件。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那麼一定要執行。相關命令如下:代碼:$ sudo make mrproper網上很多教程上說把現在使用的內核的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。命令:代碼:cp /boot/config-`uname -r` ./.config
四、開始配置內核選項。相關命令:代碼:$sudo make menuconfig配置用到的鍵只有幾個,esc退出菜單;空格改變選項狀態;游標鍵上下左右移動,回車選定。選項意義:M是編譯成可以隨時加入的模塊,*是編譯進入內核,空就是不要。配置選項非常多,具體配置可以參考金步國先生翻譯的資料:Linux 2.6.19.x 內核編譯配置選項。參考網址:http://lamp.linux.gov.cn/Linux/kernel_options.html為了一次成功,請大家遵循一個原則,如果你自己使用的內核已經選用了某個選項,如果你沒用充分的理由,不要隨便改動。這樣雖然內核不那麼精簡,但是不容易出現問題。我們可以精簡的部分是硬體模塊部分,對於自己沒有的硬體要毫不猶豫的清除。如果你很執著,或者你有潔癖,你也可以一項項對過去,按照金步國先生的資料描述去選擇基本上沒有問題。
五、必須強調的幾個選項:1、
在「General setup」裡面的「Prompt for development and/or incomplete
code/drivers」金步國認為是不需要。但是如果你的硬體比較新,那幾乎是必須選的,這樣,我們才可以找到4965無線網卡,alsa聲音驅動等
等。Kernel log buffer size 我選15,雙核。如果你用ia64,要選16。Control Group support 集群支持?可以不要Choose SLAB allocator (SLUB (Unqueued Allocator)) 內存管理模式slab和slub選擇slub。
2、在「Block layer」里,假如沒有2TB的硬碟,就去掉:Support for Large Block Devices 。Support for Large Single Files 也不需要,誰有2TB的文件?
3、Processor type and features中是關於cpu的,要認真選。Symmetric multi-processing support是打開多核的開關,我的cpu是雙核的,選中。Processor family (Core 2/newer Xeon) 我的是Core 2/newer Xeon。找到自己的cpu後,把Generic x86 support選項取消。Subarchitecture Type 選(PC-compatible)Maximum number of CPUs 輸入自己的核心數目,我輸入2。SMT (Hyperthreading) scheler support說的是超線程技術,P4有支持的,我的t8100不支持,目前大部分市場上的家用cpu都不支持。High Memory Support (4GB) 1G以下選1G;我是3G,選4G;4G以上的選16G在「 Timer frequency 」里,默認是250Hz,較新的cpu都可以選擇了1000Hz,性能更好。
4、Power management options中把APM (Advanced Power Management) BIOS support關閉。現在的電腦都用acpi了。CPU Frequency scaling 是筆記本cpu節電技術Default CPUFreq governor (conservative) cpu節電模式有四個,筆記本默認選conservative比較好。ACPI Processor P-States driver 必須選,不然CPU Frequency就不能用。後面的可選自己硬體相關的,我選的是Intel Enhanced SpeedStep和 Intel Speedstep on ICH-M chipsets,其他的統統消滅。
5、Bus options的選擇:Bus options (PCI, PCMCIA, EISA, MCA, ISA)PCI support PCI Express support 現在新買的機器基本上都是PCI Express了ISA support 較新的新機器沒有ISA設備,可以去掉MCA support 去掉NatSemi SCx200 support 去掉PCI Hotplug Support Support for PCI Hotplug (EXPERIMENTAL) 如果沒有PCI熱插拔設備,去掉這里的選項可以考慮全部編譯進內核,而不是以模塊形式存在。
6、Device Drivers是重點,由於linux不但面向個人工作站,更多的是面向伺服器的應用,所以可以把自己機器上沒有的硬體全部去掉,而不用面面俱到。但是通用型的選項要慎重。比如在網卡的部分,除了我的千兆網卡 Broadcom Tigon3 support和4965無線網卡Intel Wireless WiFi 4965AGN,其餘的硬體支持統統去掉。再比如音效卡部分,我的是hd音效卡,我只是在PCI devices中,選intel hd 音效卡,再選Build IDT/Sigmatel HD-audio codec support,除此之外的硬體支持全部去掉。
音效卡還有一個細節,在ubuntu7.10裡面, 需要在/etc/modprobe.d/alsa-base後面添加options
snd-hda-intel probe_mask=1
model=3stack,這樣我的筆記本喇叭才可以發聲,不然只有外接耳機或者音箱。這次編譯以後,這個動作就不必了,但是兩個耳機插口只有一個可以用
了。再比如我的電腦中沒有agp,就可以直接把agp相關的選項全部取消。要注意的:ATA/ATAPI/MFM/RLL support Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬碟上,那麼這里一定要選*,選M都不行。否則啟動時會出現「waiting for root file system」的提示而停滯不前。 SCSI emulation support 要用刻錄機,必須選。SCSI device support 現在都是SATA硬碟,一定要選* SCSI disk support 如果你的/boot放在SATA硬碟上,一定要選*。
SCSI CDROM support 雖然康寶刻錄機是ide介面的,但是必須把它當成scsi介面的,這是老問題了。用刻錄機,必須選。
Graphics supportSupport for frame buffer devices 選中,進入選擇 VESA VGA graphics support 選上,不然字元界面啟動會有問題,後面的顯卡選擇:由於我的顯卡是nvidia 8400gs,要自己安裝nvidia公司的驅動,所以一個都沒有選。這樣導致ubuntu開機動畫會出問題,我索性在grub中的splash字元全部刪除,把開機動畫關閉。字元界面很正常。 Console display driver support 有人開機後字元控制台錯誤,就是這部分選項沒有選,出問題了。 Framebuffer Console support 需要打開。
Bootup logo 開機圖標,會在自檢的畫面上加上個性圖標。需要在grub上添加「vga=」的選項,可以參考http://dotimes.com/articles /t23-slackware-framebuffer.html7、File systemsFilesystem in Userspace support 簡稱fuse。是必選的,如果你要用windows分區。
CD-ROM/DVD Filesystems ISO 9660 CDROM file system support 一般選*DOS/FAT/NT Filesystems VFAT (Windows-95) fs support 有FAT32分區就選*吧 NTFS file system support 有NTFS分區就選*吧 NTFS write support 如果想對 NTFS分區進行寫操作,選*必須將啟動盤的文件系統編譯進內核,默認是編譯成模塊,這樣無法啟動系統。ubuntu採用的文件系統是ext3,請把ext2,ext3相關的必要選項都編譯進入內核。
8、Virtualization這個大類是我多花幾百元買t8100的主要原因,因為t8100支持intel vt技術使linux上的虛擬機的性能大幅度提高。這里的選項我除了amd的,其他都編譯成模塊。
9、全部設置完成,最後一項是保存設置。按照我的習慣,先在上一層目錄保存一個備份,文件名類似 ../config20080630然後再保存到當起目錄,文件名 .config退出設置程序。
六、開始編譯內核。ubuntu的工具是make-kpkg,和其他的發行版相比,步驟相對簡單。相關命令:代碼:$sudo make-kpkg clean 這條命令好像不要超級許可權,很多資料上說要,不過這不是原則問題。
$ sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers上述命令中的dell1400可以用自己喜歡的字元代替,最後的字元一定是數字.輸完上述命令回車之前,建議大家把瀏覽器還有別的運用程序都關掉,機器開始的工作比較艱苦。
我的機器大概十幾分鍾。
七、安裝內核編譯完成就是安裝工作。編譯好的內核在上一層目錄。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb兩個文件,如果你不搞開發的話,只要安裝內核就可以,頭文件以後要用的時候再說。安裝相關命令:
代碼:$ cd ..$ sudo dpkg -i linux-image-(按tab鍵)文件名很長,如果不用tab自動補足是不可能的,tab鍵萬歲。安裝完成後和老內核比較一下大小代碼:
$ ls -l /boot/
八、重新啟動驗證新內核。代碼:$ sudo reboot
九、顯卡驅動如果你的顯卡和我一樣是nvidia顯卡,啟動之後往往無法正常進入x-window。即使能看到gdm登錄界面,效果也是很差的。那麼就要安裝nvidia驅動。用ctrl+alt+f1 進入字元命令行,輸入用戶名,密碼登錄。命令:代碼:下載驅動$ wget http://us.download.nvidia.com/XFree86/Linux-x86/173.14.12/NVIDIA-Linux-x86-173.14.12-pkg1.run$sudo -s輸入密碼取得超級許可權。#ps ax看看和gdm相關的進程,把這些進程全部關閉;用sudo /etc/init.d/gdm stop有可能有一個進程沒有關閉:#kill 進程號然後安裝nvidia顯卡驅動,當然驅動要先下好,到nvidia驅動所在的目錄里,運行:# sh ./NVIDIA-Linux-x86-173.14.12-pkg1.run重新啟動以後就ok。要用nvidia的驅動,每次升級內核都要這么做。
十、無線網卡相關的內核選項是Networking --->Wireless --->Generic IEEE 802.11 Networking Stack (mac80211)還有4965的驅動。4965
無線網卡驅動雖然已經編入內核,但沒有firmware無法使用。需要把原來內核的firmware拷貝到新內核對應的目錄,名字和內核一致,我的內核是
linux-image-2.6.25.10dell1400,那建的目錄名就是2.6.25.10dell1400。代碼:具體命令:$ cd /lib/firmware/$ sudo mkdir 2.6.25.10dell1400把你的老內核中的4965的firmware拷貝過來。$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/上面的命令和下面的命令是等價的:$ cd /lib/firmware/$ sudo cp -R 2.6.24-16-generic/ 2.6.25.10dell1400/
重新啟動系統,無線網卡就正常了。
附編譯使用的機器配置:dell vostro 1400,t8100,nvidia 8400cs顯卡,內置SigmaTel STAC9228晶元的音效卡,4965無線網卡,BCM5906M千兆網卡,3G內存,160G硬碟,combo刻錄。
編譯系統版本:ubuntu 8.04桌面版.
C. Ubuntu虛擬機里怎麼編譯內核
步驟/方法
一、下載源代碼和編譯軟體的准備
注意,點擊2.6.25內核的F版,即完整版。
如果你懶得去網站點聯接,運行下列命令:
代碼:$cd ~$ wget
安裝有關編譯程序。安裝make ,gcc, make-kpkg,運行menuconfig等等和編譯內核相關的工具。安裝不了,請檢查/etc/apt/sources.list 文件。有關命令:代碼:$sudo apt-get install build-essential kernel-package libncurses5-dev
二、解壓源代碼注意,網上很多教程上說應該解壓到 /usr/src,純屬以訛傳訛,linux掌門人linus說解壓到任何目錄上都可以。當然,linus的說法是正確的。我放在自己的主目錄下的src目錄。如果你下載源代碼是放到自己的主目錄下或者運行上面的wget下載的,那麼運行下列命令:代碼:$ cd ~$ mkdir src && tar jfx linux-2.6.25.10.tar.bz2 -C src/現在,源代碼就在 ~/src/linux-2.6.25.10進入源代碼的目錄,准備下一步的工作。後面都在這個目錄裡面進行。代碼:$ cd ~/src/linux-2.6.25.10
三、開始編譯前的准備工作。首先,清理以前編譯時留下的臨時文件。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那麼一定要執行。相關命令如下:代碼:$ sudo make mrproper網上很多教程上說把現在使用的內核的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。命令:代碼:cp /boot/config-`uname -r` ./.config
四、開始配置內核選項。相關命令:代碼:$sudo make menuconfig配置用到的鍵只有幾個,esc退出菜單;空格改變選項狀態;游標鍵上下左右移動,回車選定。選項意義:M是編譯成可以隨時加入的模塊,*是編譯進入內核,空就是不要。配置選項非常多,具體配置可以參考金步國先生翻譯的資料:Linux 2.6.19.x 內核編譯配置選項。參考網址:http://lamp.linux.gov.cn/Linux/kernel_options.html為了一次成功,請大家遵循一個原則,如果你自己使用的內核已經選用了某個選項,如果你沒用充分的理由,不要隨便改動。這樣雖然內核不那麼精簡,但是不容易出現問題。我們可以精簡的部分是硬體模塊部分,對於自己沒有的硬體要毫不猶豫的清除。如果你很執著,或者你有潔癖,你也可以一項項對過去,按照金步國先生的資料描述去選擇基本上沒有問題。
五、必須強調的幾個選項:1、
在「General setup」裡面的「Prompt for development and/or incomplete
code/drivers」金步國認為是不需要。但是如果你的硬體比較新,那幾乎是必須選的,這樣,我們才可以找到4965無線網卡,alsa聲音驅動等
等。Kernel log buffer size 我選15,雙核。如果你用ia64,要選16。Control Group support 集群支持?可以不要Choose SLAB allocator (SLUB (Unqueued Allocator)) 內存管理模式slab和slub選擇slub。
2、在「Block layer」里,假如沒有2TB的硬碟,就去掉:Support for Large Block Devices 。Support for Large Single Files 也不需要,誰有2TB的文件?
3、Processor type and features中是關於cpu的,要認真選。Symmetric multi-processing support是打開多核的開關,我的cpu是雙核的,選中。Processor family (Core 2/newer Xeon) 我的是Core 2/newer Xeon。找到自己的cpu後,把Generic x86 support選項取消。Subarchitecture Type 選(PC-compatible)Maximum number of CPUs 輸入自己的核心數目,我輸入2。SMT (Hyperthreading) scheler support說的是超線程技術,P4有支持的,我的t8100不支持,目前大部分市場上的家用cpu都不支持。High Memory Support (4GB) 1G以下選1G;我是3G,選4G;4G以上的選16G在「 Timer frequency 」里,默認是250Hz,較新的cpu都可以選擇了1000Hz,性能更好。
4、Power management options中把APM (Advanced Power Management) BIOS support關閉。現在的電腦都用acpi了。CPU Frequency scaling 是筆記本cpu節電技術Default CPUFreq governor (conservative) cpu節電模式有四個,筆記本默認選conservative比較好。ACPI Processor P-States driver 必須選,不然CPU Frequency就不能用。後面的可選自己硬體相關的,我選的是Intel Enhanced SpeedStep和 Intel Speedstep on ICH-M chipsets,其他的統統消滅。
5、Bus options的選擇:Bus options (PCI, PCMCIA, EISA, MCA, ISA)PCI support PCI Express support 現在新買的機器基本上都是PCI Express了ISA support 較新的新機器沒有ISA設備,可以去掉MCA support 去掉NatSemi SCx200 support 去掉PCI Hotplug Support Support for PCI Hotplug (EXPERIMENTAL) 如果沒有PCI熱插拔設備,去掉這里的選項可以考慮全部編譯進內核,而不是以模塊形式存在。
6、Device Drivers是重點,由於linux不但面向個人工作站,更多的是面向伺服器的應用,所以可以把自己機器上沒有的硬體全部去掉,而不用面面俱到。但是通用型的選項要慎重。比如在網卡的部分,除了我的千兆網卡 Broadcom Tigon3 support和4965無線網卡Intel Wireless WiFi 4965AGN,其餘的硬體支持統統去掉。再比如音效卡部分,我的是hd音效卡,我只是在PCI devices中,選intel hd 音效卡,再選Build IDT/Sigmatel HD-audio codec support,除此之外的硬體支持全部去掉。
音效卡還有一個細節,在ubuntu7.10裡面, 需要在/etc/modprobe.d/alsa-base後面添加options
snd-hda-intel probe_mask=1
model=3stack,這樣我的筆記本喇叭才可以發聲,不然只有外接耳機或者音箱。這次編譯以後,這個動作就不必了,但是兩個耳機插口只有一個可以用
了。再比如我的電腦中沒有agp,就可以直接把agp相關的選項全部取消。要注意的:ATA/ATAPI/MFM/RLL support Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬碟上,那麼這里一定要選*,選M都不行。否則啟動時會出現「waiting for root file system」的提示而停滯不前。 SCSI emulation support 要用刻錄機,必須選。SCSI device support 現在都是SATA硬碟,一定要選* SCSI disk support 如果你的/boot放在SATA硬碟上,一定要選*。
SCSI CDROM support 雖然康寶刻錄機是ide介面的,但是必須把它當成scsi介面的,這是老問題了。用刻錄機,必須選。
Graphics supportSupport for frame buffer devices 選中,進入選擇 VESA VGA graphics support 選上,不然字元界面啟動會有問題,後面的顯卡選擇:由於我的顯卡是nvidia 8400gs,要自己安裝nvidia公司的驅動,所以一個都沒有選。這樣導致ubuntu開機動畫會出問題,我索性在grub中的splash字元全部刪除,把開機動畫關閉。字元界面很正常。 Console display driver support 有人開機後字元控制台錯誤,就是這部分選項沒有選,出問題了。 Framebuffer Console support 需要打開。
Bootup logo 開機圖標,會在自檢的畫面上加上個性圖標。需要在grub上添加「vga=」的選項,可以參考http://dotimes.com/articles /t23-slackware-framebuffer.html7、File systemsFilesystem in Userspace support 簡稱fuse。是必選的,如果你要用windows分區。
CD-ROM/DVD Filesystems ISO 9660 CDROM file system support 一般選*DOS/FAT/NT Filesystems VFAT (Windows-95) fs support 有FAT32分區就選*吧 NTFS file system support 有NTFS分區就選*吧 NTFS write support 如果想對 NTFS分區進行寫操作,選*必須將啟動盤的文件系統編譯進內核,默認是編譯成模塊,這樣無法啟動系統。ubuntu採用的文件系統是ext3,請把ext2,ext3相關的必要選項都編譯進入內核。
8、Virtualization這個大類是我多花幾百元買t8100的主要原因,因為t8100支持intel vt技術使linux上的虛擬機的性能大幅度提高。這里的選項我除了amd的,其他都編譯成模塊。
9、全部設置完成,最後一項是保存設置。按照我的習慣,先在上一層目錄保存一個備份,文件名類似 ../config20080630然後再保存到當起目錄,文件名 .config退出設置程序。
六、開始編譯內核。ubuntu的工具是make-kpkg,和其他的發行版相比,步驟相對簡單。相關命令:代碼:$sudo make-kpkg clean 這條命令好像不要超級許可權,很多資料上說要,不過這不是原則問題。
$ sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers上述命令中的dell1400可以用自己喜歡的字元代替,最後的字元一定是數字.輸完上述命令回車之前,建議大家把瀏覽器還有別的運用程序都關掉,機器開始的工作比較艱苦。
我的機器大概十幾分鍾。
七、安裝內核編譯完成就是安裝工作。編譯好的內核在上一層目錄。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb兩個文件,如果你不搞開發的話,只要安裝內核就可以,頭文件以後要用的時候再說。安裝相關命令:
代碼:$ cd ..$ sudo dpkg -i linux-image-(按tab鍵)文件名很長,如果不用tab自動補足是不可能的,tab鍵萬歲。安裝完成後和老內核比較一下大小代碼:
$ ls -l /boot/
八、重新啟動驗證新內核。代碼:$ sudo reboot
九、顯卡驅動如果你的顯卡和我一樣是nvidia顯卡,啟動之後往往無法正常進入x-window。即使能看到gdm登錄界面,效果也是很差的。那麼就要安裝nvidia驅動。用ctrl+alt+f1 進入字元命令行,輸入用戶名,密碼登錄。命令:代碼:下載驅動$ wget http://us.download.nvidia.com/XFree86/Linux-x86/173.14.12/NVIDIA-Linux-x86-173.14.12-pkg1.run$sudo -s輸入密碼取得超級許可權。#ps ax看看和gdm相關的進程,把這些進程全部關閉;用sudo /etc/init.d/gdm stop有可能有一個進程沒有關閉:#kill 進程號然後安裝nvidia顯卡驅動,當然驅動要先下好,到nvidia驅動所在的目錄里,運行:# sh ./NVIDIA-Linux-x86-173.14.12-pkg1.run重新啟動以後就ok。要用nvidia的驅動,每次升級內核都要這么做。
十、無線網卡相關的內核選項是Networking --->Wireless --->Generic IEEE 802.11 Networking Stack (mac80211)還有4965的驅動。4965
無線網卡驅動雖然已經編入內核,但沒有firmware無法使用。需要把原來內核的firmware拷貝到新內核對應的目錄,名字和內核一致,我的內核是
linux-image-2.6.25.10dell1400,那建的目錄名就是2.6.25.10dell1400。代碼:具體命令:$ cd /lib/firmware/$ sudo mkdir 2.6.25.10dell1400把你的老內核中的4965的firmware拷貝過來。$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/上面的命令和下面的命令是等價的:$ cd /lib/firmware/$ sudo cp -R 2.6.24-16-generic/ 2.6.25.10dell1400/
重新啟動系統,無線網卡就正常了。
附編譯使用的機器配置:dell vostro 1400,t8100,nvidia 8400cs顯卡,內置SigmaTel STAC9228晶元的音效卡,4965無線網卡,BCM5906M千兆網卡,3G內存,160G硬碟,combo刻錄。
編譯系統版本:ubuntu 8.04桌面版.
D. linux套介面通信中cend函數中發送的字元串里德數據包結構能不修改,如何修改
用struct 定義一個結構體
給這個結構體填入數據後,用 (char *) & 強制把其地址作為字元串指針傳給send函數
recv收到後, 用一個該struct的指針強制類型轉換後指向接受緩沖區的地址。
-------------------
struct st{
int a;
int b;
int c;
}
struct st s;
send(socket,&s,sizeof(s)...)
-----------------
struct st r;
recv(socket,&s,sizeof(s),...)
類似這個意思吧,很久不寫了,你自己研究下
E. 請問.declare 和announce有什麼區別
announce更接近於漢語「公布」、「告知」的意思,它所涉及的是一件對方原來不知道的事。
如: The accident was announced to his family by telephone.
已將事故用電話告訴了他的家屬。
The date of his visit has not been announced.
他來訪的日期尚未公布。
(5)linuxgovernor擴展閱讀
announce,英語詞彙,基本釋義為宣布、宣告。
釋義
vt.宣布;宣告;預示;播報
vi.作播音員;宣布競選
詳近釋義
v.(動詞)
預告,預示 聲稱,宣稱 顯示 發布,發表
播報,廣播,播音 當播音員 當報幕人,做報幕員
<美>宣布參加競選,宣布支持某人競選,宣布某人的候選人身分
告知,報知 通告,通知 唱名報
通報…的到達,宣布(某人)到達
通知…已准備好 宣布,宣告 主持 介紹
declare,英文單詞,意為:
宣布,宣告;聲明。在計算機語言中有vb中Declare語句、vf中的定義數組、Linux的命令、SQL中declare等含義。
在vf中,可以用declare定義數組,和dimension一樣,
命令格式:dimension <數組名1>(<數字表達式1>[,<數字表達式2>])[,<數組名2>(數字表達式1>[,<數字表達式2>])……]
例如:DIMENSION A(1),B(1,1)
F. 有沒有linux下給cpu降頻的工具
一,使用taskset充分利用多核cpu,讓cpu的使用率均衡到每個cpu上
#taskset
-p, 設定一個已存在的pid,而不是重新開啟一個新任務
-c, 指定一個處理,可以指定多個,以逗號分隔,也可指定范圍,如:2,4,5,6-8。
1,切換某個進程到指定的cpu上
taskset -cp 3 13290
2,讓某程序運行在指定的cpu上
taskset -c 1,2,4-7 tar jcf test.tar.gz test
需要注意的是,taskset -cp 3 13290在設定一個已經存在的pid時,子進程並不會繼承父進程的,
因此像tar zcf xxx.tar.gz xxx這樣的命令,最好在啟動時指定cpu,如果在已經啟動的情況下,則需要指定tar調用的gzip進程。
二,使用nice和renice設置程序執行的優先順序
格式:nice [-n 數值] 命令
nice 指令可以改變程序執行的優先權等級。指令讓使用者在執行程序時,指定一個優先等級,稱之為 nice 值。
這個數值從最高優先順序的-20到最低優先順序的19。負數值只有 root 才有權力使。
一般使用者,也可使用 nice 指令來做執行程序的優先順序管理,但只能將nice值越調越高。
可以通過二種方式來給某個程序設定nice值:
1,開始執行程序時給定一個nice值,用nice命令
2,調整某個運行中程序的PID的nice值,用renice命令
通常通過調高nice值來備份,為的是不佔用非常多的系統資源。
例:
nice -n 10 tar zcf test.tar.gz test
由nice啟動的程序,其子進程會繼承父進程的nice值。
查看nice值
# nice -n -6 vim test.txt &
# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 19427 2637 0 75 0 – 16551 wait pts/6 00:00:00 bash
4 T 0 21654 19427 0 71 -6 – 23464 finish pts/6 00:00:00 vim
renice調整運行中程序的nice值
格式:renice [nice值] PID
三,使用ulimit限制cpu佔用時間
注意,ulimit 限制的是當前shell進程以及其派生的子進程。因此可以在腳本中調用ulimit來限制cpu使用時間。
例如,限制tar的cpu佔用時間,單位秒。
# cat limit_cpu.sh
ulimit -SHt 100
tar test.tar.gz test
如果tar佔用時間超過了100秒,tar將會退出,這可能會導致打包不完全,因此不推薦使用ulimit對cpu佔用時間進行限制。
另外,通過修改系統的/etc/security/limits配置文件,可以針對用戶進行限制。
四,使用程序自帶的對cpu使用調整的功能
某些程序自帶了對cpu使用調整的功能,比如nginx伺服器,通過其配置文件,可以為工作進程指定cpu,如下:
worker_processes 3;
worker_cpu_affinity 0001 0010 0100 1000;
這里0001 0010 0100 1000是掩碼,分別代表第1、2、3、4顆cpu核心,這就使得cpu的使用比較平均到每個核心上。
G. ubuntu系統下怎麼編譯內核文件
一、下載源代碼和編譯軟體的准備
安裝有關編譯程序。安裝make ,gcc, make-kpkg,運行menuconfig等等和編譯內核相關的工具。安裝不了,請檢查/etc/apt/sources.list 文件。有關命令:代碼:$sudo apt-get install build-essential kernel-package libncurses5-dev
二、解壓源代碼注意,網上很多教程上說應該解壓到 /usr/src,純屬以訛傳訛,linux掌門人linus說解壓到任何目錄上都可以。當然,linus的說法是正確的。我放在自己的主目錄下的src目錄。如果你下載源代碼是放到自己的主目錄下或者運行上面的wget下載的,那麼運行下列命令:代碼:$ cd ~$ mkdir src && tar jfx linux-2.6.25.10.tar.bz2 -C src/現在,源代碼就在 ~/src/linux-2.6.25.10進入源代碼的目錄,准備下一步的工作。後面都在這個目錄裡面進行。代碼:$ cd ~/src/linux-2.6.25.10
三、開始編譯前的准備工作。首先,清理以前編譯時留下的臨時文件。如果是剛剛解開的包,不需要執行這步。如果是第二次或者是第n次編譯,那麼一定要執行。相關命令如下:代碼:$ sudo make mrproper網上很多教程上說把現在使用的內核的config拷貝過來參考,據實驗,是不需要的,ubuntu還有debian會自動做這步。不過這條命令倒是可以學習一下。當然你可以將以前的配置拷貝過來。命令:代碼:cp /boot/config-`uname -r` ./.config
四、開始配置內核選項。相關命令:代碼:$sudo make menuconfig配置用到的鍵只有幾個,esc退出菜單;空格改變選項狀態;游標鍵上下左右移動,回車選定。選項意義:M是編譯成可以隨時加入的模塊,*是編譯進入內核,空就是不要。配置選項非常多,具體配置可以參考金步國先生翻譯的資料:Linux 2.6.19.x 內核編譯配置選項。 請大家遵循一個原則,如果你自己使用的內核已經選用了某個選項,如果你沒用充分的理由,不要隨便改動。這樣雖然內核不那麼精簡,但是不容易出現問題。我們可以精簡的部分是硬體模塊部分,對於自己沒有的硬體要毫不猶豫的清除。如果你很執著,或者你有潔癖,你也可以一項項對過去,按照金步國先生的資料描述去選擇基本上沒有問題。
五、必須強調的幾個選項:1、
在「General setup」裡面的「Prompt for development and/or incomplete
code/drivers」金步國認為是不需要。但是如果你的硬體比較新,那幾乎是必須選的,這樣,我們才可以找到4965無線網卡,alsa聲音驅動等
等。Kernel log buffer size 我選15,雙核。如果你用ia64,要選16。Control Group support 集群支持?可以不要Choose SLAB allocator (SLUB (Unqueued Allocator)) 內存管理模式slab和slub選擇slub。
2、在「Block layer」里,假如沒有2TB的硬碟,就去掉:Support for Large Block Devices 。Support for Large Single Files 也不需要,誰有2TB的文件?
3、Processor type and features中是關於cpu的,要認真選。Symmetric multi-processing support是打開多核的開關,我的cpu是雙核的,選中。Processor family (Core 2/newer Xeon) 我的是Core 2/newer Xeon。找到自己的cpu後,把Generic x86 support選項取消。Subarchitecture Type 選(PC-compatible)Maximum number of CPUs 輸入自己的核心數目,我輸入2。SMT (Hyperthreading) scheler support說的是超線程技術,P4有支持的,我的t8100不支持,目前大部分市場上的家用cpu都不支持。High Memory Support (4GB) 1G以下選1G;我是3G,選4G;4G以上的選16G在「 Timer frequency 」里,默認是250Hz,較新的cpu都可以選擇了1000Hz,性能更好。
4、Power management options中把APM (Advanced Power Management) BIOS support關閉。現在的電腦都用acpi了。CPU Frequency scaling 是筆記本cpu節電技術Default CPUFreq governor (conservative) cpu節電模式有四個,筆記本默認選conservative比較好。ACPI Processor P-States driver 必須選,不然CPU Frequency就不能用。後面的可選自己硬體相關的,我選的是Intel Enhanced SpeedStep和 Intel Speedstep on ICH-M chipsets,其他的統統消滅。
5、Bus options的選擇:Bus options (PCI, PCMCIA, EISA, MCA, ISA)PCI support PCI Express support 現在新買的機器基本上都是PCI Express了ISA support 較新的新機器沒有ISA設備,可以去掉MCA support 去掉NatSemi SCx200 support 去掉PCI Hotplug Support Support for PCI Hotplug (EXPERIMENTAL) 如果沒有PCI熱插拔設備,去掉這里的選項可以考慮全部編譯進內核,而不是以模塊形式存在。
6、Device Drivers是重點,由於linux不但面向個人工作站,更多的是面向伺服器的應用,所以可以把自己機器上沒有的硬體全部去掉,而不用面面俱到。但是通用型的選項要慎重。比如在網卡的部分,除了我的千兆網卡 Broadcom Tigon3 support和4965無線網卡Intel Wireless WiFi 4965AGN,其餘的硬體支持統統去掉。再比如音效卡部分,我的是hd音效卡,我只是在PCI devices中,選intel hd 音效卡,再選Build IDT/Sigmatel HD-audio codec support,除此之外的硬體支持全部去掉。
音效卡還有一個細節,在ubuntu7.10裡面, 需要在/etc/modprobe.d/alsa-base後面添加options
snd-hda-intel probe_mask=1
model=3stack,這樣我的筆記本喇叭才可以發聲,不然只有外接耳機或者音箱。這次編譯以後,這個動作就不必了,但是兩個耳機插口只有一個可以用
了。再比如我的電腦中沒有agp,就可以直接把agp相關的選項全部取消。要注意的:ATA/ATAPI/MFM/RLL support Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬碟上,那麼這里一定要選*,選M都不行。否則啟動時會出現「waiting for root file system」的提示而停滯不前。 SCSI emulation support 要用刻錄機,必須選。SCSI device support 現在都是SATA硬碟,一定要選* SCSI disk support 如果你的/boot放在SATA硬碟上,一定要選*。
SCSI CDROM support 雖然康寶刻錄機是ide介面的,但是必須把它當成scsi介面的,這是老問題了。用刻錄機,必須選。
Graphics supportSupport for frame buffer devices 選中,進入選擇 VESA VGA graphics support 選上,不然字元界面啟動會有問題,後面的顯卡選擇:由於我的顯卡是nvidia 8400gs,要自己安裝nvidia公司的驅動,所以一個都沒有選。這樣導致ubuntu開機動畫會出問題,我索性在grub中的splash字元全部刪除,把開機動畫關閉。字元界面很正常。 Console display driver support 有人開機後字元控制台錯誤,就是這部分選項沒有選,出問題了。 Framebuffer Console support 需要打開。
Bootup logo 開機圖標,會在自檢的畫面上加上個性圖標。需要在grub上添加「vga=」的選項 簡稱fuse。是必選的,如果你要用windows分區。
CD-ROM/DVD Filesystems ISO 9660 CDROM file system support 一般選*DOS/FAT/NT Filesystems VFAT (Windows-95) fs support 有FAT32分區就選*吧 NTFS file system support 有NTFS分區就選*吧 NTFS write support 如果想對 NTFS分區進行寫操作,選*必須將啟動盤的文件系統編譯進內核,默認是編譯成模塊,這樣無法啟動系統。ubuntu採用的文件系統是ext3,請把ext2,ext3相關的必要選項都編譯進入內核。
8、Virtualization這個大類是我多花幾百元買t8100的主要原因,因為t8100支持intel vt技術使linux上的虛擬機的性能大幅度提高。這里的選項我除了amd的,其他都編譯成模塊。
9、全部設置完成,最後一項是保存設置。按照我的習慣,先在上一層目錄保存一個備份,文件名類似 ../config20080630然後再保存到當起目錄,文件名 .config退出設置程序。
六、開始編譯內核。ubuntu的工具是make-kpkg,和其他的發行版相比,步驟相對簡單。相關命令:代碼:$sudo make-kpkg clean 這條命令好像不要超級許可權,很多資料上說要,不過這不是原則問題。
$ sudo make-kpkg -initrd --initrd --append-to-version=dell1400 kernel_image kernel-headers上述命令中的dell1400可以用自己喜歡的字元代替,最後的字元一定是數字.輸完上述命令回車之前,建議大家把瀏覽器還有別的運用程序都關掉,機器開始的工作比較艱苦。
我的機器大概十幾分鍾。
七、安裝內核編譯完成就是安裝工作。編譯好的內核在上一層目錄。包括linux-headers-...-_i386.deb和linux-image-...-i386.deb兩個文件,如果你不搞開發的話,只要安裝內核就可以,頭文件以後要用的時候再說。安裝相關命令:
代碼:$ cd ..$ sudo dpkg -i linux-image-(按tab鍵)文件名很長,如果不用tab自動補足是不可能的,tab鍵萬歲。安裝完成後和老內核比較一下大小代碼:
$ ls -l /boot/
八、重新啟動驗證新內核。代碼:$ sudo reboot
九、顯卡驅動如果你的顯卡和我一樣是nvidia顯卡,啟動之後往往無法正常進入x-window。即使能看到gdm登錄界面,效果也是很差的。那麼就要安裝nvidia驅動。用ctrl+alt+f1 進入字元命令行,輸入用戶名,密碼登錄。 #ps ax看看和gdm相關的進程,把這些進程全部關閉;用sudo /etc/init.d/gdm stop有可能有一個進程沒有關閉:#kill 進程號然後安裝nvidia顯卡驅動,當然驅動要先下好,到nvidia驅動所在的目錄里,運行:# sh ./NVIDIA-Linux-x86-173.14.12-pkg1.run重新啟動以後就ok。要用nvidia的驅動,每次升級內核都要這么做。
十、無線網卡相關的內核選項是Networking --->Wireless --->Generic IEEE 802.11 Networking Stack (mac80211)還有4965的驅動。4965
無線網卡驅動雖然已經編入內核,但沒有firmware無法使用。需要把原來內核的firmware拷貝到新內核對應的目錄,名字和內核一致,我的內核是
linux-image-2.6.25.10dell1400,那建的目錄名就是2.6.25.10dell1400。代碼:具體命令:$ cd /lib/firmware/$ sudo mkdir 2.6.25.10dell1400把你的老內核中的4965的firmware拷貝過來。$ sudo cp 2.6.24-16-generic/* 2.6.25.10dell1400/上面的命令和下面的命令是等價的:$ cd /lib/firmware/$ sudo cp -R 2.6.24-16-generic/ 2.6.25.10dell1400/
重新啟動系統,無線網卡就正常了。
附編譯使用的機器配置:dell vostro 1400,t8100,nvidia 8400cs顯卡,內置SigmaTel STAC9228晶元的音效卡,4965無線網卡,BCM5906M千兆網卡,3G內存,160G硬碟,combo刻錄。
編譯系統版本:ubuntu 8.04桌面版.