【嵌入式Linux】x210根文件系统制作 随堂笔记

概要

本文为自用笔记
授课人:朱有鹏
时间:2018年6月23日


注意:朱老师使用的zImage是人家自己制作之后的
笔者自己做的时候使用了九鼎移植之后的zImage,确定有实验现象。
ubuntu: /root/driver 目录下,由x210kernel.tar.bz2
windows: D:\fastboot\Kimo\zImage

自己制作的根文件系统:/root/rootfs_stu/Kimo_rootfs
我自己根文件系统的位置:/root/rootfs_stu/rootfs

什么是挂载?

譬如我们说“把我们制作的rootfs.ext2挂载到rootfs目录下去”
就是将rootfs.ext2文件 以 窗口化的方式打开,让我们方便的去访问他


2.18.3.2、动手制作ext3格式的根文件系统

(1) 创建rootfs.ext2文件并且将之挂载到一个目录下方便访问它
《参考资料:http://blog.csdn.net/zhengmeifu/article/details/24174513》

> dd if=/dev/zero of=rootfs.ext2 bs=1024 count=2048 //制作2M大小的空文件 
> losetup /dev/loop1 rootfs.ext2 // 
> mke2fs -m 0 /dev/loop1 2048 //这一步注意要看到3个完成
> mount -t ext2 /dev/loop1 ./rootfs/ //ext3不行,报错,做ext2吧

//这一步就是把我们制作的ext2挂载到rootfs目录下去。
//进入到rootfs就相当于进入到rootfs.ext2里面来。

消除错误影响:

umount /dev/loop1
losetup -d /dev/loop1

(2) 我们向镜像中写入一个普通文件linuxrc。这个文件就会成为我们制作的镜像中的/linuxrc。
内核挂载了这个镜像后就会尝试去执行/linuxrc。然后执行时必然会失败。我们将来实验看到的现象就应该是:挂载成功,执行/linuxrc失败。
touch linuxrc // 注意:这是个空的普通文件

(3) 将来真正去做有用的rootfs时,就要在这一步添加真正可以执行的linuxrc程序,然后还要添加别的/lib目录下的库文件,/etc目录下的配置文件等。

(4) 卸载掉,然后镜像就做好了。

> umount /dev/loop1
> losetup -d /dev/loop1

当我卸载了之后,进入rootfs/就什么都看不到了,因为里面的东西就已经拿走了


2.18.3.3、烧录制作的rootfs.ext3

(1)烧录过程参考裸机中第三部分的刷机过程。注意bootargs传参设置

> fastboot flash system Kimo\rootfs.ext2 set bootargs
> console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc
> rootfstype=ext2

2.18.4.nfs方式启动自制简易文件夹形式的rootfs

2.18.4.1、什么是nfs

(1) nfs是一种网络通讯协议,由服务器和客户端构成。
(2) nfs的作用。利用nfs协议可以做出很多直接性应用,我们这里使用nfs主要是做rootfs挂载。开发板中运行kernel做nfs客户端,主机ubuntu中搭建nfs服务器。在主机ubuntu的nfs服务器中导出我们制作的文件夹形式的rootfs目录,则在客户端中就可以去挂载这个文件夹形式的rootfs进而去启动系统。

注意:NFS,他在menuconfig中被认为是一种文件系统格式,而不是简单的服务

(3) 搭建nfs服务器。

【搭建nfs服务器的完整过程】
一、安装 NFS

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

二、配置/etc/exports

$ sudo vi /etc/exports

文本末添加
/root/rootfs_stu/rootfs *(rw,sync,no_root_squash,no_subtree_check)

然后在终端执行 $chmod 777 -R /root/rootfs

$ sudo showmount -e

显示 clnt-create : RPC : Program not registered
$ sudo exportfs -r 更新
$ sudo showmount localhost -e
显示
Export list for 192.168.1.116
/root/rootfs *
三、启用
$ sudo /etc/init.d/nfs-kernel-server restart 重启 nfs 服务
显示如下

  • Stopping NFS kernel daemon [ OK ]
  • Unexporting directories for NFS kernel daemon… [ OK ]
  • Exporting directories for NFS kernel daemon… [ OK ]<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谦谦青岫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值