嵌入式Linux核心配置、裁剪與編譯淺析(ARM版)
阿新 • • 發佈:2019-01-08
/*====================*/
9、Device Drivers --->
9.1、Generic Driver Options --->
9.1.1、() path to uevent helper
9.1.2、[ ] Maintain a devtmpfs filesystem to mount at /dev
9.1.3、[*] Select only drivers that don't need compile-time external firmware
9.1.4、[*] Prevent firmware from being built
9.1.5、-*- Userspace firmware loading support
9.1.6、[*] Include in-kernel firmware blobs in kernel binary
9.1.7、() External firmware blobs to build into the kernel binary
9.1.8、[ ] Driver Core verbose debug messages
9.1.9、[ ] Managed device resources verbose debug messages
管理裝置資源的冗長除錯資訊,我不需要
9.2、<*> Connector - unified userspace <-> kernelspace linker --->
核心空間與使用者空間的通道
9.2.1、[*] Report process events to userspace
報告處理時間給使用者空間
9.3、< > Memory Technology Device (MTD) support --->
9.4、< > Parallel port support --->
9.5、-*- Plug and Play support --->
[ ] PNP debugging messages
除錯資訊,老規矩
9.6、[ ] Block devices --->
我沒有想要支援的塊裝置,比如ramdisk , 磁碟陣列,CD/DVD 燒錄等,詳見內部選項
9.7、[ ] Misc devices --->
沒有需要支援的雜項裝置
9.8、< > ATA/ATAPI/MFM/RLL support (DEPRECATED) --->
9.9、SCSI device support --->
< > RAID Transport Class
-*- SCSI device support
[] legacy /proc /scsi / support <=== 我沒有SCSI 裝置
*** SCSI support type (disk, tape, CD-ROM) ***
<*> SCSI disk support // 就算你用SATA ,此選項也必選
< > SCSI tape support
< > SCSI OnStream SC-x0 tape support
<> SCSI CDROM support <=== 我沒有SCSI 裝置
<> SCSI generic support <=== 我沒有SCSI 裝置
< > SCSI media changer support
[ ] Probe all LUNs on each SCSI device
[] Verbose SCSI error reporting (kernel size +=12K) <=== 我沒有SCSI 裝置
[ ] SCSI logging facility
[ ] Asynchronous SCSI scanning
SCSI Transports --->
<> Parallel SCSI (SPI) Transport Attributes <=== 我沒有SCSI 裝置
< > FiberChannel Transport Attributes
< > iSCSI Transport Attributes
< > SAS Domain Transport Attributes
< > SRP Transport Attributes
[ ] SCSI low-level drivers --->
< > SCSI Device Handlers --->
< > OSD-Initiator library
9.10、<M> Serial ATA and Parallel ATA drivers --->
[*] Verbose ATA error reporting
[*] ATA ACPI Support
[ ] SATA Port Multiplier support <=== 我只有一枚SATA 裝置,沒有使用 多路SATA/SATA Hub 的需求。Port Multiplier 是南橋晶片提供的一種支援多塊SATA 裝置,並共享總頻寬的技術。
<*> AHCI SATA support
< > Platform AHCI SATA support
< > Inito 162x SATA support
< > Silicon Image 3124/3132 SATA support
[*] ATA SFF support // 選擇自己硬體對應的驅動即可
< > ServerWorks Frodo / Apple K2 SATA support
<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support // Intel ICH ,G 系列chipset driver
< > Marvell SATA support
< > NVIDIA SATA support
< > Pacific Digital ADMA support
< > Pacific Digital SATA QStor support
< > Promise SATA TX2/TX4 support
< > Silicon Image SATA support
< > SiS 964/965/966/180 SATA support
< > ULi Electronics SATA support
< > VIA SATA support
< > VITESSE VSC-7174 / INTEL 31244 SATA support
< > Initio 162x SATA support
< > ACPI firmware driver for PATA
< > ALi PATA support
< > AMD/NVidia PATA support <=== 我用的是SATA ,取消PATA 支援
< > ARTOP 6210/6260 PATA support
< > ATI PATA support
< > CMD64x PATA support
< > CS5510/5520 PATA support
< > CS5530 PATA support
< > CS5536 PATA support
< > EFAR SLC90E66 support
< > Generic ATA support
< > HPT 366/368 PATA support
< > HPT 343/363 PATA support
< > IT8211/2 PATA support
< > JMicron PATA support
< > Compaq Triflex PATA support
< > Marvell PATA support via legacy mode
<> Intel PATA MPIIX support <=== 我用的是SATA ,取消PATA 支援
< > Intel PATA old PIIX support <=== 我用的是SATA ,取消PATA 支援
< > NETCELL Revolution RAID support
< > Nat Semi NS87410 PATA support
< > Nat Semi NS87415 PATA support
< > Older Promise PATA controller support
< > PC Tech RZ1000 PATA support
< > SC1200 PATA support
< > SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support
< > Promise PATA 2027x support
< > CMD / Silicon Image 680 PATA support
< > SiS PATA support
< > VIA PATA support
< > Winbond SL82C105 PATA support
< > Intel SCH PATA support <=== 我用的是SATA ,取消PATA 支援
9.11、[ ] Multiple devices driver support (RAID and LVM) --->
暫時沒有要使用Raid (磁碟陣列)和LVM (邏輯卷管理器,新增,刪除邏輯分割槽)的需求
9.12、[ ] Fusion MPT device support --->
9.13、IEEE 1394 (FireWire) support --->
9.14、< > I2O device support --->
9.15、[ ] Macintosh device drivers --->
Mac 系統硬體裝置驅動,沒什麼好說的,關
9.16、-*- Network device support --->
< > Dummy net driver support
< > Bonding driver support
< > EQL (serial line load balancing) support
< > Universal TUN/TAP device driver support
< > Virtual ethernet pair device
< > General Instruments Surfboard 1000
< > ARCnet support --->
-*- PHY Device support and infrastructure ---> <=== PHY ( 物理層控制晶片) ,裡面沒有我對應的硬體
[ ] Ethernet (10 or 100Mbit) ---> <=== 如果你是百 M 卡,請自行選擇
[*] Ethernet (1000 Mbit) ---> // 選擇自己對應的硬體
[ ] Ethernet (10000 Mbit) ---> <=== 如果你是萬M 卡,請自行選擇
<> Token Ring driver support ---> <=== IBM 的令牌環網,用乙太網的忽略
[ ] Wireless LAN ---> <=== 不用無線網路
*** Enable WiMAX (Networking options) to see the WiMAX drivers ***
USB Network Adapters --->
[ ] Wan interfaces support --->
<> FDDI driver support <=== 光纖卡驅動,相信沒幾個人能用上這玩意
< > PPP (point-to-point protocol) support
< > SLIP (serial line) support
[ ] Fibre Channel driver support
[ ] Network console logging support
[ ] VMware VMXNET3 ethernet driver
9.17、[ ] ISDN support --->
9.18、< > Telephony support --->
9.19、Input device support --->
-*- Generic input layer (needed for keyboard, mouse, ...)
-*- Support for memoryless force-feedback devices
<> Polled input device skeleton <=== 一種週期性輪詢硬體狀態的驅動,去掉後沒什麼副作用
*** Userland interfaces ***
-*- Mouse interface
[ ] Provide legacy /dev /psaux device
(1024) Horizontal screen resolution
(768) Vertical screen resolution
< > Joystick interface
<*> Event interface // 將輸入裝置的事件儲存到/dev /input/eventX 供應用程式讀取
< > Event debugging
*** Input Device Drivers ***
-*- Keyboards --->
[*] Mice --->
[] Joysticks/Gamepads ---> <=== 遊戲裝置
[] Tablets ---> <=== 平板PC
[] Touchscreens ---> <=== 觸控式螢幕
[] Miscellaneous devices ---> <=== 雜七雜八的驅動,揚聲器,筆記本擴充套件按鍵等
Hardware I/O ports --->
9.20、Character devices --->
-*- Virtual terminal
[*] Support for binding and unbinding console drivers // 在某些系統上可以使用多個控制檯驅動程式( 如framebuffer 控制檯驅動程式), 該選項使得你可以選擇其中之一 ,我一般只用預設的虛擬終端
[] /dev /kmem virtual device support <=== 支援/dev /kmem 裝置,很少用
[] Non-standard serial port support <=== 我沒有非標準的串列埠裝置
Serial drivers --->
< > 8250/16550 and compatible serial support <=== 相容一些老式的串列埠裝置,我一般不用
*** Non-8250 serial port support ***
< > Digi International NEO PCI Support
-*- Unix98 PTY support
[ ] Support multiple instances of devpts
[ ] Legacy (BSD) PTY support
< > IPMI top-level message handler --->
<*> Hardware Random Number Generator Core support
< > Timer IOMEM HW Random Number Generator support
<*> Intel HW Random Number Generator support
<> AMD HW Random Number Generator support <=== 我是intel 主機板
< > AMD Geode HW Random Number Generator support <=== 我是intel 主機板
<> VIA HW Random Number Generator support <=== 我是intel 主機板
<> /dev /nvram support <=== 直接存取CMOS ,太危險,關
< > Siemens R3964 line discipline
< > Applicom intelligent fieldbus card support
< > ACP Modem (Mwave ) support
< > NatSemi PC8736x GPIO Support
< > NatSemi Base GPIO Support
< > AMD CS5535/CS5536 GPIO (Geode Companion Device)
< > RAW driver (/dev /raw/rawN )
[*] HPET - High Precision Event Timer
[ ] Allow mmap of HPET
< > Hangcheck timer
9.21、{M} I2C support --->
感知硬體狀態,比如溫度,風扇轉速
9.22、[ ] SPI support --->
9.23、PPS support --->
9.24、[ ] GPIO Support --->
9.25、{*} Power supply class support --->
9.26、{*} Hardware Monitoring support --->
9.27、-*- Generic Thermal sysfs driver --->
9.28、[*] Watchdog Timer Support --->
系統監視程式,我一般不用
9.29、Sonics Silicon Backplane --->
9.30、< > Multimedia support --->
9.31、[ ] Voltage and Current Regulator Support --->
9.32、< > Multimedia support --->
< > /dev /agpgart (AGP Support) ---> < --- virtualbox不支援虛擬獨立顯示卡
-*- VGA arbitration
(16) Maximium number of GPU
[ ] Latop Hybird Graphics – GPU switch support
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<> Lowlevel video output switch controls
<> Support for frame buffer devices --->
[ ] Backlight & LCD device support ---> < --- 支援背光設定,比如pda等。我用不到
Display device support --->
Console display driver support --->
[ ] Enable Scrollback Buffer in System RAM
9.33、< > Sound card support --->
用不到音效卡
9.34、[ ] HID Devices --->
用不到人力工程學裝置
9.35、[] USB support ---> <=== 這個選項,對於跑物理機建議 開啟,因為有可能你的鍵盤是USB 的,我是跑虛擬機器的,所以關了
9.36、< > MMC/SD/SDIO card support --->
9.37、< > Sony MemoryStick card support (EXPERIMENTAL) --->
9.38、[] LED Support ---> <=== 發光二級管,應該是跟顯示器相關的驅動,由於我執行 的是虛擬機器,所以我選擇關閉
9.39、[ ] Accessibility support --->
9.40、< > InfiniBand support --->
9.41、[*] EDAC (Error Detection And Correction) reporting ---> // 硬體故障repoting
9.42、<*> Real Time Clock --->
9.43、[*] DMA Engine support --->
9.44、[ ] Auxiliary Display support --->
9.45、< > Userspace I/O drivers --->
9.46、TI VLYNQ --->
9.47、[ ] Staging drivers --->
9.48、[] X86 Platform Specific Device Drivers ---> <=== 一些筆記本的驅動,我沒有相關裝置
/*====================*/
10、Firmware Drivers --->
< > BIOS Enhanced Disk Drive calls determine boot disk
< > BIOS update support for DELL systems via sysfs
< > Dell Systems Management Base Driver
[*] Export DMI identification via sysfs to userspace // 將BIOS 裡的DMI 區資訊匯出到使用者空間,部分系統管理工具可能會用到
[ ] iSCSI Boot Firmware Table Attributes
9、Device Drivers --->
9.1、Generic Driver Options --->
9.1.1、() path to uevent helper
9.1.2、[ ] Maintain a devtmpfs filesystem to mount at /dev
9.1.3、[*] Select only drivers that don't need compile-time external firmware
9.1.4、[*] Prevent firmware from being built
9.1.5、-*- Userspace firmware loading support
9.1.6、[*] Include in-kernel firmware blobs in kernel binary
9.1.7、() External firmware blobs to build into the kernel binary
9.1.8、[ ] Driver Core verbose debug messages
9.1.9、[ ] Managed device resources verbose debug messages
管理裝置資源的冗長除錯資訊,我不需要
9.2、<*> Connector - unified userspace <-> kernelspace linker --->
核心空間與使用者空間的通道
9.2.1、[*] Report process events to userspace
報告處理時間給使用者空間
9.3、< > Memory Technology Device (MTD) support --->
9.4、< > Parallel port support --->
9.5、-*- Plug and Play support --->
[ ] PNP debugging messages
除錯資訊,老規矩
9.6、[ ] Block devices --->
我沒有想要支援的塊裝置,比如ramdisk , 磁碟陣列,CD/DVD 燒錄等,詳見內部選項
9.7、[ ] Misc devices --->
沒有需要支援的雜項裝置
9.8、< > ATA/ATAPI/MFM/RLL support (DEPRECATED) --->
9.9、SCSI device support --->
< > RAID Transport Class
-*- SCSI device support
[] legacy /proc /scsi / support <=== 我沒有SCSI 裝置
*** SCSI support type (disk, tape, CD-ROM) ***
<*> SCSI disk support // 就算你用SATA ,此選項也必選
< > SCSI tape support
< > SCSI OnStream SC-x0 tape support
<> SCSI CDROM support <=== 我沒有SCSI 裝置
<> SCSI generic support <=== 我沒有SCSI 裝置
< > SCSI media changer support
[ ] Probe all LUNs on each SCSI device
[] Verbose SCSI error reporting (kernel size +=12K) <=== 我沒有SCSI 裝置
[ ] SCSI logging facility
[ ] Asynchronous SCSI scanning
SCSI Transports --->
<> Parallel SCSI (SPI) Transport Attributes <=== 我沒有SCSI 裝置
< > FiberChannel Transport Attributes
< > iSCSI Transport Attributes
< > SAS Domain Transport Attributes
< > SRP Transport Attributes
[ ] SCSI low-level drivers --->
< > SCSI Device Handlers --->
< > OSD-Initiator library
9.10、<M> Serial ATA and Parallel ATA drivers --->
[*] Verbose ATA error reporting
[*] ATA ACPI Support
[ ] SATA Port Multiplier support <=== 我只有一枚SATA 裝置,沒有使用 多路SATA/SATA Hub 的需求。Port Multiplier 是南橋晶片提供的一種支援多塊SATA 裝置,並共享總頻寬的技術。
<*> AHCI SATA support
< > Platform AHCI SATA support
< > Inito 162x SATA support
< > Silicon Image 3124/3132 SATA support
[*] ATA SFF support // 選擇自己硬體對應的驅動即可
< > ServerWorks Frodo / Apple K2 SATA support
<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support // Intel ICH ,G 系列chipset driver
< > Marvell SATA support
< > NVIDIA SATA support
< > Pacific Digital ADMA support
< > Pacific Digital SATA QStor support
< > Promise SATA TX2/TX4 support
< > Silicon Image SATA support
< > SiS 964/965/966/180 SATA support
< > ULi Electronics SATA support
< > VIA SATA support
< > VITESSE VSC-7174 / INTEL 31244 SATA support
< > Initio 162x SATA support
< > ACPI firmware driver for PATA
< > ALi PATA support
< > AMD/NVidia PATA support <=== 我用的是SATA ,取消PATA 支援
< > ARTOP 6210/6260 PATA support
< > ATI PATA support
< > CMD64x PATA support
< > CS5510/5520 PATA support
< > CS5530 PATA support
< > CS5536 PATA support
< > EFAR SLC90E66 support
< > Generic ATA support
< > HPT 366/368 PATA support
< > HPT 343/363 PATA support
< > IT8211/2 PATA support
< > JMicron PATA support
< > Compaq Triflex PATA support
< > Marvell PATA support via legacy mode
<> Intel PATA MPIIX support <=== 我用的是SATA ,取消PATA 支援
< > Intel PATA old PIIX support <=== 我用的是SATA ,取消PATA 支援
< > NETCELL Revolution RAID support
< > Nat Semi NS87410 PATA support
< > Nat Semi NS87415 PATA support
< > Older Promise PATA controller support
< > PC Tech RZ1000 PATA support
< > SC1200 PATA support
< > SERVERWORKS OSB4/CSB5/CSB6/HT1000 PATA support
< > Promise PATA 2027x support
< > CMD / Silicon Image 680 PATA support
< > SiS PATA support
< > VIA PATA support
< > Winbond SL82C105 PATA support
< > Intel SCH PATA support <=== 我用的是SATA ,取消PATA 支援
9.11、[ ] Multiple devices driver support (RAID and LVM) --->
暫時沒有要使用Raid (磁碟陣列)和LVM (邏輯卷管理器,新增,刪除邏輯分割槽)的需求
9.12、[ ] Fusion MPT device support --->
9.13、IEEE 1394 (FireWire) support --->
9.14、< > I2O device support --->
9.15、[ ] Macintosh device drivers --->
Mac 系統硬體裝置驅動,沒什麼好說的,關
9.16、-*- Network device support --->
< > Dummy net driver support
< > Bonding driver support
< > EQL (serial line load balancing) support
< > Universal TUN/TAP device driver support
< > Virtual ethernet pair device
< > General Instruments Surfboard 1000
< > ARCnet support --->
-*- PHY Device support and infrastructure ---> <=== PHY ( 物理層控制晶片) ,裡面沒有我對應的硬體
[ ] Ethernet (10 or 100Mbit) ---> <=== 如果你是百 M 卡,請自行選擇
[*] Ethernet (1000 Mbit) ---> // 選擇自己對應的硬體
[ ] Ethernet (10000 Mbit) ---> <=== 如果你是萬M 卡,請自行選擇
<> Token Ring driver support ---> <=== IBM 的令牌環網,用乙太網的忽略
[ ] Wireless LAN ---> <=== 不用無線網路
*** Enable WiMAX (Networking options) to see the WiMAX drivers ***
USB Network Adapters --->
[ ] Wan interfaces support --->
<> FDDI driver support <=== 光纖卡驅動,相信沒幾個人能用上這玩意
< > PPP (point-to-point protocol) support
< > SLIP (serial line) support
[ ] Fibre Channel driver support
[ ] Network console logging support
[ ] VMware VMXNET3 ethernet driver
9.17、[ ] ISDN support --->
9.18、< > Telephony support --->
9.19、Input device support --->
-*- Generic input layer (needed for keyboard, mouse, ...)
-*- Support for memoryless force-feedback devices
<> Polled input device skeleton <=== 一種週期性輪詢硬體狀態的驅動,去掉後沒什麼副作用
*** Userland interfaces ***
-*- Mouse interface
[ ] Provide legacy /dev /psaux device
(1024) Horizontal screen resolution
(768) Vertical screen resolution
< > Joystick interface
<*> Event interface // 將輸入裝置的事件儲存到/dev /input/eventX 供應用程式讀取
< > Event debugging
*** Input Device Drivers ***
-*- Keyboards --->
[*] Mice --->
[] Joysticks/Gamepads ---> <=== 遊戲裝置
[] Tablets ---> <=== 平板PC
[] Touchscreens ---> <=== 觸控式螢幕
[] Miscellaneous devices ---> <=== 雜七雜八的驅動,揚聲器,筆記本擴充套件按鍵等
Hardware I/O ports --->
9.20、Character devices --->
-*- Virtual terminal
[*] Support for binding and unbinding console drivers // 在某些系統上可以使用多個控制檯驅動程式( 如framebuffer 控制檯驅動程式), 該選項使得你可以選擇其中之一 ,我一般只用預設的虛擬終端
[] /dev /kmem virtual device support <=== 支援/dev /kmem 裝置,很少用
[] Non-standard serial port support <=== 我沒有非標準的串列埠裝置
Serial drivers --->
< > 8250/16550 and compatible serial support <=== 相容一些老式的串列埠裝置,我一般不用
*** Non-8250 serial port support ***
< > Digi International NEO PCI Support
-*- Unix98 PTY support
[ ] Support multiple instances of devpts
[ ] Legacy (BSD) PTY support
< > IPMI top-level message handler --->
<*> Hardware Random Number Generator Core support
< > Timer IOMEM HW Random Number Generator support
<*> Intel HW Random Number Generator support
<> AMD HW Random Number Generator support <=== 我是intel 主機板
< > AMD Geode HW Random Number Generator support <=== 我是intel 主機板
<> VIA HW Random Number Generator support <=== 我是intel 主機板
<> /dev /nvram support <=== 直接存取CMOS ,太危險,關
< > Siemens R3964 line discipline
< > Applicom intelligent fieldbus card support
< > ACP Modem (Mwave ) support
< > NatSemi PC8736x GPIO Support
< > NatSemi Base GPIO Support
< > AMD CS5535/CS5536 GPIO (Geode Companion Device)
< > RAW driver (/dev /raw/rawN )
[*] HPET - High Precision Event Timer
[ ] Allow mmap of HPET
< > Hangcheck timer
9.21、{M} I2C support --->
感知硬體狀態,比如溫度,風扇轉速
9.22、[ ] SPI support --->
9.23、PPS support --->
9.24、[ ] GPIO Support --->
9.25、{*} Power supply class support --->
9.26、{*} Hardware Monitoring support --->
9.27、-*- Generic Thermal sysfs driver --->
9.28、[*] Watchdog Timer Support --->
系統監視程式,我一般不用
9.29、Sonics Silicon Backplane --->
9.30、< > Multimedia support --->
9.31、[ ] Voltage and Current Regulator Support --->
9.32、< > Multimedia support --->
< > /dev /agpgart (AGP Support) ---> < --- virtualbox不支援虛擬獨立顯示卡
-*- VGA arbitration
(16) Maximium number of GPU
[ ] Latop Hybird Graphics – GPU switch support
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<> Lowlevel video output switch controls
<> Support for frame buffer devices --->
[ ] Backlight & LCD device support ---> < --- 支援背光設定,比如pda等。我用不到
Display device support --->
Console display driver support --->
[ ] Enable Scrollback Buffer in System RAM
9.33、< > Sound card support --->
用不到音效卡
9.34、[ ] HID Devices --->
用不到人力工程學裝置
9.35、[] USB support ---> <=== 這個選項,對於跑物理機建議 開啟,因為有可能你的鍵盤是USB 的,我是跑虛擬機器的,所以關了
9.36、< > MMC/SD/SDIO card support --->
9.37、< > Sony MemoryStick card support (EXPERIMENTAL) --->
9.38、[] LED Support ---> <=== 發光二級管,應該是跟顯示器相關的驅動,由於我執行 的是虛擬機器,所以我選擇關閉
9.39、[ ] Accessibility support --->
9.40、< > InfiniBand support --->
9.41、[*] EDAC (Error Detection And Correction) reporting ---> // 硬體故障repoting
9.42、<*> Real Time Clock --->
9.43、[*] DMA Engine support --->
9.44、[ ] Auxiliary Display support --->
9.45、< > Userspace I/O drivers --->
9.46、TI VLYNQ --->
9.47、[ ] Staging drivers --->
9.48、[] X86 Platform Specific Device Drivers ---> <=== 一些筆記本的驅動,我沒有相關裝置
/*====================*/
10、Firmware Drivers --->
< > BIOS Enhanced Disk Drive calls determine boot disk
< > BIOS update support for DELL systems via sysfs
< > Dell Systems Management Base Driver
[*] Export DMI identification via sysfs to userspace // 將BIOS 裡的DMI 區資訊匯出到使用者空間,部分系統管理工具可能會用到
[ ] iSCSI Boot Firmware Table Attributes