Gentoo 安装日记 10 (配置内核 :General setup)
生活随笔
收集整理的這篇文章主要介紹了
Gentoo 安装日记 10 (配置内核 :General setup)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接:http://nvd11.blog.163.com/blog/static/20001831220127231400990/
進入/usr/src/linux/
輸入
進入內核配置界面
下面盡量講解下內核選項
其中大部分參考
http://lamp.linux.gov.cn/Linux/kernel_options.html? 作者金步國。
http://blog.csdn.net/unsigned_/article/details/6123426
黃色高亮表示啟用該選項
General setup
?
Prompt for development and/or incomplete code/drivers
?????? 默認情況下是選擇的,這將會在設置界面中顯示還在開發或者還沒有完成的代碼與驅動.你應該選擇它,因為有許多設備可能必需選擇這個選項才能進行配置,實際上它是安全的。
Cross-compiler tool prefix
???????? 交叉編譯工具前綴,如果你要使用交叉編譯工具的話輸入相關前綴。默認不使用。不需要
Local version - append to kernel release
???????? 自定義版本,也就是uname -r可以看到的版本,可以自行修改,這里我沒有使用
Automatically append version information to the version string
???????? 自動生成版本信息。這個選項會自動探測你的內核并且生成相應的版本,使之不會和原先的重復。這需要Perl的支持。由于在編譯的命令make-kpkg 中我們會加入- – append-to-version 選項來生成自定義版本,所以這里選N。
Kernel compression mode (Gzip)
????????? 有四個選項,這個選項是說內核鏡像要用的壓縮模式,回車一下,可以看到gzip,bzip2,lzma,lxo,一般可以按默認的gzip,如果要用bzip2,lzma,lzo,要先安裝相關解壓縮工具(3.3.8 內核有5選項)
((none)) Default hostname
?????????? 默認主機名,先保持none吧 反正以后可以改。
Support for paging of anonymous memory (swap)
????????? 使你的內核支持虛擬內存 , 一定要選。
?System V IPC
??????? 進程提供通信機制,這將使系統中各進程間有交換信息與保持同步的能力。有些程序只有在選Y的情況下才能運行,所以不用考慮,這里一定要選。
POSIX Message Queues
?????????? 這是POSIX的消息隊列,它同樣是一種IPC。建議你最好將它選上
BSD Process Accounting
?????????? 這是允許用戶進程訪問內核,將賬戶信息寫入文件中。這通常被認為是個好主意,建議你最好將它選上。將進程的統計信息寫入文件的用戶級系統調用,主要包括進程的創建時間/創建者/內存占用等信息。
BSD Process Accounting version 3 file format
??????????? 用的話統計信息將會以新的格式(V3)寫入,這格式包含進程ID和父進程。注意這個格式和以前的 v0/v1/v2 格式不兼容,所以你需要 升級相關工具來使用它。選不選均可。
open by fhandle syscalls
????????? 打開文件可以通過句柄子系統調用.(If you say Y here, a user level program will be able to map file names to handle and then later use the handle for different file system operations. This is useful in implementing userspace file servers, which now track files using handlesinstead of names. The handle would remain the same even if file names get renamed.)
????????? 呢度個人,稍微翻譯一下, 可以通過1個叫句柄 既野, 可以代替文件名來匹配文件,? 即使文件名被修改, 句柄屬性還是保留與修改前一至的。 ? 按默認吧
Export task/process statistics through netlink (EXPERIMENTAL)
?????????? 處于實驗階段的功能。通過通用的網絡輸出工作/進程的相應數據,和BSD不同的是,這些數據在進程運行的時候就可以通過相關命令訪問。和BSD類似,數據將在進程結束時送入用戶空間。如果不清楚,選N。
?????????? 通過netlink接口向用戶空間導出任務/進程的統計信息,與BSD Process Accounting的不同之處在于這些統計信息在整個任務/進程生存期都是可用的
Enable per-task delay accounting (EXPERIMENTAL)
????????? 在統計信息中包含進程等候系統資源(cpu,IO同步,內存交換等)所花費的時間
Enable extended accounting over taskstats (EXPERIMENTAL)
????????? 在統計信息中包含擴展進程所花費的時間
Auditing support
????????? 審計支持,某些內核模塊(例如SELinux)需要它,只有同時選擇其子項才能對系統調用進行審計,不選
IRQ subsystem
????????? 申請中斷系統, 保持默認吧.
RCU Subsystem
??????? 一個高性能的鎖機制RCU 子系統,不懂不了解,按默認吧。
Kernel .config suppor
????????? 把內核的配置信息編譯進內核中,以后可以通過scripts/extract-ikconfig腳本來提取這些信息.
?
Enable access to .config through /proc/config.gz
????????? 將.config配置信息保存在內核中,選上它及它的子項使得其它用戶能從/proc中得到內核的配置,選上,重新配置內核時可以利用已有配置
Kernel log buffer size (16 => 64KB, 17 => 128KB)
????????? 內核日志緩存的大小,使用默認值即可。12 => 4 KB,13 => 8 KB,14 => 16 KB單處理器,15 => 32 KB多處理器,16 => 64 KB for x86 NUMAQ or IA-64,17 => 128 KB for S/390。
????????? 我這里默認是15
Control Group support? --->
???????? 添加對進程集合分組的支持,用來處理控制子系統如:CPUsets.CFS.內存控制或設備隔離,?
???????? 唔了解,保持默認吧
Namespaces support? --->
???????? 命名空間支持, 保持默認吧,我這里默認系全選的
Automatic process group scheduling
????????? 自動進程分組調度.優化調度器對通常的桌面工作量通過自動創建和填充進任務組.(This option optimizes the scheduler for common desktop workloads by automatically creating and populating task groups. This separation of workloads isolates aggressive CPU burners (like build jobs) from desktop applications. Task group autogeneration is currently based upon task session.)
Enable deprecated sysfs features to support old userspace tools
???????? 唔清楚,保持默認唔選
Kernel->user space relay support (formerly relayfs)
??????? 在某些文件系統上(比如debugfs)提供從內核空間向用戶空間傳遞大量數據的接口,不選吧。
Initial RAM filesystem and RAM disk (initramfs/initrd) support
?????? 用于在真正內核裝載前,做一些操作(俗稱兩階段啟動),比如加載module,mount一些非root分區,提供災難恢復shell環境等,資料,這個一定要選,親自試過, 這個不選的就啟動不了啊.? 提示error on block(0,0)
Optimize for size
????? 這個選項將在GCC命令后用 “-Os” 代替 “-O2″參數,這樣可以得到更小的內核。沒必要選。一個編譯好的內核才7-10多M。選上了可能會出一些問題。最好不選。有時會產生錯誤的二進制代碼。當然,如果是做嵌入式開發另當別論。
????? 其實gentoo和ubuntu這個默認是選上的,的確會得到1個更小的內核, 金步國不推薦, 但我個人推薦哈哈
Configure standard kernel features (expert users)? --->
???? 這是為了編譯某些特殊的內核使用的,例如引導盤,通常你可以不選擇這一選項,你也不用對它下面的子項操心了。
Embedded system
?????? 嵌入式 系統,? 應該用唔上
Kernel Performance Events And Counters? --->
?????? 內核性能事件和計數器, 保持默認即可
Disable heap randomization
?????? 禁用隨機heap(heap堆是一個應用層的概念,即堆對CPU是不可見的,它的實現方式有多種,可以由OS 實現,也可以由運行庫實現,如果你愿意,你也可以在一個棧中來實現一個堆),選不選均可。
?
Choose SLAB allocator (SLAB)? --->
???????? 選擇內存分配管 理器(強烈推薦使用SLUB), 默認是SLAB
?????????????? ( ) SLAB?? //各種環境通用的內存分配管理器
?????????????? (X) SLUB (Unqueued Allocator) //更加優秀的內存分配管理器
??????
Profiling support
??????? 我不是內核開發人員,不需要profiling內核,用到時再啟用。如果要用OProfiler的同學請啟用
Kprobes
???????? 調試內核,除非內核開發人員,否則不選
GCOV-based kernel profiling --->
保持默認
下一篇繼續內核配置?
http://nvd11.blog.163.com/blog/static/200018312201272515750861/
進入/usr/src/linux/
輸入
make menuconfig
進入內核配置界面
下面盡量講解下內核選項
其中大部分參考
http://lamp.linux.gov.cn/Linux/kernel_options.html? 作者金步國。
http://blog.csdn.net/unsigned_/article/details/6123426
黃色高亮表示啟用該選項
General setup
?
Prompt for development and/or incomplete code/drivers
?????? 默認情況下是選擇的,這將會在設置界面中顯示還在開發或者還沒有完成的代碼與驅動.你應該選擇它,因為有許多設備可能必需選擇這個選項才能進行配置,實際上它是安全的。
Cross-compiler tool prefix
???????? 交叉編譯工具前綴,如果你要使用交叉編譯工具的話輸入相關前綴。默認不使用。不需要
Local version - append to kernel release
???????? 自定義版本,也就是uname -r可以看到的版本,可以自行修改,這里我沒有使用
Automatically append version information to the version string
???????? 自動生成版本信息。這個選項會自動探測你的內核并且生成相應的版本,使之不會和原先的重復。這需要Perl的支持。由于在編譯的命令make-kpkg 中我們會加入- – append-to-version 選項來生成自定義版本,所以這里選N。
Kernel compression mode (Gzip)
????????? 有四個選項,這個選項是說內核鏡像要用的壓縮模式,回車一下,可以看到gzip,bzip2,lzma,lxo,一般可以按默認的gzip,如果要用bzip2,lzma,lzo,要先安裝相關解壓縮工具(3.3.8 內核有5選項)
((none)) Default hostname
?????????? 默認主機名,先保持none吧 反正以后可以改。
Support for paging of anonymous memory (swap)
????????? 使你的內核支持虛擬內存 , 一定要選。
?System V IPC
??????? 進程提供通信機制,這將使系統中各進程間有交換信息與保持同步的能力。有些程序只有在選Y的情況下才能運行,所以不用考慮,這里一定要選。
POSIX Message Queues
?????????? 這是POSIX的消息隊列,它同樣是一種IPC。建議你最好將它選上
BSD Process Accounting
?????????? 這是允許用戶進程訪問內核,將賬戶信息寫入文件中。這通常被認為是個好主意,建議你最好將它選上。將進程的統計信息寫入文件的用戶級系統調用,主要包括進程的創建時間/創建者/內存占用等信息。
BSD Process Accounting version 3 file format
??????????? 用的話統計信息將會以新的格式(V3)寫入,這格式包含進程ID和父進程。注意這個格式和以前的 v0/v1/v2 格式不兼容,所以你需要 升級相關工具來使用它。選不選均可。
open by fhandle syscalls
????????? 打開文件可以通過句柄子系統調用.(If you say Y here, a user level program will be able to map file names to handle and then later use the handle for different file system operations. This is useful in implementing userspace file servers, which now track files using handlesinstead of names. The handle would remain the same even if file names get renamed.)
????????? 呢度個人,稍微翻譯一下, 可以通過1個叫句柄 既野, 可以代替文件名來匹配文件,? 即使文件名被修改, 句柄屬性還是保留與修改前一至的。 ? 按默認吧
Export task/process statistics through netlink (EXPERIMENTAL)
?????????? 處于實驗階段的功能。通過通用的網絡輸出工作/進程的相應數據,和BSD不同的是,這些數據在進程運行的時候就可以通過相關命令訪問。和BSD類似,數據將在進程結束時送入用戶空間。如果不清楚,選N。
?????????? 通過netlink接口向用戶空間導出任務/進程的統計信息,與BSD Process Accounting的不同之處在于這些統計信息在整個任務/進程生存期都是可用的
Enable per-task delay accounting (EXPERIMENTAL)
????????? 在統計信息中包含進程等候系統資源(cpu,IO同步,內存交換等)所花費的時間
Enable extended accounting over taskstats (EXPERIMENTAL)
????????? 在統計信息中包含擴展進程所花費的時間
Auditing support
????????? 審計支持,某些內核模塊(例如SELinux)需要它,只有同時選擇其子項才能對系統調用進行審計,不選
IRQ subsystem
????????? 申請中斷系統, 保持默認吧.
RCU Subsystem
??????? 一個高性能的鎖機制RCU 子系統,不懂不了解,按默認吧。
Kernel .config suppor
????????? 把內核的配置信息編譯進內核中,以后可以通過scripts/extract-ikconfig腳本來提取這些信息.
?
Enable access to .config through /proc/config.gz
????????? 將.config配置信息保存在內核中,選上它及它的子項使得其它用戶能從/proc中得到內核的配置,選上,重新配置內核時可以利用已有配置
Kernel log buffer size (16 => 64KB, 17 => 128KB)
????????? 內核日志緩存的大小,使用默認值即可。12 => 4 KB,13 => 8 KB,14 => 16 KB單處理器,15 => 32 KB多處理器,16 => 64 KB for x86 NUMAQ or IA-64,17 => 128 KB for S/390。
????????? 我這里默認是15
Control Group support? --->
???????? 添加對進程集合分組的支持,用來處理控制子系統如:CPUsets.CFS.內存控制或設備隔離,?
???????? 唔了解,保持默認吧
Namespaces support? --->
???????? 命名空間支持, 保持默認吧,我這里默認系全選的
Automatic process group scheduling
????????? 自動進程分組調度.優化調度器對通常的桌面工作量通過自動創建和填充進任務組.(This option optimizes the scheduler for common desktop workloads by automatically creating and populating task groups. This separation of workloads isolates aggressive CPU burners (like build jobs) from desktop applications. Task group autogeneration is currently based upon task session.)
Enable deprecated sysfs features to support old userspace tools
???????? 唔清楚,保持默認唔選
Kernel->user space relay support (formerly relayfs)
??????? 在某些文件系統上(比如debugfs)提供從內核空間向用戶空間傳遞大量數據的接口,不選吧。
Initial RAM filesystem and RAM disk (initramfs/initrd) support
?????? 用于在真正內核裝載前,做一些操作(俗稱兩階段啟動),比如加載module,mount一些非root分區,提供災難恢復shell環境等,資料,這個一定要選,親自試過, 這個不選的就啟動不了啊.? 提示error on block(0,0)
Optimize for size
????? 這個選項將在GCC命令后用 “-Os” 代替 “-O2″參數,這樣可以得到更小的內核。沒必要選。一個編譯好的內核才7-10多M。選上了可能會出一些問題。最好不選。有時會產生錯誤的二進制代碼。當然,如果是做嵌入式開發另當別論。
????? 其實gentoo和ubuntu這個默認是選上的,的確會得到1個更小的內核, 金步國不推薦, 但我個人推薦哈哈
Configure standard kernel features (expert users)? --->
???? 這是為了編譯某些特殊的內核使用的,例如引導盤,通常你可以不選擇這一選項,你也不用對它下面的子項操心了。
Embedded system
?????? 嵌入式 系統,? 應該用唔上
Kernel Performance Events And Counters? --->
?????? 內核性能事件和計數器, 保持默認即可
Disable heap randomization
?????? 禁用隨機heap(heap堆是一個應用層的概念,即堆對CPU是不可見的,它的實現方式有多種,可以由OS 實現,也可以由運行庫實現,如果你愿意,你也可以在一個棧中來實現一個堆),選不選均可。
?
Choose SLAB allocator (SLAB)? --->
???????? 選擇內存分配管 理器(強烈推薦使用SLUB), 默認是SLAB
?????????????? ( ) SLAB?? //各種環境通用的內存分配管理器
?????????????? (X) SLUB (Unqueued Allocator) //更加優秀的內存分配管理器
??????
Profiling support
??????? 我不是內核開發人員,不需要profiling內核,用到時再啟用。如果要用OProfiler的同學請啟用
Kprobes
???????? 調試內核,除非內核開發人員,否則不選
GCOV-based kernel profiling --->
保持默認
下一篇繼續內核配置?
http://nvd11.blog.163.com/blog/static/200018312201272515750861/
總結
以上是生活随笔為你收集整理的Gentoo 安装日记 10 (配置内核 :General setup)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Gentoo 安装日记 09 (安装st
- 下一篇: Gentoo 安装日记 11 (配置内核