上集讲述到了通过图形化界面的文件操作系统相关设计之后,接下来继续文件操作系统的制作。

1.使用 rootfs.tar

对 SD 卡进行分区

通过 uboot 完成

第一步:SD 卡放到板子中

第二步:进入 uboot

第三步:分区,在此只分了两个分区。

fdisk -c 0 2057 0 0

文件操作系统的制作(下)_共享文件夹

第四步:把第一个分区格式化为 FAT 文件系统

fatformat mmc 0:1

文件操作系统的制作(下)_ubuntu_02

第五步:把第二个分区格式化为 EXT 文件系统

ext3format mmc 0:2

文件操作系统的制作(下)_IP_03

绿框的过程会一直持续到 16

解压 rootfs.tar 至 SD 卡中

第六步:把 SD 卡拔出,放入读卡器,识别到 Linux

sudo fdisk -l /dev/sdb

文件操作系统的制作(下)_ubuntu_04

对于我来说,红色箭头的 FAT 分区绿色箭头的 EXT 分区

注意:上图中 EXT 分区所占用的是 sdb2 这个 2 需要用在 uboot 中

第七步:将 rootfs 解压到 EXT 分区 打开 EXT 文件系统分区

文件操作系统的制作(下)_共享文件夹_05

复制 SD 卡路径

文件操作系统的制作(下)_共享文件夹_06

执行解压指令

文件操作系统的制作(下)_IP_07

将 rootfs.tar 解压到上面的 SD 卡路径

sudo tar -xf rootfs.tar -C 粘贴路径

同步,直至终端提示符弹出sync

文件操作系统的制作(下)_ubuntu_08

一直等到终端提示符弹出界面

2.创建文件系统中的控制台文件

第八步:进入 SD 卡的路径

创建控制台文件

sudo mknod dev/console c 5 1

文件操作系统的制作(下)_ubuntu_09

板子终端显示用户名和计算机名以及当前路径

sudo gedit etc/profile.d/myprofile.sh

sudo chmod 777 myprofile.sh

注意:etc 没有/,这是我们自己制作的文件系统的/路径

文件操作系统的制作(下)_ubuntu_10

SD 卡中放入内核文件

第九步:将 SD 放到读卡器

让 Windows 识别 找到最新的 zImage:存在于 Linux3.5/arch/arm/boot 放到 SD 卡中

更改 uboot 配置

第十步:将 SD 卡放到板子,重启进入 uboot

set bootargs 'root=/dev/mmcblk0p2 rootfstype=ext3 console=ttySAC0,115200 init=/linuxrc uhost0=y ctp=2 skipcali=y lcd=S70'

注意:上面的代码要保证没有换行

注意:这个 2 可以是其它的,要和 Linux 下查看到的分区/dev/sdbX,和这个

X 保持一致 例如:下图中我们使用的是/dev/sdb2,所以我的环境变量中填的是 2

文件操作系统的制作(下)_ubuntu_11

save 保存

reset 重启开发板

文件操作系统的制作(下)_IP_12

3.ubuntu 共享文件夹配置

NFS 网络服务

安装 NFS 服务插件

第一步:安装 NFS 服务插件

sudo apt-get install nfs-common nfs-kernel-server

第二步:选择一个共享文件夹 可以选择现在已经存在的,也可以选择创建一个,保存共享文件夹的路径

文件操作系统的制作(下)_ubuntu_13

第三步:将共享文件夹加入环境变量

sudo gedit /etc/exports

打开之后删除其中的内容 /home/xyd/nfs *(rw,sync,no_root_squash) → 红色部分替换为自己的共享文件夹 路径

文件操作系统的制作(下)_IP_14

第四步:更改 NFS 版本支持

sudo gedit /etc/default/nfs-kernel-server

在最后一行加上:注意是另起一行,不要覆盖第 19 行 RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"

文件操作系统的制作(下)_ubuntu_15

网络配置

第五步:配置网络

文件操作系统的制作(下)_IP_16

IP 地址: 192.168.100.15 --- 自定义 --- 例如:192.168.100.15

子网掩码: 255.255.255.0 网关: 192.168.100.15 --- X 和地址的 X 保持一致 --- 例如:192.168.100.15

文件操作系统的制作(下)_IP_17

文件操作系统的制作(下)_IP_18

文件操作系统的制作(下)_共享文件夹_19

第六步:重启 NFS 网络服务

sudo /etc/init.d/nfs-kernel-server restart

文件操作系统的制作(下)_ubuntu_20

注意:此处报错就是你的共享文件夹路径不存在

此时此刻给开发板接上网线,上电进入内核

板子端共享文件夹配置

第七步:创建共享文件夹

文件操作系统的制作(下)_共享文件夹_21

第八步:设置板子的 IP

ifconfig eth0 192.168.100.75

文件操作系统的制作(下)_ubuntu_22

第九步:挂载共享文件夹

mount -t nfs 192.168.100.15:/home/fuck/tiny4412  /nfs -o nolock

红色部分为:ubuntu 的 IP

蓝色部分为:ubuntu 的共享文件夹路径

绿色部分为:板子的共享文件夹路径

文件操作系统的制作(下)_ubuntu_23

就实现了在 ubuntu 下操作/home/xyd/nfs 就可以操作板子终端下的/nfs

注意:板子挂载完成之后重新进入 nfs 生效

4.开机自动挂载共享文件夹

在板子终端的/etc/profile.d/myprofile.sh

使用 vi 打开

vi /etc/profile.d/myprofile.sh

文件操作系统的制作(下)_IP_24

结尾添加

ifconfig eth0 192.168.100.25

mount -t nfs 192.168.100.15:/home/fuck/tiny4412 /root/nfs -o nolock

红色:Ubuntu里的IP

蓝色:板子的IP

黄色:ubuntu里的共享文件地址

绿色:板子内的共享文件地址

保存退出

使用 reboot 重启