欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Linux下制作给ARM开发板使用的文件系统

程序员文章站 2022-05-12 17:49:14
1.busybox源码请网上自行下载,编译方法请参考百度。 2.交叉编译工具链的设置也请先设置好。 如果以上1、2没有问题,那么可以使用以下脚本,制作一个给arm开发板...

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=\"[jiaobenzhijia@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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接