製作根檔案系統

2021-06-28 14:18:56 字數 3935 閱讀 1862

製作根檔案系統

目錄實驗內容2

實驗目的2

實驗材料2

實驗工具2

實驗步驟3

1、編譯/安裝

busybox

(busybox-1.16.0.tar.bz2),3

1.新增動態庫與載入器,5

3. 構建

etc目錄,6

3.1建立

etc/inittab檔案6

3.2建立

etc/fstab檔案7

3.3 建立

etc/init.d/rcs檔案7

1.構建

dev目錄,8

2.構建其他目錄,9

3.製作

yaffs

檔案系統映像檔案9

7. 移植10

能在linux2.6.32

與arm

平台執行的根檔案系統的製作

掌握簡單linux

根系統的製作過程,搭建開發平台

交叉編譯器:arm-linux-gcc-4.3.2

busybox:     

busybox-1.16.0.tar.bz2

linux作業系統:

ubuntu9.04

arm交叉編譯套件

具體步驟:

建立製作根檔案系統的路徑(假定為/root/myroot/rootfs

)#> mkdir  /root /myroot

#> mkdir  /root /myroot/rootfs

將busybox

壓縮包解壓到

/root /myroot

目錄下#>tar jxvf busybox-1.16.0.tar.bz2 -c /root/myroot/

進入解壓後軟體所在目錄

#> cd  busybox-1.16.0

修改makefile

檔案#> vi  makefile

修改前: 

190  arch            ?=  $(subarch)

164  cross_compile  ?=   

修改後:

164  cross_compile  ?=  arm-linux-

190  arch            ?=  arm

新增臨時環境變數

#> export  path=/usr/local/arm/4.3.2/bin:$path

配置busybox

#> make  menuconfig

在busybox settings  --------->

installation options  --------->

(./_install

)busybox installation prefix

輸入/root/myroot/rootfs

,其他預設原設定,儲存退出

編譯busybox

#> make

安裝busybox

#> make  install

安裝結束後,在目錄/root/myroot/rootfs/

下將生成

4個檔案:

bin、 

sbin

、 usr 

、linuxrc

具體步驟:

動態庫與載入器的位置是:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/  

注:若是4.4.3

則,位置是:

/usr/local/arm/4.4.3/arm-none-linux-gnueabi/lib

建立庫目錄

#> mkdir  –p  /root/myroot/rootfs/lib

進入lib

目錄#> cd   /root/myroot/rootfs/lib/

新增庫函式

#>  cp  /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib/*      .

具體步驟:

進入根檔案系統目錄(/root/myroot/rootfs

)#> cd  /root/myroot/rootfs/

建立etc

目錄#> mkdir  etc

進入etc

目錄#> cd  /root/myroot/rootfs/etc

建立inittab

檔案#> vi  inittab

內容如下:

#  /etc/inittab

::sysinit:/etc/init.d/rcs

::askfirst:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount  -a  -r  

進入根檔案系統etc

目錄(/root/myroot/rootfs/etc

)#> cd  /root/myroot/rootfs/etc/

建立fstab檔案

#> vi  fstab

內容如下:

# device mount-point type  options  dum  fsck order            

proc   /proc     proc   defaults  0   0

tmpfs  /tmp      tmpfs  defaults  0   0

sysfs  /sys      sysfs  defaults  0   0

建立/root/myroot/rootfs/etc/init.d

目錄#> mkdir  -p  /root/myroot/rootfs/etc/init.d

進入/root/myroot/rootfs/etc/init.d

目錄#>  cd  /root/myroot/rootfs/etc/init.d

建立etc/init.d/rcs檔案

#> vi  rcs

內容如下: #!

/bin/sh

mount  -a

echo  /sbin/mdev  >  /proc/sys/kernel/hotplug

mdev  -s      

修改檔案屬性,使之能執行

#> 

chmod +x  /root/myroot/rootfs/etc/init.d/rcs

具體步驟:

建立/root/myroot/rootfs/dev

目錄#> mkdir  /root/myroot/rootfs/dev

進入/root/myroot/rootfs/dev

目錄#> cd  /root/myroot/rootfs/dev

靜態建立裝置檔案

#> mknod  console  c  5  1

#> mknod  null     c  1  3

具體步驟:

進入/root/myroot/rootfs/

#>  cd  /root/myroot/rootfs/

建立其他目錄

#>  mkdir   proc  mnt   tmp   sys  root

具體步驟:

進入/root/myroot/

#> cd  /root/myroot/

複製製作yaffs

檔案工具

#> cp  /usr/sbin/mkyaffs2image-128m   .

製作yaffs2

映像檔案

#> ./ mkyaffs2image-128m   rootfs    root.image

最後在目錄/root/myroot/

下,生成

yaffs2

映像檔案

——root.image

將root.image

移植到開發板上,重啟即可

製作最小根檔案系統

1.dev console dev null 2.init程序 一般 於busybox 3.etc inittab 4.配置檔案指定的程式 5.c庫 1.解壓busybox tar xjf busybox 1.20.0.tar.bz2 2.配置 make menuconfig 設定交叉編譯選項cro...

busybox製作根檔案系統

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

根檔案系統的製作

靜態檔案系統的製作 一 建立掛載點ramfs 資料夾 相當u盤的名字 二 建立乙個大小6m的檔案initrd 相當與u盤的實體 dd if dev zero of initrd bs 1k count 6144 三 mke2fs f v m 0 initrd 四 掛載檔案initrd到ramfs 相...