新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PC/104平臺嵌入式Linux系統核心定制方法

        基于PC/104平臺嵌入式Linux系統核心定制方法

        作者: 時間:2012-04-05 來源:網絡 收藏

        字符設備。其中有:
        I2C support: I2C是Philips極力推動的微控制應用中使用的低速串行總線協議。如果要選擇下面的Video For ,該項必選。
        Mice:鼠標。現在可以支持總線、串口、PS/2、CT82C710 mouseport、PC110 digitizerpad。
        Joysticks:手柄支持。Watchdog Cards:如果把這個選中,那么就會在/dev下創建一個名為watchdog的文件,它可以記錄系統的運行情況,一直到系統重新啟動的1min左右。有了這個文件,就可以恢復系統到重啟前的狀態了。
        Video For :支持有關的音頻/視頻卡。
        Ftape,the floppy tape device driver:
        PCMCIA character device support:上邊介紹了。

        (21)Filesy stems。介紹以下幾項:
        Quota support: Quota可以限制每個用戶可以使用的硬盤空間的上限,在多用戶共同使用一臺主機的情況中十分有效。
        DOSFAT fssupport: DOSFAT文件格式的支持,可以支持FAT16、FAT32。
        ISO 9660CD-ROM file system support:光盤使用的就是ISO9660的文件格式。
        NTFS file system support:ntfs是NT使用的文件格式。
        /proc file system support:/proc是Lnux提供給用戶和系統進行交互的通道,應該選上,否則有些功能沒法正確執行。
        還有另外3個大類是:Network File Systems(網絡)、Partition Types(分區類型)、
        NativeLanguageSupport(本地語言支持)。值得一提的是NetworkFileSystems里面的兩種:NFS和SMB分別是和Windows相互以網絡鄰居的形式訪問對方所使用的文件系統。

        (22)Console drivers控制臺驅動。一般使用VGA text console就可以了,標準的80325的文本控制臺。
        (23)Sound聲卡驅動。
        (24)USB supprotUSB支持。很多USB設備,比如鼠標、調制解調器、打印機、掃描儀等,在Linux都可以得到支持。 (25)Kernel hacking配置此選項可以在系統崩潰時,也可以進行一定的工作了。但對于普通用戶是用不著這個功能的。

        編譯

        配置結束后就可以編譯了,內核編譯只有幾個指令,但是內核編譯的時間可能會很長。在執行內核配置之前可以先執行#make mrproper命令,檢查內核源程序,以發現內核文件是否完備。
        內核編譯的命令如下:
        #maked ep:使內核正確設置所有模塊的依賴關系。
        make clean:清除所有已存在的目標文件,已存在的目標文件主要由上次內核編譯形成,如果忘記做這一步,生成的內核將會非常龐大。
        #make zImage/zdisk/bzImage/zlilo:生成一個經過壓縮的內核。如果要制作成啟動盤就使用make zdisk,而make zlilo則把生成的內核加入LLO中,不過在最初幾次編譯內核時不要使用此項,以免系統因生成的內核有故障而不能啟動。make bzImage用于生成超過1M文件大小的內核,makezImage生成小于1M的內核。內核文件是經過壓縮處理的。如果內核中使用了可裝卸的模塊,則需要依次運行以下指令:
        #make modules:編譯內核模塊。
        #make modules_install:安裝內核模塊。

        編譯后的內核文件存放在arch/i386/boot/目錄下。以下為一個內核編譯配置腳本,采用該腳本編譯的內核可運行于當前所有x86平臺,不具備網絡和串口支持,內核編譯后的大小在200K以內。
        #基于x86體系結構
        CONFIG_X86=y
        #是內核中最新功能(或處于實驗中的功能) 可用
        CONFIG_EXPERIMENTAL=y
        #選擇處理器類型和數學處理器仿真
        CONFIG_M386=y
        CONFIG_MATH_EMULATION=y
        #設置進程間通信協議
        CONFIG_SYSVIPC=y
        CONFIG_SYSCTL=y
        #設置可支持的二進制文件格式
        CONFIG_BINFMT_ELF=y
        #塊設備支持,CFC和DOC在此設置不同
        #設置內核支持DE驅動器
        CONFIG_BLK_DEV_DE=y
        CONFIG_BLK_DEV_DEDISK=y
        CONFIG_BLK_DEV_CMD640=y
        CONFIG_BLK_DEV_RZ1000=y
        CONFIG_BLK_DEV_DEPCI=y
        CONFIG_BLK_DEV_DEDMA=y
        CONFIG_IDEDMA_AUTO=y
        CONFIG_BLK_DEV_CS5530=y
        CONFIG_BLK_DEV_LOOP=y
        CONFIG_PARDE_PARPORT=y
        #字符設備設置
        CONFIG_VT=y
        #文件系統設置
        #支持/proc、ext2文件系統
        CONFIG_PROC_FS=y
        CONFIG_EXT2_FS=y
        #支持字符型終端
        CONFIG_VGA_CONSOLE=y

        網絡與串口通信功能

        Linux 內核內置對網絡和串口的支持,具體到內核編譯,只要設置部分內核參數即可。以下是網絡設備的支持,需要注意的是其中PCI設備支持選項和以太網設備支持選項,如果選擇網卡,這兩類設備都必須被支持。網卡的驅動程序如果未包含到內核,則可以模塊形式加載。
        CONFIG_NET=y
        CONFIG_PCI=y
        CONFIG_PCI_GOANY=y
        CONFIG_PCI_BIOS=y
        CONFIG_PCI_DIRECT=y
        CONFIG_PCI_QUIRKS=y
        CONFIG_PCI_OLD_PROC=y
        CONFIG_NETLINK=y
        CONFIG_INET=y
        CONFIG_NET_ETHERNET=y

        以下是串口設置參數,如果單純支持兩個串口,則設置CONFIG_SERIAL項即可。在系統需要4個以上串口支持,或需要基于串口的終端控制時,需要設置余下3個參數。
        CONFIG_SERIAL=y
        #CONFIG_SERIAL_CONSOLE
        #CONFIG_SERIAL_EXTENDED
        #CONFIG_SERIAL_NONSTANDARD
        本項目中僅設置兩個串口支持。

        文件系統定制

        Linux 操作系統為方便管理把外存抽象成一個可隨時訪問的塊,為方便管理和使用又在塊設備層上再作抽象,把塊設備抽象成為文件系統,由文件系統管理塊設備上的數據等,文件系統有很多種,不同文件系統有不同的管理方式,造成系統不兼容,為解決這個問題,在文件系統上又作一次抽象,提出了虛擬文件系統的概念。 Linux虛擬文件系統為用戶提供了一個公共的接口,而不需要了解物理設備或邏輯系統的細節,系統允許系統管理員將在任何物理設備上的邏輯文件系統掛接在文件目錄中。

        目錄結構

        Linux文件系統符合 FHS(Filesystem Hierarchy Standard)標準,由一些目錄和文件組成。根據安裝的方式不同,這些目錄可能是不同的文件系統。通常,一個系統可以有多個文件系統組成:根分區文件系統(/),和安裝在/usr下的文件系統,還有其他安裝在/home、/var文件系統。
        Linux目錄結構起始與根目錄,其中包含以下目錄:
        /vmlinuz
        內核文件,內核文件的位置可由系統引導程序指定。
        /bin
        包含系統可執行程序,可以在這個目錄下找到linux常用的命令。
        /boot
        存放系統啟動時所需的各項文件。
        /dev
        包含所有的設備文件,這些設備是和系統的硬件有一定相互對應關系的特殊文件,分為塊設備、字符設備和特殊設備,dev是設備(device)的英文縮寫。目錄中包含了所有Linux系統中使用的外部設備,但是這里并不是放的外部設備的驅動程序,它實際上是一個訪問這些外部設備的標識。在Linux系統中,對外部設備的訪問和訪問一個文件、一個目錄沒有任何區別。
        /cdrom
        用于將光驅文件系統加載到這個目錄下。
        /etc
        Linux系統的絕大部分配置文件都存放在這里。比如網絡配置文件,文件系統,XWindow配置文件,設備配置信息,設置用戶信息等都在這個目錄下。
        /sbin
        存放系統程序。和/bin目錄類似,但這些文件往往是用來進行系統管理或提供系統服務的,一般只有root才有運行的權限。
        /home
        存放一般用戶個人目錄的主目錄,如果建立一個用戶,用戶名是“xx”,那么在/home目錄下就有一個對應的/home/xx路徑。
        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        關鍵詞: Linux 內核 文件系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 松潘县| 乌鲁木齐市| 景洪市| 永清县| 十堰市| 晴隆县| 锡林郭勒盟| 汝州市| 刚察县| 桑植县| 博湖县| 南江县| 新乡县| 克什克腾旗| 武强县| 建水县| 林州市| 西贡区| 上饶市| 平乡县| 石棉县| 屏边| 阳新县| 平遥县| 博白县| 平乡县| 本溪市| 广南县| 石柱| 宁河县| 太谷县| 宁波市| 麻城市| 蓬莱市| 蒲江县| 连州市| 株洲市| 嘉定区| 白城市| 手机| 静宁县|