歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 嵌入式開發工程師面試題 – C語言部分

嵌入式開發工程師面試題 – C語言部分

日期:2017/3/1 9:47:25   编辑:Linux編程

1.內核的裁剪怎麼裁剪

解析:在Linux 下的Ubuntu 上面做內核的裁剪,主要講講在UI界面做menuconfig 中配置!

下面就是UI界面的簡介

詳細介紹內核配置選項及刪改情況
第一部分:全部刪除
Code maturity level options ---> 代碼成熟等級選項
[]Prompt for development and/or incomplete code/drivers 默認情況下是選擇的,這將會在設置界面中顯示還在開發或者還沒有完成的代碼與驅動.不選。


第二部分 :除以下選項,其它全部刪除
General setup—〉
System V IPC (IPC:Inter Process Communication)是組系統調用及函數庫,它能讓程序彼此間同步進行交換信息。某些程序以及DOS模擬環境都需要它。為進程提供通信機制,這將使系統中各進程間有交換信息與保持同步的能力。有些程序只有在選Y的情況下才能運行,所以不用考慮,這裡一定要選。


第三部分:除以下選項,其它全部刪除
Loadable module support ---> 可引導模塊支持 建議作為模塊加入內核
[] Enable loadable module support 這個選項可以讓你的內核支持模塊,模塊是什麼呢?模塊是一小段代碼,編譯後可在系統內核運行時動態的加入內核,從而為內核增加一些特性或是對某種硬件進行支持。一般一些不常用到的驅動或特性可以編譯為模塊以減少內核的體積。在運行時可以使用modprobe命令來加載它到內核中去(在不需要時還可以移除它)。一些特性是否編譯為模塊的原則是,不常使用的,特別是在系統啟動時不需要的驅動可以將其編譯為模塊,如果是一些在系統啟動時就要用到的驅動比如說文件系統,系統總線的支持就不要編為模塊了,否在無法啟動系統。
[]Automatic kernel module loading 一般情況下,如果我們的內核在某些任務中要使用一些被編譯為模塊的驅動或特性時,我們要先使用modprobe命令來加載它,內核才能使用。不過,如果你選擇了這個選項,在內核需要一些模塊時它可以自動調用modprobe命令來加載需要的模塊,這是個很棒的特性,當然要選Y喽。
第四部分:全部刪除
Block layer-----〉塊設備


第五部分:除以下選項,其它全部刪除
Processor type and features ---> 處理器類型
Subarchitecture Type (PC-compatible) ---> 這選項的主要的目的,是使Linux可以支持多種PC標准,一般我們使用的PC機是遵循所謂IBM兼容結構(pc/at)。這個選項可以讓你選擇一些其它架構。我們一般選擇PC-compatible就可以了。
Processor family(386) : 它會對每種CPU做最佳化,讓它跑的好又快,一般來說,你是什麼型號的就選什麼型號的就好。我選的是386,這樣內核會省下不少空間


第六部分:除以下選項,其它全部刪除
Power management options (ACPI, APM) ---> 電源管理選項
[ ] Power Management Debug Support 電源管理的調試信息支持,如果不是要調試內核有關電源管理部份,請不要選擇這項。
ACPI Support ---〉高級電源接口配置支持,如果BIOS支持,建議選上這項
[]Button 這個選項用於注冊基於電源按鈕的事件,比如power, sleep等,當你按下按鈕時事件將發生,一個守護程序將讀取/proc/acpi/event,並執行用戶在這些事件上定義的動作比如讓系統關機。可以不選擇,根據自己的需求。


第七部分:除以下選項,其它全部刪除
Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> 總線選項
[]PCI support
PCI access mode (Any) ---> PCI外圍設備配置,強列建議選Any,系統將優先使用MMConfig,然後使用BIOS,最後使用Direct檢測PCI設備。


