歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 移植Busybox與構建根文件系統

移植Busybox與構建根文件系統

日期:2017/2/28 16:05:15   编辑:Linux教程

0.簡介

本文旨在為以LOONGSON-1B開發板為平台,為移植busybox、構建根文件系統提供技術文檔。

相關閱讀:Linux文件系統使用udhcpc動態獲取ip配置 http://www.linuxidc.com/Linux/2011-10/44885.htm

開發環境:

系統環境:龍芯1B開發板(mips32指令集)、Linux3.0.0內核、Busybox1.19.2

編譯環境:Ubuntu10.04 ,gcc-3.4.6-2f

1. Busybox下載和配置:

1.1 下載Busybox

BusyBox各版本下載見 http://www.linuxidc.com/Linux/2011-08/40704.htm,下載Busybox-1.19.2.tar.bz2工具包。

1.2配置、編譯Busybox

busybox是一個集成了一百多個最常用linux命令和工具的軟件,它甚至還集成了一個http服務器和一個telnet服務器,而所有這一切功能卻只有區區1M左右的大小。Busybox的完全可定制性,提供了非常靈活,宜於擴展的結構。

Busybox的配置方法類似於linux內核的配置。下載解壓Busybox-1.19.2.tar.gz工具包後,進入busybox-1.19.2目錄,運行“make menuconfig”,根據需要選擇需使用的模塊,保存退出後會在本地生成一個.config文件,它指定busybox在編譯的過程中需要包含哪些功能。

執行make menuconfig,彈出配置窗口如下:

進入Busybox Setings--->選項,General Configuration --->選項按默認配置即可。

進入Build Options--->選項:

這裡可選擇靜態編譯或動態編譯busybox,可根據需要任選一種編譯方式進行編譯。

(說明:動態編譯的busybox在構建文件系統時需要加入一些必須的動態庫,而靜態編譯的busybox不依賴動態庫便可執行,構建文件系統時可省略拷貝動態庫的步驟。)

(1)靜態編譯:

選擇[*]Build Busybox as a static binary (no shared libs)

進入()Cross Compiler prefix選項,修改本地交叉工具鏈的路徑。

(2)動態編譯:

選空[]Build Busybox as a static binary (no shared libs)

選擇[*]Build shared libbusybox

進入()Cross Compiler prefix選項,修改本地交叉工具鏈的路徑。

返回上一層進入Installation Options(“make install”behavior)--->選項,配置鏈接類型與安裝路徑,這裡使用默認配置:

返回上一層進入Busybox Library Turing--->選項

選擇[*]vi-style line editing commands(NEW)

[*]Fancy shell prompts(NEW)

返回最頂層進入Init Utilities--->選項(這裡使用默認配置,如圖)

選擇[*]init

[*]Suport reading an inittab file

[*]Run commands with leading dash with controlling tty

該項表示在真實的串口設備中運行命令行,不選該項啟動時會出現“-sh:can’t access tty;job control turned off”的錯誤

[*]Support running init from within an initrd (not initramfs)

不選此選項將不會生成linuxrc文件

Copyright © Linux教程網 All Rights Reserved