歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux內核 >> 嵌入式Linux內核制作

嵌入式Linux內核制作

日期:2017/3/1 12:20:29   编辑:Linux內核
一.Linux內核簡介 Linux系統架構分為內核空間和用戶空間。它們之間切換條件:1.系統調用 2.硬件中斷。 內核架構:1.系統調用接口 2.進程管理塊 3.內存管理 4.體系結構相關代碼 4.虛擬文件系統 5.網絡棧 6.設備驅動 二.制作Linux內核 1.修改配置文件 make config --文本模式交互式的配置 make menuconfig --基於文本模式的菜單型配置(直觀、簡單、高效、推薦) 配置文件的選擇:1.默認2.已有的配置文件,Linux系統下的/boot/目錄下保存了當前系統的配置項 ,我們可以直接用。 2.編譯源碼 make zImage -- 內核小於512k時可以使用。 make bzImage (v=1)--編譯成功後內核保存在arch/cpu/boot 目錄下 的bzImage二進制文件(編譯成功的前提是在源碼文件目錄下必須有.config文件)。 3.編譯內核模塊 make modules--生成內核模塊(*.ko)。 make nodules --將分散在各個文件夾內的內核模塊收集到根目錄下的/lib/modules目錄下 我這裡文件夾名為2.6.39 4.制作ramdisk mkinitrd rd-$version $version --例 mkinitrd rd-2.6.39 2.6.39 5.拷貝內核文件 cp linux-2.6.39/arch/x86/boot/bzImage /boot/vmlinuz-2.6.39 cp rd-2.6.39 /boot/ 6.更改啟動文件 vi /etc/grub.conf 我原先的內核是2.6.32-279.el6.i686,我這次制作的內核為2.6.39 上面則是我修改的內容。 7.重啟更換內核 在計時頁面按任意鍵則可進入到選擇內核版本界面。 注:這裡我們只是更改系統內核,未對用戶空間的數據進行修改,所以系統啟動後硬盤的數據不會發生變化。 (查看內核版本 uname -r) 8.清理內核源代碼 make clean --之清理產生*.o文件 make distclean--清理*.o文件、配置文件、*.ko文件 三.制作嵌入式內核 方法與制作Linux內核無多大區別,只需要注意: 配置時命令-- make menuconfig ARCH=arm; 編譯命令-- make uImage ARCH=arm CROSS_COMPILE=arm-linux- 通常在編譯是會出現缺少mkimage文件 我們可在uboot源碼的/tools/目錄下找 將其拷貝到根目錄的/bin目錄下即可。
Copyright © Linux教程網 All Rights Reserved