日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 制作box文件夹,用busybox制作自己简易的根文件系统

發(fā)布時間:2025/3/8 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 制作box文件夹,用busybox制作自己简易的根文件系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

當使用Busybox-1.2.0制作根文件系統(tǒng)

交叉編譯器為3.3.2

make-3.8.1

STEP?1:

創(chuàng)建根文件系統(tǒng)目錄,主要包括以下目錄/bin,/etc,/dev,/mnt,/sbin,/usr。

STEP?2:

升級make到3.81版本,用RH9自己帶的make?3.79會出錯

進入make-3.81目錄,執(zhí)行:#?./configure????#?make???#make?install

會把make安裝到/usr/local/bin目錄下,要使新make立即生效,要設(shè)置環(huán)境變量

PATH=/usr/local/bin:$PATH。設(shè)置完成后,就可以編譯Busybox了。

STEP?3:

進入busybox-1.2.0目錄,執(zhí)行#?make?defconfig

執(zhí)行#?make?menuconfig

Busybox?Setting?----->?Build?Options----->

選擇上Build?BusyBox?as?a?static?binary?(no?shared?libs)

Do?you?want?to?build?BusyBox?with?a?Cross?Compiler?

指定交叉編譯器為

(/usr/local/arm/3.3.2/bin/arm-linux-)Cross?Compiler?prefix

Installation?Options?----->

選擇上?Don’t?use?/usr

設(shè)置Busybox?installation?prefix為../rootfs即安裝目錄.

在Shells中,選擇Choose?your?default?shell為ash.

保存退出

STEP?4:

#?make????#?make?install

STEP5:

編譯tinylogin-1.4。進入tinylogin-1.4目錄,修改Makefile文件如下:

DOSTATIC?=?true

USE_SYSTEM_PWD_GRP?=?false

USE_SYSTEM_SHADOW?=?false

CROSS?=?/usr/local/arm/3.3.2/bin/arm-linux-

STEP?6:

執(zhí)行#?make?PREFIX=../rootfs?install

STEP?7:

進入根文件系統(tǒng)rootfs的etc目錄,執(zhí)行如下操作:

拷貝Busybox-1.2.0/examples/bootfloopy/etc/*到當前目錄下。

#?cp?–r?../../busybox-1.2.0/examples/bootfloopy/etc/*?./

拷貝/etc/passwd,?/etc/group,?/etc/shadow到當前目錄下。

#?cp?/etc/passwd?./

#?cp?/etc/group?./

#?cp?/etc/shadow?./

修改inittab,把第二項改為::respawn:-/bin/login

修改profile,加入PATH環(huán)境變量:exportPATH=/bin:/sbin:/usr/bin:/usr/sbin

對以下三個文件修改,只保存與root相關(guān)的項,根據(jù)具體情況內(nèi)容會有所不同。

修改passwd為root:x:0:0:root:/root:/bin/sh,即只保存與root相關(guān)項,而且最后改成/bin/sh。

修改group為root:x:0:root

修改shadow為root:$1$x9yv1WlB$abJ2v9jOlOc9xW/y0QwPs.:14034:0:99999:7:::

STEP?8:

制作cramfs鏡像,下載到實驗箱上就可以引導起來了。

#?mkcramfs?rootfs?rootfs.cramfs

用BusyBox-1.1.3制作根文件系統(tǒng)

cross-2.95.3

STEP?1:

#?mkdir?rootfs

#?cd?rootfs

#mkdir?bin?dev?etc?home?lib?mnt?proc?sbin?sys?tmp?root?usr

#mkdir?mnt/etc

#mkdir?usr/bin?usr/lib?usr/sbin

STEP?2:

進入BusyBox解壓后的目錄,配置BusyBox

#?make?menuconfig

Busybox?Settings?>

General?Configuration?>

[*]?Support?for?devfs

Build?Options?>

[*]?Build?BusyBox?as?a?static?binary?(no?shared?libs)

/*將busybox編譯為靜態(tài)連接,少了啟動時找動態(tài)庫的麻煩*/

[*]?Do?you?want?to?build?BusyBox?with?a?Cross?Compiler?

(/usr/local/arm/2.95.3/bin/arm-linux-)Cross?Compiler?prefix

/*指定交叉編譯工具路徑*/

Init?Utilities?>

[*]?init

[*]?Support?reading?an?inittab?file

/*支持init讀取/etc/inittab配置文件,一定要選上*/

Shells?>

Choose?your?default?shell?(ash)?>

Coreutils?>

[*]?cp

[*]?cat

[*]?ls

[*]?mkdir

[*]?echo?(basic?SuSv3?version?taking?no?options)

[*]?env

[*]?mv

[*]?pwd

[*]?rm

[*]?touch

Editors?>

[*]?vi

Linux?System?Utilities?>

[*]?mount

[*]?Support?mounting?NFS?file?systems

[*]?umount

[*]?Support?loopback?mounts

[*]?Support?for?the?old?/etc/mtab?file

Networking?Utilities?>

[*]?inetd

/*

*支持inetd超級服務(wù)器

*?inetd的配置文件為/etc/inetd.conf文件,

*/

#?make?TARGET_ARCH=arm?CROSS=arm-linux-\

PREFIX=../rootfs/?all?install

//執(zhí)行上面的命令會把相關(guān)文件安裝到我們的根文件系統(tǒng)rootfs

編譯過程中若出現(xiàn)如果出現(xiàn)找不到內(nèi)核版本號的編譯錯誤(如:編譯libb/loop.c時提示找不到?linux/version.h?文件,也可以拷貝3.3.2交叉編譯器下的version.h文件。),可以把內(nèi)核源碼中的version.h文件拷貝到交叉編譯器的包含文件的linux目錄下。另外也可以用3.3.2交叉編譯器,但是要修改loop.c內(nèi)容,把#include的路徑寫為#includesys-include/linux/version.h

#?mkcramfs?rootfs?rootfs.cramfs

將rootfs.cramfs燒寫到實驗箱.運行即可啟動.

總結(jié)

以上是生活随笔為你收集整理的linux 制作box文件夹,用busybox制作自己简易的根文件系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。