mkyaffs2image制作根文件系统、使用NFS挂载虚拟机目录(2)

1.制作根文件系统及nfs烧写

1.1 先解压文件系统,/wok/nfs_root 目录下是已经构造好的各种文件系统: ① fs_mini.tar.bz2 是最小的根文件系统,里面的设备节点是事先建立好的; ② fs_mini_mdev.tar.bz2 是最小的根文件系统,里面的设备节点是等系统启动后使用 mdev 自动建立的; ③ fs_qtopia.tar.bz2 是 JZ2440 使用的支持触摸屏的根文件系统; ④ fs_xwindow.tar.bz2 是书上的基于 X 的根文件系统。

步骤:  

cd /work/nfs_root          // 进入nfs_root目录

mkdir  tmp                          //新建目录tmp

cp    fs_mini_mdev.tar.bz2    tmp/    // 将fs_mini_mdev.tar.bz2文件系统压缩包复制到tmp目录里(这里以fs_mini_mdev.tar.bz2文件系统为例)  

cd  tmp/                                          //进入tmp目录

sudo   tar    xjf     fs_mini_mdev.tar.bz2     //使用sudo解压 ( 因为解压出来的 dev 目录下有一些设备节点,生成它们要用到 root 权限)

1.2 解压好后,使用mkyaffs2image 工具进行制作文件系统映象文件

 由于该ubuntu里没有mkyaffs2image 工具,所以首先将Windows里的mkyaffs2image 工具复制到linux里的work/tools里,它在光盘里linux/tools 目录下 。

步骤:  

cd  /work/tools                                                //   进入刚刚复制的位置目录下

sudo   cp  mkyaffs2image   /usr/local/bin                    //将mkyaffs2image 复制到 /usr/local/bin目录里

注意:bin目录主要存放可执行命令文件,其中bin目录共有4种:

/bin:用来放置根分区/上的程序。

/sbin:用来存放系统管理程序的路径

/usr/bin:用来分发包管理器

/usr/local/bin:用来存放用户自己的程序,不受分发包管理器的控制

sudo  chmod   +x   /usr/local/bin/mkyaffs2image        //给mkyaffs2image  添加  执行命令(添加后直接输入mkyaffs2image  就可以查看使用说明)            

mkyaffs2image  fs_mini_mdev   fs.yaffs2    //  将fs_mini_mdev制作成fs.yaffs2 映像文件。                        

1.3 使用nfs烧写fs.yaffs2 映像文件

步骤:

nfs 30000000 192.168.1.106:/work/nfs_root/tmp/fs.yaffs2                    //192.168.1.106指的是虚拟机IP地址

nand erase root                                                           // 擦除root分区(root:包含文件系统等,0x30260000~0x3fffffff)

nand write.yaffs 30000000   260000   $(filesize)    // 260000:0X30000000偏移地址   $(filesize) :指定烧写的文件大小

2.使用nfs挂载虚拟机目录

步骤:

ls                                                       //查看开发板目录,其中mnt(mount)目录就是用来开发板挂载的目录

mount -t  nfs  -o  nolock,vers=2  192.168.1.106:/work/nfs_root     /mnt  //mount命令将远端虚拟机/work/nfs_root目录挂载到开发板/mnt目录里

                                                                                                         //nolock:禁用文件锁     vers=2:nfs版本协议2     192.168.1.106:虚拟机地址

如下图,挂载后,进入mnt后便可以看到虚拟机/work/nfs_root目录下文件了。

 如果挂载失败,那么是以下两个原因:

1.确定板子是否与虚拟机位于同一网段

ifconfig eth0 up                 //开启网关0,连接网线到路由器

ifconfig eth0 192.168.1.107       //设置ip,与虚拟机ip网段一样,

ping 192.168.1.106             //与虚拟机ping一下,是否已通

2.确定虚拟机是否能被挂载目录

 要使虚拟机能够被挂载目录,在/etc/exports中添加需要被挂载的目录即可

例如:

sudo vi /etc/exports                

添加以下一段内容:

/work/nfs_root   *(rw,sync,no_root_squash)   //要被挂载的目录:/work/nfs_root

sudo  /etc/init.d/nfs-kernel-sever  restart        //重启nfs服务

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏苦逼的码农

Linux养成达人4----一些相对有趣点的网络命令

这个命令的功能可以用来抓包哦。假如有用户来连接我们的Linux,我们就可以抓到各种信息,例如密码之类的。下面我来演示一下。我用window的操作系统来远程连接L...

782
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(二十五) ——Redis主从复制具体过程

《Redis设计与实现》读书笔记(二十五) ——Redis主从复制具体过程 (原创内容,转载请注明来源,谢谢) 一、PSYNC命令执行过程 ...

3415
来自专栏运维小白

Linux基础(day38)

10.32/10.33 rsync通过服务同步 rsync 通过服务的方式同步 要编辑配置文件/etc/rsyncd.conf 启动服务rsync --daem...

1786
来自专栏石瞳禅的互联网实验室

Centos下Mysql因为pid文件启动失败问题解析

不管是直接启动Mysql反馈的错误信息,还是错误日志里的报错信息,信息中都指向了Mysql的PID文件。而笔者直接去查找相应的文件,确实不存在。

742
来自专栏野路子程序员

重装系统后重新配置GIT

3357
来自专栏北京马哥教育

linux入侵的基本命令

Linux系统下基本命令: 要区分大小写 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看...

2535
来自专栏JetpropelledSnake

Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件

C:\Users\yangmingwei\PycharmProjects\yangmv> python manage.py startapp web

654
来自专栏魏艾斯博客www.vpsss.net

lnmp 环境 FTP 服务器的安装和使用

953
来自专栏宝塔面板

面板环境的安装

安装完成在浏览上打开面板的地址,登入面板,面板会自动推荐你安装环境套件,这里有两种选择,第一种是LNMP套件,第二种是LAMP套件:

892
来自专栏醉程序

CentOS7 编译安装 nginx php7

1142

扫码关注云+社区