歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 利用busybox制作一個小巧的Linux系統

利用busybox制作一個小巧的Linux系統

日期:2017/2/28 16:08:52   编辑:Linux教程

1. 下載busybox和linux kernel的源碼.

busybox的源碼地址: http://www.linuxidc.com/Linux/2011-08/40704.htm

linux kernel的源碼地址: http://www.kernel.org/pub/linux/kernel/v2.6/

我選擇的busybox版本是: busybox-1.16.0.tar.bz2

linux kernel的版本是: linux-2.6.28.tar.bz2

2. 接下來我們先編譯linux內核

我將下載下來的內核源代碼壓縮包拷貝到/usr/src目錄下,然後進入到這個目錄將其解壓,命令如下:

# tar xjf linux-2.6.28.tar.bz2

然後創建一個目錄,用來保存編譯內核產生的目標文件

# pwd

/usr/src

# mkdir linux-2.6.28-obj

執行完上述命令/usr/src目錄會有如下圖所示:

linux-2.6.28-obj現在是一個空目錄,編譯內核時會將目標文件輸出保存到這個目錄下。

linux-2.6.28 是剛才linux-2.6.28.tar.bz2文件解壓出來的目錄。

然後我們開始編譯linux內核,輸入如下所示的命令:

# cd /usr/src/linux-2.6.28 (進入到內核源碼樹目錄)

# make O=/usr/src/linux-2.6.28-obj menuconfig (配置內核)

配置內核時,裡面的選項有很多,如果不確定的話就將所有選項都編譯進內核,當然最好能針對性的配置內核,這樣產生出的內核鏡像不至於太大。還有一點就是配置時一定要將選定的選項編譯進內核,而不要編譯成模塊。同時,為了支持initrd內存盤文件系統,有兩個選項是必須的。

一個是General Setup –> Initial RAM filesystem and RAM disk support

另一個是 Device Drivers –> Block Devices –> RAM block device support

這個選項的子選項保持默認就可以了,如下圖所示:

然後退出配置界面,在退出時會提示你是否保存剛才的配置,選擇yes就可以了(因為我們在配置時指明了O=/usr/src/linux-2.6.28-obj 目錄,所以配置文件會保存到這個目錄下,文件名為.config)

接下來我們開始編譯內核:

# make O=/usr/src/linux-2.6.28-obj (生成內核鏡像和模塊)

通常,我們編譯內核是為了更新內核,但這裡我們只是為了編譯出一個內核鏡像,所以就不調用make install命令來安裝內核了。

好!內核編譯完成,我們將編譯好的內核鏡像拷貝到主目錄下,以供後面使用。

# cp /usr/src/linux-2.6.28-obj/arch/x86/boot/bzImage ~ (拷貝內核鏡像到root用戶的主目錄下)

3.編譯busybox

接下來我們開始編譯busybox。(我的busybox-1.16.0.tar.bz2存放到了/root目錄下)

# tar xf busybox-1.16.0.tar.bz2 (解壓busybox壓縮包)

# cd busybox-1.16.0 (進入到解壓後的busybox源碼目錄)

# make menuconfig (配置busybox)

注意配置時,一定要選擇靜態鏈接選項,該選項位於:

Busybox Settings –> Build Options –> Build Busybox as a static binary

接下來,我們安裝busybox

# make install (busybox默認安裝到了其源碼樹目錄的名字為_install的目錄中)

# cd _install (進入安裝了busybox的目錄)

當我們進入了busybox後發現了熟悉的linux目錄結構,但只有這些是不夠的還需要手工添加一些基本的配置文件。

Copyright © Linux教程網 All Rights Reserved