1:何为文件系统
NTFS、NFS、FAT32、ext32
都叫文件系统,不同的文件系统实现的源码不同
对文件的管理也不同。
文件系统总体来说就是管理文件的东西
1:知道文件的位置(各种信息)
2:知道硬盘本身的各种信息
FAT32 : 最大支持4GB单个文件的
U盘拉文件不让—镜像(Fat32)
2:NFS网络文件系统
网络:通过网络访问的文件系统
例如你们去网络吧的主机
只要有一个人跟新了游戏
所有的电脑游戏跟新
所有的电脑共享一个文件系统
NFS文件是通过网线访问特定的IP主机的某个文件夹
类似于资源的共享,这样的好处有什么用
3:为什么要选择NFS文件系统当作开发
Fat32 \NTFS直接把文件系统烧写到SD卡中
系统内核直接引导文件系统
如果向下载代码需要怎么办
需要把SD卡拔下来,放到你电脑中
把编译好的文件 .ko 放到SD卡中
你再把SD卡插入开发板中
在通过串口让开发板跑这个代码
拔插SD卡—(寿命限制)
NFS的文件系统在 可以是我的虚拟机
开发板就会当这个文件夹为自己的根目录
以后我编译完代码直接cp/mv 到那个文件夹里面
这是一个大部分人前期开发的手段
等你功能完善,再把整个文件夹打包
再放到SD卡中
这里我们再复习一下常见的文件
4: busybox
**4.1:busybox这是什么东西**
Linux操作系统除了需要内核外还需要文件系统
文件系统里面有什么—>文件(各种)
/bin : 二进制文件 ls—系统指令
ls是给谁用X86架构的Ubuntu用的
所以我们需要busybox制作专门让ARM架构用的文件
**4.2:busybox的使用方法**
配置也跟内核一样:make menuconfig
根据2-根文件系统制作6.25 - 排版来使用busybox
5:如何给开发板搭建一个网络文件系统
搭建网络文件系统我们首先需要busybox。
然后解压:
sudo tar -xvf busybox-1.21.1.tar.bz2
解压完成后我们跳到解压后的目录文件里面
busybox和内核一样里面有很多的东西,我们可以选配,选配的方法还是:
make menuconfig
注意一定要在解压后的目录里面使用
稍等一会后即可出现界面
设置共享库
Busybox Settings —>Build Options —> [*] Build shared libbusybox
空格选择 “ * ”即可
指定交叉编译链(注意 arm-linux-后面不要有空格)
Busybox Settings —>Build Options —> () Cross Compiler prefix (NEW)
按下enter添加
arm-linux-
设置安装路径(路径可以自己指定,就是接下来会安装生成的根文件系统,习惯上目录层次不要太深,方便之后使用)
Busybox Settings —>
Installation Options (“make install” behavior) —> (./install) BusyBox installation prefix(NEW)
按下enter添加路径
我在根目录下面创建了这样一个文件夹
我将安装在这个rootfs文件夹中,把路径填入即可。
添加模块指令
Linux Module Utilities->>
用空格取消下图的星号
保存退出
这样我们已近选择好了,接下来就是编译安装了
编译安装
make && make install
当你编译完成后,你会发现在你选择的安装路径的那个文件夹下面出现了4个文件夹。
到这里已经成功一小步了。
库的配置
复制命令的动态库:由于配置 busybox 时候采用动态链接方式编译,所以,要把它所依赖的动态库文件复制到安装目录 rootfs
cp /opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/ ./ -rap