配置uboot指定nfs挂载根文件系统】的更多相关文章

背景: 文件系统的调试也建议在 网络中进行. 概念: NFS是Network File System的缩写及网络文件系统. 要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. NFS系统和Windows网络共享.网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS nfs实现原理: 当用户读写有关的nfs下的目录, 最终由内核解析完成后驱动硬件,完成相应的操作. 1.用…
环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busybox版本:1_24_stable 交叉编译工具链:arm-linux-gnueabi- qemu版本:stable-2.4 目的 这篇博文的目的是实现NFS根文件系统的挂载.具体步骤如下. 步骤 1.参照上一篇博文,以保证Qemu的网络是可以用的. 2.配置u-boot的环境变量bootargs s…
目标板挂载根文件系统的方法有两种(这里所说的服务端就是ubuntu,Ubuntu已经成功安装了nfs服务,并且保证服务端与目标板ping 通) 第一种:等待开发板启动之后去挂载,此时文件系统从Flash中启动,然后手动的通过命令去挂载服务端的文件系统 首先修改配置文件/etc/export,在export文件中最后一行加入:[文件系统的目录]  *(rw,sync,no_subtree_check,no_root_squash) /home/linux/root_fs/first_fs/ *(r…
最近打算从头开始制作根文件系统,下面是开发过程. 一.根文件系统的制作 0.FHS(Filesystem Hierarchy Standard)标准介绍 该标准规定了根目录下各个子目录的名称及其存放的内容: 目录名 存放的内容 /bin 必备的用户命令,例如ls.cp等 /sbin 必备的系统管理员命令,例如ifconfig.reboot等 /dev 设备文件,例如mtdblock0.tty1等 /etc 系统配置文件,包括启动文件,例如inittab等 /lib 必要的链接库,例如C链接库.内…
环境:ubuntu14.04(非虚拟机),OK6410 环境搭建: (1) #sudo apt-get install nfs-kernel-server 如果已经是最新版本了,无需安装 (2) 建立nfs文件夹,在ubuntu命令行中输入, $ mkdir /nfs $ chmod 777 /nfs $ chmod  777  /nfs/* (3) 打开/etc/exports文件,在末尾加入: /nfs *(rw,sync,no_root_squash) 注:nfs允许挂载的目录及权限,在文…
当NFS跟文件系统挂载不上的时候原因很多,但有一个原因不可忽略,那就是目标板内核支持的NFS版本以及默认版本,我吃过亏,特意做个笔记: setenv bootargs console=ttySAC0 root=/dev/nfs rw nfsroot=192.168.1.103:/home/guoguo/root_qtopia,nfsvers=3 rootdelay=10 ip=192.168.1.226:192.168.1.103:192.168.1.1:255.255.255.0:SMDK24…
当开发板启动以后可以通过在超级终端发送命令来配置NFS. 首先得给开发板一个IP地址,用下面的命令配置即可: #ifconfig 192.168.0.10 经过上面的配置以后在各自的终端中应该都能PING同对方. 执行如下命令来进行NFS 共享目录挂载: # mkdir nfs //建立Linux 服务器输出共享目录的挂载点: # mount –t nfs –o nolock 192.168.0.50:/MY2410/nfs /nfs # cd /nfs # ls 此时,嵌入式目标系统端所显示的…
由于工作需要,在做app开发或系统移植时,经常需要编辑系统后重新烧写异常麻烦.通过NFS挂载根文件系统就不需要每次更改系统后再进行编译和烧写,等开发完成后一次烧写即可完成. 一.准备材料 可以根据自己的需要准备相应材料,以下是我自己使用的 开发环境:VMware 操作系统:ubuntu 开发版:100dsk_imx6ull 二.环境配置 需要在ubuntu系统上安装配置NFS和TFTP,具体教程看我之前的笔记连接如下,也可以在百度上直接搜索NFS和TFTP的安装教程. TFTP安装配置https…
linux4.14内核,首先设置kernel的bootargs,在make menuconfig中有三种方式来配置: 第一种方式为如果uboot中设置了bootargs环境变量,就采用uboot的bootargs: 第二种展示不清楚 第三种在内核中直接配置启动参数,例如根文件系统位置,等等. 因为方便多次修改bootargs,选用第一种方式,减少重复烧写. 设置uboot的bootargs: setenv bootargs 'root=/dev/nfs rw nfsroot=192.168.0.…
Qemu搭建ARM vexpress开发环境(三)----NFS网络根文件系统 标签(空格分隔): Qemu ARM Linux 经过上一篇<Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核>,已经实现了通过u-boot加载Kernel启动开发板,并且挂载根文件系统,本文讲述通过NFS网络挂载根文件系统. 通过NFS网络根文件系统,可以实现开发板在通过u-boot启动内核后,通过NFS网络在别的PC主机上挂载根文件系统.对于开发调试阶段的工作学习提供…
NFS挂载Android文件系统 [日期:2012-02-14] 来源:Linux社区  作者:cjok376240497 [字体:大 中 小]     1.安装NFS服务 $sudo apt-get install nfs-kernel-serverportmap $sudo mkdir /nfsboot $sudo vim /etc/exports / *(rw,no_root_squash,sync) 然后重启NFS服务 $sudo /etc/init.d/nfs-kernel-serve…
http://blog.csdn.net/yinjiabin/article/details/7489563 根文件系统一般包括: 1)基本的文件系统结构,包含一些必须的目录,比如:/dev,/proc,/bin,/etc,/lib,/usr,/tmp; 2)基本程序运行所需的库函数,如:libc/uC-libc; 3)基本的系统配置文件,如:rc,inittab等脚本文件; 4)必要的设备支持文件,如:/dev/hd*,/dev/tty,/dev/fdO; 5)基本的应用程序,如:sh,ls,…
NFS服务器配置正确后,使用ramfs,通过mount能够正常挂载NFS,但是作为ROOTFS无法正常挂载,显示超时. 经查看log,RPC报错-120. 分析结果: 在Ubuntu1804上,nfsserver支持v3,v4,在UBuntu1304上,nfsserver支持v2.在v2上NFS挂载正常. 结果: 降低NFS服务器版本,成功挂载. 更多尝试: 在18.04上尝试启用NFS Server V2,失败.尝试Kernel启动NFS时支持NFS V3,失败.目前还是使用了一个低版本的操作…
http://blog.csdn.net/yinjiabin/article/details/7489030 建立 nfs 服务器 在嵌入式 linux 开发的时候,常常需要使用 nfs 以方便程序的调试.使用 nfs,用户可以 将板子要用到的根文件系统放在主机目录下,开发板则通过以太网挂载到这个目录并将这个 目录下的文件作为根文件系统的内容,这样用户的程序更新后不比重新烧写板子的根文件系 统便能被重新使用,这点能够大大加快程序的调试.  Ubuntu 下安装 nfs 服务器的步骤如下:  st…
转自:http://qiuye.iteye.com/blog/543595 这类问题很常见,先总体介绍一下解决思路. 能出现让人激动的的控制台,那么系统移植已经接近完成:但是不少人在最后一步出现问题. 要点如下: 1. 在正确的位置烧写正确格式的文件系统映象: 2. 内核支持这种文件系统格式 3. 文件系统的内容要完备 上面说得简单,一个个介绍. 1. 在正确的位置烧写正确的文件系统映象: (a). 正确的位置 嵌入式开发中,常通过bootloader烧写文件系统映象,假设写在flash的地址A…
linux-2.6.36内核 start       arch/arm/boot/compressed/head.S arch/arm/kernel/head.S start_kernel()    init/main.c linux通用内核启动代码在init/main.c中: 汇编执行完后跳转到start_kernel()开始C 执行. ... setup_arch(&command_line);      //把.config中配置的CONFIG_CMDLINE赋予command_line输…
1. 通过error -6得到: #define ENXIO            6      /* No such device or address */ 2. 解决办法 使能CONFIG_BLK_DEV_RAM选项: CONFIG_BLK_DEV_RAM=y 同时请注意以下选项: CONFIG_BLK_DEV_RAM_COUNT=16 (默认值为16) CONFIG_BLK_DEV_RAM_SIZE=4096 (默认值为4096, 单位为KB(kilobytes))…
首先贴出来我的bootargs的设置(注没有换行符!!!): setenv bootargs noinitrd mem=64M root=/dev/nfs init=/linuxrc rw nfsroot=10.10.2.59:/opt/rootfs/ ip=10.10.1.156:10.10.2.59:10.10.1.1:255.255.255.0:skdkjzz:eth0:off console=ttyAMA0,115200 Linux编译生成zImage,但是uboot不能识别,uboot…
Hi!大家好,我是CrazyCatJack.又和大家见面了.今天给大家带来的是构建Linux下的根文件系统.希望大家看过之后都能构建出符合自己需求的根文件系统^_^ 1.内容概述 1.构造过程 今天给大家展示的根文件系统构造过程如下图所示: 正如大家看到的,这是一个环环相扣的过程.因为在这四个方面的内容其实相互包含,有很多交集的地方,所以我用环图给大家展示.在第一部分,我会给大家讲解如何在etc/目录下编写相应的配置文件,包含etc/init.d/rcS和etc/fstab等:在第二部分,将会教…
总体来说,嵌入式Linux内核和根文件的引导与PC机差不多.嵌入式linux内核和根文件系统可以存放在各种可能的存储设备中,一般情况下我 们将内核和根文件系统直接烧入到Flash中(包括NOR和NAND flash),这种方法的缺点是在内核和根文件系统出现修改时我们就不得不得重新对flash进行擦除和烧写工作,这个非常耗时,在产品开发调试阶段非常 不适合,只有在最终成品时才比较适用.哪在开发阶段采用哪种方式比较好呢?先还是看看现在都有些常用的存储设备吧.我们常见的存储设备有:硬盘,U 盘,SD卡…
配置编译好内核之后,将生成的内核文件uImage拷贝到/tftpboot/下,通过tftp服务器将内核下载到开发板,使用命令:tftp 31000000 uImage.下载完成之后配置bootargs环境变量:setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.1.118:/home/rootfs,proto=tcp,nfsvers=3 ip=192.168.1.1…
嵌入式系统由三部分构成: 1.bootoader---bootparameters---2.kernel 3.Root-filesysytem 一个内核可以挂载多个文件系统,但是有一个根文件系统所以叫root-filesysytem,bootloader引导程序和kernel内核程序之间有个引导参数(也叫启动参数)叫bootparameters,这里就不多介绍引导参数,这里就介绍根文件系统地制作. 1.1.创建目录,创建rootfs目录,再创建以下目录和子目录 mkdir rootfs cd r…
EASYARM-IMX283(以下简称IMX283)默认采用从nand flash启动,但是在开发过程中因为要频繁的替换内核,我们更倾向于从nfs启动. 先看看IMX283中uboot中默认采用的启动选项,内容如下: bootcmd=run nand_boot bootdelay= baudrate= ipaddr=192.168.12.62 serverip=192.168.12.61 netmask=255.255.255.0 bootfile="uImage" loadaddr=…
通过busybox制作根文件系统可以自定义选项,在制作的根文件系统中添加需要的命令,指定生成的根文件系统到相应的目录下. 一. 根文件系统的获取方式--->官网: https://busybox.net/downloads/ 二. 使用busybox制作根文件系统 第一步 生成基本命令 1. 解压 [ tar -xvf busybox-1.30.0.tar.bz2 ] 2. 配置交叉编译工具  打开busybox的顶层目录 (1) Vi  Makefile (2) 修改内容: (不修改内容编译时…
我在之前的uboot通过NFS挂载ubuntu根文件系统中也有实现过根文件系统的制作,那只是在ubuntu官网已经做好的根文件基础上安装一些自己所需的软解而已.而使用busybox制作根文件系统可以自定义选项,加深自己对linux的系统理解,方便后期学习根文件系统的裁剪. 一.下载busybox制作制作工具 官网下载地址https://busybox.net/,进入"Download Source"下载连接 根据自己的需要下载相应的版本,我下载的是"busybox-1.33.…
Linux内核与根文件系统的关系开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具.这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件.” 一.什么是文件系统文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构.Linux文件系统中的文件是数据的集合,文件系统不仅包含着文…
开篇题外话:对于Linux初学者来说,这是一个很纠结的问题,但这也是一个很关键的问题!         一语破天机: “尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具.这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件.” 一.什么是文件系统         文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构.Linux文件系统中的文件是数据的集合,文件系统不仅包含…
前言: 在这篇文章中S3C6410公版的Linux BSP和U-Boot为了分析,名词和数据文件的所有内容本文是基于环境为例,所有的代码是在设置的示例进行分析的过程中.哈. 假设有不对或者不完好的地方,欢迎前来拍砖留言或者发邮件到guopeixin@126.com进行讨论,先行谢过. 简单的来说,根文件系统包含虚拟根文件系统和真实根文件系统. 在Kernel启动的初始阶段,首先去创建虚拟的根文件系统,接下来再去调用do_mount来载入真正的文件系统,并将根文件系统切换到真正的文件系统,也即真实…
转载:http://www.cnblogs.com/hnrainll/archive/2011/06/09/2076655.html 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区的目录结构:一个可应用的磁盘设备可以包含一个或多个文件系统:如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统:为了挂载(mount)文件系统,您必须指定一个挂载点. 注:对于我们应用开发来说,购买开发板的时候,厂家会提供好现成的根文件系统和BootLoader等…
一.建立根文件系统目录与文件 1. 创建目录 #mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var #mkdir usr/bin usr/lib usr/sbin lib/modules 2. 创建设备文件 #cd rootfs/dev #mknod -m 666 console c 5 1 #mknod -m 666 null c 1 3 3. 加入配置文件 #tar etc.tar.gz #…