Linux下制作给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

总结

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

(0)

相关推荐

  • Linux awk将文件某列按照逗号分隔的例子

    概述 当我们在处理线上故障的时候,经常会从数据库表查询出某个列. select product_id from order where user_id = 111; 查询出来的结果形式如下: 1 2 3 4 5 这个时候,我们通常会以 product_id in (1,2,3,4,5) 的形式去查找商品表,找出商品的详细信息.那么如何得到这个(1,2,3,4,5)呢.一种简单的做法就是利用awk. cat temp.txt | awk 'BEGIN{ORS=","} {print $0

  • Python通过paramiko远程下载Linux服务器上的文件实例

    如下所示: #!/usr/local/bin/python # encoding:utf-8 import paramiko import os HOST_IP='59.110.12.72' REMOTE_PATH='/proc' REMOTE_FILENAME='meminfo' LOCAL_PATH='./proc' USERNAME='niu' PASSWORD='123456' def remote_scp(host_ip,remote_path,local_path,file_name

  • Linux shell查找文件显示行号和对应区间的内容

    概述 有时候我们需要在一个文件大小不断变化的日志文件里,找寻一些错误信息.这个时候我们可以用如下的小技巧,找出错误日志的内容. CAT的时候显示行号 cat -n cart.log | grep "支付失败" SED找到错误日志的内容 sed -n '1000,2000p' cart.log 由于我们通过CAT命令已经知道行号了,只需要使用SED,输入一个行号的大概范围,就可以详细的展示上下文的日志内容了. 小技巧 如果公司里没有完善的查看日志的工具,例如ELK.那么借助上面的小工具,

  • python 读取Linux服务器上的文件方法

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hostname = "" port = 22 username = "" password = "" client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.Au

  • Linux内核设备驱动之proc文件系统笔记整理

    /***************** * proc文件系统 *****************/ (1)/proc文件系统的特点和/proc文件的说明 /proc文件系统是一种特殊的.由软件创建的文件系统,内核使用它向外界导出信息,/proc系统只存在内存当中,而不占用外存空间. /proc下面的每个文件都绑定于一个内核函数,用户读取文件时,该函数动态地生成文件的内容.也可以通过写/proc文件修改内核参数 /proc目录下的文件分析  /proc/$pid 关于进程$pid的信息目录.每个进程

  • Linux内核设备驱动之虚拟文件系统笔记整理

    /******************** * 虚拟文件系统VFS ********************/ (1)VFS介绍 虚拟文件系统VFS作为内核的子系统,为用户空间程序提供了文件系统的相关接口. VFS使得用户可以直接使用open()等系统调用而无需考虑具体文件系统和实际物理介质. VFS提供了一个通用的文件系统模型,该模型囊括了我们所能想到的文件系统的常用功能和行为.通过这个抽象层,就可以实现利用通用接口对所有类新的文件系统进行操作. a.调用模型 write(): 用户空间 --

  • 你可能不知道的一些linux文件权限管理方法

    为什么需要权限管理? 1.计算机资源有限,我们需要合理的分配计算机资源. 2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重要的 目录的 rwx 权限 当前用户:vagrant:vagrant 创建 testdir 目录,进入 testdir 目录内.创建文件 test. $ mkdir testdir $ cd testdir $ touch test 修改 testdir 权限为 000,尝试执行 ls testdir $ chmod 000 testdir $ ls

  • Linux命令行快速技巧之定位一个文件的方法

    我们都会有文件存储在电脑里 -- 目录.相片.源代码等等.它们是如此之多.也无疑超出了我的记忆范围.要是毫无目标,找到正确的那一个可能会很费时间.在这篇文章里我们来看一下如何在命令行里找到需要的文件,特别是快速找到你想要的那一个. 好消息是 Linux 命令行专门设计了很多非常有用的命令行工具在你的电脑上查找文件.下面我们看一下它们其中三个:ls.tree 和 find. ls 如果你知道文件在哪里,你只需要列出它们或者查看有关它们的信息,ls 就是为此而生的. 只需运行 ls 就可以列出当下目

  • Linux中查看指定文件夹内各个子文件夹内的文件数量

    count脚本 #!/bin/sh numOfArgs=$# if [ $numOfArgs -ne 1 ]; then echo -e "Usage: \nbash $0 dirForCount" exit -1 fi # args ROOTDIR=$1 # core part find $ROOTDIR -maxdepth 1 -type d | sort | while read dir; do count=$(find "$dir" -type f | wc

  • Linux系统中 /etc/fstab 文件的深入解读

    前言 [root@localhost ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Sat Nov 3 12:03:31 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more in

随机推荐