第八部分:除以下選項,其它全部刪除
Executable file formats --->
Kernel support for ELF binaries ELF是開放平台下最常用的二進制文件,它支持不同的硬件平台。一定要選。
第九部分:除以下選項,其它全部刪除
Networking
Networking options --->
[]Unix domain sockets
[]TCP/IP networking
第十部分:除以下選項,其它全部刪除
Device Drivers --->設備驅動
Block devices-------〉
[]Compaq SMART2 support
[] Compaq Smart Array 5xxx support
[]Loopback device support 大部分的人這一個選項都選N,因為沒有必要。但是如果你要mount iso文件的話,你得選上Y。這個選項的意思是說,可以將一個文件掛成一個文件系統。如果要燒光盤片的,那麼您很有可能在把一個文件燒進去之前,看看這個文件是否符合IS09660的文件系統的內容,是否符合您的需求。而且,可以對這個文件系統加以保護。不過,如果您想做到這點的話,您必須有最新的mount程序,版本是在2.5X版以上的。而且如果您希望對這個文件系統加上保護,則您必須有des.1.tar.gz 這個程序。注意:此處與網絡無關。建議編譯成模塊
[] RAM disk support
SCSI device support ---> 裡面有關於USB支持的,要選擇
[]SCSI device support USB要用,必須選擇
[]legacy /proc/scsi/ support USB要用,必須選擇
[]SCSI disk support USB要用,必須選擇
SCSI Low-level drivers
[]Serial ATA(SATA) support
[]Intel PIIX/ICH SATA support 這個必須選擇,否則無法產生引導文件
[]Via SATA support
Networking device support ---> 這個下面是選網卡驅動,一定要選
Ethernet(1000mbit)-我的電腦是千兆網卡所以就選這個
[]broadcom Tigon3support
Input device support ---> 這個裡面要設置你的鼠標鍵盤什麼的
[]Provide legacy /dev/psaux device
Graphics support --->
[]Support for frame buffer devices 支持Frame buffer的,一定要選擇
USB support --->
[]USB device filesystem 這個好象是用U盤必須的
[]EHCI HCD (USB 2.0) support 有usb2.0就選上把,編譯成模塊
[]OHCI HCD support 必須選擇,編譯成模塊
[]UHCI HCD (most Intel and VIA) support 必須選擇,編譯成模塊
[]USB Mass Storage support 用U盤必須選擇
USB Human Interface Device (full HID) support 裡面選擇usb鼠標和usb鍵盤,如果你有一定選上這個必需選
HID input layer support 應該選擇
/dev/hiddev raw HID device support如果這裡有USB鍵盤和鼠標選項,一定要選擇

第十一部分:除以下選項,其它全部刪除
file systems --->文件系統
<*> Second extended fs support
[*] Ext2 extended attributes
[*] Ext2 POSIX Access Control Lists
[*] Ext2 Security Labels
<M> Ext3 journalling file system support
[*] Ext3 extended attributes
[*] Ext3 POSIX Access Control Lists
[*] Ext3 Security Labels 以上這些肯定是要選擇的,linux的標准文件系統
<M> Kernel automounter support 內核自動掛載的,當然要選
<M> Kernel automounter version 4 support (also supports v3) 當然要選
DOS/FAT/NT Filesystems --->
<M> DOS FAT fs support
<M> MSDOS fs support
<M> VFAT (Windows-95) fs support
<M> NTFS file system support
Native language support&#61664;語言支持,這裡就支持英語和漢語就行了,不多說了
[]NLS ISO 8859-1 必須選擇,這個是關於U盤掛載的。
CD-ROM/DVD Filesystems ---> 這個是關於掛載ISO文件的,用的話就選。
<*> ISO 9660 CDROM file system support
第十二部分: 全部刪除
Instrumentation support
第十三部分:全部刪除
Kernel hacking --->破解核心?可不是當骸客啦,不選
第十四部分:全部刪除
Security options --->
第十五部分:全部刪除
Cryptographic options --->這是核心支持加密的選項
第十六部分:全部刪除
Library routines --->

Copyright © Linux教程網 All Rights Reserved