linux用busybox製作ramdisk的方法

2021-05-25 06:52:02 字數 1452 閱讀 4595

出處:

目前的嵌入式開發大多採用

linux作業系統,

linux作業系統執行的一般方式都是核心(如bzimage)加上根檔案系統(rootfs),核心的編譯裁剪說的很多,也不麻煩,我這裡想說的是使用busybox來製作rootfs的方法,

廢話不說那麼多,我製作了乙個sh指令碼程式,可以直接生成我需要的ramdisk,先將指令碼貼出來:

#bash/sh

echo "start make rootfs !"

cd /usr/src/mkosrtfs

mkdir rootfs

cd rootfs

mkdir dev etc lib proc tmp usr var

chmod 777 tmp

mkdir usr/lib

mkdir var/lib var/lock var/log var/run var/tmp

chmod 777 var/tmp

cp -dpr /usr/src/busybox-1.14.2/_install/* .

cp -r /dev/console dev/

cp -r /dev/null dev/

cp -r /dev/zero dev/

cp -r /usr/src/busybox-1.14.2/examples/bootfloppy/etc/* etc/

dd if=/dev/zero of=/usr/src/mkosrtfs/disk bs=1m count=32

mkfs.ext2 -m0 /usr/src/mkosrtfs/disk

mkdir /mnt/ram

mount -o loop /usr/src/mkosrtfs/disk /mnt/ram/

cp -r /usr/src/mkosrtfs/rootfs/* /mnt/ram/

umount /mnt/ram

dd if=/usr/src/mkosrtfs/disk of=/usr/src/mkosrtfs/ramdisk.img

gzip /usr/src/mkosrtfs/ramdisk.img

echo "end make rootfs!"

指令碼寫的很簡單,能實現基本功能,沒有新增判斷,容錯之類的,就是個意思,用得到的時候,可以在上面修改;

需要說明的時候,busybox也有menuconfig選項供我們選擇,我選擇的是將busybox工具編譯成靜態庫,為了簡單和偷懶,如果編譯成動態庫,需要將用到的庫拷貝到lib目錄。

ramdisk製作好了之後,以後如果有改動,只要採用如下方式:

mkdir tmp

gzip -d ramdiak.img.gz

mount -o loop ramdisk.img tmp

#cp 需要的程式到tmp指定的資料夾

umount tmp

gzip ramdisk.img.gz

就可以了。

用Busybox製作嵌入式Linux的檔案系統

1 busybox簡介 熟悉嵌入式linux的人對busybox一定不會陌生。它被非常形象地稱為嵌入式linux系統中的 瑞士軍刀 因為它將許多常用的unix命令和工具結合到了乙個單獨的可執行程式中。雖然與相應的gnu工具比較起來,busybox所提供的功能和引數略少,但在比較小的系統 例如啟動盤 ...

用busybox製作根檔案系統

1 獲取原始碼解壓 tar jvxf busybox 1.13.3.tar.bz2 進入解壓後的busybox原始碼目錄 cdbusybox 1.13.3 2 配置busybox 步驟跟編譯linux核心時很像 makemenuconfig 出現乙個圖形介面,選擇busybox settings,這...

busybox製作根檔案系統

以前的檔案系統都是同事做好的,今天心血來潮決決定探索一下,沒想到出了問題。makefile 405 mixed implicit and normal rules deprecated syntax makefile 1242 mixed implicit and normal rules depr...