在Linux下製作一個簡單的給ARM開發板使用的檔案系統

Engineer-Bruce_Yang發表於2018-03-14

1.Busybox原始碼請網上自行下載,編譯方法請參考百度。

2.交叉編譯工具鏈的設定也請先設定好。

如果以上1、2沒有問題,那麼可以使用以下指令碼,製作一個給ARM開發板使用的檔案系統。

可以自行定製使用,加入自己的Test demo。

#!/bin/bash
#yuanxin.yang develop  2015-07-05

#檔案系統和Busybox的路徑====>可自己定製
FILESYSTEM=/Softwave/filesystem                  #定義自己製作的檔案系統存放的位置
BUSYBOX=/Softwave/arm/busybox-1.17.2			 #Busybox軟體的位置
LIBS=/usr/local/arm/4.5.1/arm-none-linux-gnueabi #交叉編譯相關的庫檔案的位置

#判斷檔案是否存在 如果存在 就刪除
if [ -d $FILESYSTEM ]
then
    rm -rf $FILESYSTEM &>/dev/null
    mkdir $FILESYSTEM &>/dev/null 
else
    mkdir $FILESYSTEM &>/dev/null 
fi

#拷貝busybox相關的檔案
if ! cp -rf  $BUSYBOX/_install/* $FILESYSTEM &>/dev/null
then
    echo "cp busybox failed..."
    exit 1
fi


#拷貝庫
if ! cp -rf $LIBS/lib/ $FILESYSTEM/ &>/dev/null
then
    echo "copy libs fair...."
    exit 1
fi

#拷貝etc
if ! cp -rf $BUSYBOX/examples/bootfloppy/etc  $FILESYSTEM &>/dev/null
then
    echo "copy etc fair..."
    exit 1
fi

#建立Linux相關目錄
cd $FILESYSTEM &>/dev/null
mkdir boot mnt root sys var net proc tmp dev home opt &>/dev/null

#修改配置檔案
echo > $FILESYSTEM/etc/fstab 

#修改etc/profile檔案
echo "# /etc/profile: system-wide .profile file for the Bourne shells" > $FILESYSTEM/etc/profile
echo "echo \"===========================\"" >> $FILESYSTEM/etc/profile
echo "echo \"Welcom to Linux System\"" >> $FILESYSTEM/etc/profile
echo "echo \"===========================\"" >> $FILESYSTEM/etc/profile
echo "export PS1=\"[yuanxin@Linux \W] # \"" >> $FILESYSTEM/etc/profile

#修改 etc/init.d/rcS
echo "#! /bin/sh" > $FILESYSTEM/etc/init.d/rcS
echo "/bin/mount -n -t proc  none /proc" >> $FILESYSTEM/etc/init.d/rcS 
echo "/bin/mount -n -t sysfs none /sys " >> $FILESYSTEM/etc/init.d/rcS  
echo "/bin/mount    -t ramfs none /dev " >> $FILESYSTEM/etc/init.d/rcS  
echo "/bin/mount -n -t ramfs none /tmp " >> $FILESYSTEM/etc/init.d/rcS  
echo "/sbin/mdev -s"                     >> $FILESYSTEM/etc/init.d/rcS   


#配置nfs服務
if ! grep "$FILESYSTEM" /etc/exports &>/dev/null
then
    echo "/filesystem *(rw,sync,no_root_squash)" >> /etc/exports
fi

#啟動服務
iptables -F &>/dev/null
service rpcbind restart 
service nfs restart 

echo "make filesystem ok....."

exit 0


相關文章