上集讲述到了通过图形化界面的文件操作系统相关设计之后,接下来继续文件操作系统的制作。
1.使用 rootfs.tar
对 SD 卡进行分区
通过 uboot 完成
第一步:SD 卡放到板子中
第二步:进入 uboot
第三步:分区,在此只分了两个分区。
fdisk -c 0 2057 0 0
第四步:把第一个分区格式化为 FAT 文件系统
fatformat mmc 0:1
第五步:把第二个分区格式化为 EXT 文件系统
ext3format mmc 0:2
绿框的过程会一直持续到 16
解压 rootfs.tar 至 SD 卡中
第六步:把 SD 卡拔出,放入读卡器,识别到 Linux
sudo fdisk -l /dev/sdb
对于我来说,红色箭头的 FAT 分区绿色箭头的 EXT 分区
注意:上图中 EXT 分区所占用的是 sdb2 这个 2 需要用在 uboot 中
第七步:将 rootfs 解压到 EXT 分区 打开 EXT 文件系统分区
复制 SD 卡路径
执行解压指令
将 rootfs.tar 解压到上面的 SD 卡路径
sudo tar -xf rootfs.tar -C 粘贴路径
同步,直至终端提示符弹出sync
一直等到终端提示符弹出界面
2.创建文件系统中的控制台文件
第八步:进入 SD 卡的路径
创建控制台文件
sudo mknod dev/console c 5 1
板子终端显示用户名和计算机名以及当前路径
sudo gedit etc/profile.d/myprofile.sh
sudo chmod 777 myprofile.sh
注意:etc 没有/,这是我们自己制作的文件系统的/路径
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
save 保存
reset 重启开发板
3.ubuntu 共享文件夹配置
NFS 网络服务
安装 NFS 服务插件
第一步:安装 NFS 服务插件
sudo apt-get install nfs-common nfs-kernel-server
第二步:选择一个共享文件夹 可以选择现在已经存在的,也可以选择创建一个,保存共享文件夹的路径
第三步:将共享文件夹加入环境变量
sudo gedit /etc/exports
打开之后删除其中的内容 /home/xyd/nfs *(rw,sync,no_root_squash) → 红色部分替换为自己的共享文件夹 路径
第四步:更改 NFS 版本支持
sudo gedit /etc/default/nfs-kernel-server
在最后一行加上:注意是另起一行,不要覆盖第 19 行 RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
网络配置
第五步:配置网络
IP 地址: 192.168.100.15 --- 自定义 --- 例如:192.168.100.15
子网掩码: 255.255.255.0 网关: 192.168.100.15 --- X 和地址的 X 保持一致 --- 例如:192.168.100.15
第六步:重启 NFS 网络服务
sudo /etc/init.d/nfs-kernel-server restart
注意:此处报错就是你的共享文件夹路径不存在
此时此刻给开发板接上网线,上电进入内核
板子端共享文件夹配置
第七步:创建共享文件夹
第八步:设置板子的 IP
ifconfig eth0 192.168.100.75
第九步:挂载共享文件夹
mount -t nfs 192.168.100.15:/home/fuck/tiny4412 /nfs -o nolock
红色部分为:ubuntu 的 IP
蓝色部分为:ubuntu 的共享文件夹路径
绿色部分为:板子的共享文件夹路径
就实现了在 ubuntu 下操作/home/xyd/nfs 就可以操作板子终端下的/nfs
注意:板子挂载完成之后重新进入 nfs 生效
4.开机自动挂载共享文件夹
在板子终端的/etc/profile.d/myprofile.sh
使用 vi 打开
vi /etc/profile.d/myprofile.sh
结尾添加
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 重启