ARM下挂载NFS文件系统

在PC上交叉编译好的基于ARM架构的可执行文件可以通过串口传输,FTP服务,NFS挂载等方式放到目标ARM板上。其中NFS挂载应该是最方便的,文件一直存放在PC上,只不过目标ARM板可以通过这种方式把PC的文件系统借为己用。

以前用FriendlyARM 2440开发板无论怎么折腾都无法成功地挂载,错误信息是server denied。后来发现是因为没有开发板的root权限(板子买来的时候root密码已经被人改过),于是重新用SD卡烧写了系统,这样root用户密码初始化为空。


SD卡烧写linux系统

把Bootloader(Superboot2440.bin),Linux内核 (ZImage_X35),文件系统映像(rootfs_qtopia_qt4.img)和烧写配置文件(FriendlyARM.ini)放入到images目录下。

  • Step1:把格式化为FAT的SD卡插入电脑,把images目录全部拷到/目录下。打开FriendlyARM.ini文件修改成以下:
    #The configuration file to select and control the burn system
    USBMode = No
    Action = Install
    OS = Linux                      #烧写Linux系统
    VerifyNandWrite = Yes
    LowFormat = No
    Status Type = Beeper| LED
    # Linux part
    Linux-BootLoader = Superboot2440.bin
    Linux-Kernel = Linux/zImage_X35
    Linux-CommandLine = noinitrd
    root=/dev/mtdblock3 init=/linuxrc console=ttySAC0
    Linux-RootFs-InstallImage =Linux/rootfs_qtopia_qt4.img
  • Step2:将 SD卡插到开发板的 SD插槽上,将 S2 开关切换至 NOR一侧,然后上电开机,会听到“滴”一声开始烧写系统。
  • Step3:系统烧写完成后,会发出滴滴的声音,串口会显示“OS ‘LINUX’ Installed”,将开发板 S2 开关设置为NAND一档,重新开机即可启动新的 Linux 系统。

挂载步骤

  • PC上执行sudo apt-get install nfs-common nfs-kernel-server portmap安装NFS服务器
  • 安装完成后会在/etc目录下生成exports配置文件,它是用来设置PC允许NFS服务器分享的目录。同时可以通过命令控制NFS服务器状态。

启动服务 ` sudo /etc/init.d/nfs-kernel-server start`

停止服务 ` sudo /etc/init.d/nfs-kernel-server stop`

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

  • 编辑exports文件,设置共享目录 sudo vim /etc/exports 添加以下一行: /opt/ARM2440 *(rw,sync,no_root_squash) /opt/ARM2440是PC上的共享目录,也就是ARM可以挂载在自己某个目录下的文件系统。
  • 在ARM对应的终端上执行挂载命令 mount -t nfs -o nolock 202.201.13.205:/opt/ARM2440 /mnt,其实202.201××是PC的公网IP地址
  • [root@FriendlyARM /]# cd /mnt,进入mnt目录即可看到PC上共享目录ARM2440下的文件。这样就可以直接在PC上修改和交叉编译源代码,在ARM上执行程序。


Previous     Next
/
Published under (CC) BY-NC-SA in categories arm  tagged with