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服务

 

mkyaffs2image制作根文件系统、使用NFS挂载虚拟机目录(2)的更多相关文章

  1. tiny4412 busybox制作根文件系统rootfs nfs 挂载 ubuntu 14.04

    http://blog.csdn.net/liudijiang/article/details/50555429(转) 首先得要有制作好的uboot和linux内核镜像zImage,先烧录到sd卡里, ...

  2. mini6410基于linux2.6.36内核通过NFS启动根文件系统总结(四制作根文件系统及通过NFS挂载文件系统)

    http://blog.csdn.net/yinjiabin/article/details/7489563 根文件系统一般包括: 1)基本的文件系统结构,包含一些必须的目录,比如:/dev,/pro ...

  3. 使用Busybox-1.2.0制作根文件系统

    使用Busybox-1.2.0制作根文件系统 cross-3.3.2 make-3.8.1 STEP 1: 创建根文件系统目录,主要包括以下目录/bin,/etc,/dev,/mnt,/sbin,/u ...

  4. 通过busybox制作根文件系统

    通过busybox制作根文件系统可以自定义选项,在制作的根文件系统中添加需要的命令,指定生成的根文件系统到相应的目录下. 一. 根文件系统的获取方式--->官网: https://busybox ...

  5. 通过busybox制作根文件系统详细过程

    我在之前的uboot通过NFS挂载ubuntu根文件系统中也有实现过根文件系统的制作,那只是在ubuntu官网已经做好的根文件基础上安装一些自己所需的软解而已.而使用busybox制作根文件系统可以自 ...

  6. 利用busybox制作根文件系统

    实际项目中可以使用Buildroot制作根文件系统 1.busybox源码下载及配置 https://busybox.net/downloads/ 1.1.修改Makefile (1) ARCH = ...

  7. Linux制作根文件系统笔记

    测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 交叉编译器:arm-linux-gcc 4.4.4 Bus ...

  8. 第4阶段——制作根文件系统之分析init进程(2)

    本节目标: (1) 了解busybox(init进程和命令都放在busybox中) (2) 创建SI工程,分析busybox源码来知道init进程做了哪些事情 (3)  分析busybox中init进 ...

  9. 第4阶段——制作根文件系统之分析init_post()如何启动第1个程序(1)

    本章学习如何启动第一个应用程序 1.在前面的分析中我们了解到,在init进程中内核挂接到根文件系统之后,会开始启动第一个应用程序: kernel_init函数代码如下: static int __in ...

随机推荐

  1. 如何发布自己的开源框架到CocoaPods【转】

    在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...

  2. React Native 系列(六) -- PropTypes

    前言 本系列是基于React Native版本号0.44.3写的.在我们之前的通过props实现组件间传值的时候,大家有没有发现在父组件传递值过去,在子控件获取props的时候没有提示,那么如何能实现 ...

  3. 基于ubuntu14视觉识别乒乓球_1

    串口通信,opencv3.0 窗口大小可调 编译 cmake ../ make ./color 正常光线下运行比较稳定,找圆比较准确.程序设置了圆的半径区间以及圆心最小间距,以满足产品的需求,可自行修 ...

  4. C语言程序设计进阶 翁恺 第4周编程练习

    第4周编程练习 查看帮助 返回 第4周编程练习 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业 ...

  5. ssh相关问题

    问题1 一般错误信息为:ssh: connect to host localhost port 22: Connection refused 这种错误很主要的一个原因是sshd服务没有启动,先启动ss ...

  6. 浅谈分析表格布局与Div+CSS布局的区别

    (1)表格布局 表格布局容易掌握,布局方便.但表格布局需要通过表格的间距或者使用透明的gif图片来填充布局板块间的间距,这样布局的网页中表格会生成大量难以阅读和维护的代码:而且表格布局的网页要等整个表 ...

  7. Go基础

    Go编程基础 package 别名 当使用第三方包时,包名可能会非常接近或者相同,此时就可以使用别名来进行区别和调用 //当前程序的包名 package main //导入其他的包 import &q ...

  8. 老司机和你深聊 Kubenertes 资源分配之 Request 和 Limit 解析

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯云容器服务团队 Kubernetes是一个容器集群管理平台,Kubernetes需要统计整体平台的资源使用情况,合理地将资源分配 ...

  9. Json安全

    1.不要使用顶级JSON数组,避免被<script>标签引用. 2.使用POST+密钥获取JSON,尽量不要用GET方式. 3.不要使用eval()将对象放入内存,eval()会执行所传入 ...

  10. 【SVN】手动删除svn元信息

    工作中当重建svn仓库,需要把之前的项目导入到新的仓库中,熟悉又快捷的方式是项目上右键->Team断开连接->删除元信息,然后项目右键->Team>Share Project- ...