04搭建嵌入式开发环境,Window之间文件传输

日期:2019-11-13编辑作者:澳门金莎娱乐手机版

Linux,Window之间文件传输-NFS,Samba,SSH,-nfssamba

NFS
    NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。目前只支持Linux和Linux之间。前提是对方主机开启了NFS服务器。

sudo apt-get install nfs-kernel-server portmap 安装NFS服务
sudo gedit /etc/exports 修改配置文件
增加/nfs_share *(rw,sync,no_root_squash)表示可以访问
sudo /etc/init.d/nfs-kernel-server restart 重启NFS服务

从机:
mount -o rw 192.168.1.119:/nfs_share /home/local_share/
以可读写的方式(默认是只读)把 192.168.1.119主机上/nfs_share挂载到当前/home/local_share/下。

cd local_share/就可以像本地目录一样操作。

每次开机自动挂载就需要在/etc/fstab文件下面加如下一行:
192.168.1.119:/nfs_share /home/local_share nfs rw

mount -a -t nfs 让fstab对nfs的配置立即生效。

Samba
    Samba可以实现Windows系统访问Linux系统上的共享资源。
安装:sudo apt-get install samba smbclient
安装samba时会自动安装samba -commom

新建共享目录:sudo mkdir /home/share
给出所有权限:sudo chmod 777 /home/share
不然登陆的用户无法写文件

修改配置文件:sudo gedit /etc/samba/smb.conf
在末尾加入
[share] #[]里面是我们的共享名,可以配置多个
comment = This is my shared folder. #该共享的说明
path = /home/share #共享路径
writeable = yes #共享文件夹是否可写
browseable = yes #是否可浏览
guest ok = yes #跟public一样,是否允许guest用户
create mode = 0664 #创建文件权限定制
directory mode = 0775 #创建文件夹权限
valid users = user1 user2 #允许访问该共享的用户,可以写多个
invalid usrs=禁止访问的用户,root,@group,@表示组
admin users=该共享的管理者
write list=有写权限的用户

创建用户:sudo adduser smbuse 用户创建用户
添加smb用户:sudo smbpasswd -a user1
只有linux的用户才可以添加为smb用户
重启samba服务:sudo /etc/init.d/smbd restart 重启samba服务

在”运行”窗口中输入”192.168.1.4”,双击打开myshare,输入用户名和密码–>回车–>访问成功。在同一个网络也可以直接从网上邻居中看到。

其他配置参数说明:
server string = Samba Server Version %v
说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。

log file = /var/log/samba/log.%m
说明:设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。
FTP
FTP:File Transfer Protocol(文件传输协议),用于Internet上的控制文件的双向传输。
sudo apt-get install vsftpd 安装FTP服务
修改配置文件去掉下面的“#”号
local_enable=YES 允许用户登录
write_enable=YES 允许上传
sudo /etc/init.d/vsftpd restart 重启FTP服务

SSH
SSH: Secure Shell(安全外壳协议)。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
sudo apt-get install openssh-server
配置默认,安装后自动运行

Window下文件传输工具:WinSCP、Cuteftp;远程登录工具SecureCRT
Lindow下的远程登录工具可以选择C-kermit

基于立宇泰 ARMSYS2440-Ubuntu 嵌入式开发环境配置                       MSN:zhuqi428@sina.com
作者:dorfmeister                                                 2008 年 2 月 25 日            

1、安装tftp

改源

   基于立宇泰 ARMSYS2440—linux 嵌入式开发环境 ubuntu 配置
软件环境:Ubuntu 7.10
硬件环境:杭州立宇泰 ARMSYS2440
一、中文环境设置

 

配置vim

  1. 设置 ubuntu 中文现实
    点击最上面菜单 的 系统 -> 系统管理 -> 语言支持(英文菜单则是 System -> Administration ->
    Language Support),在列表中选择 Chinese 条目。同时将默认语言修改为 Chinese(中国) ,按确定
    关闭设置程序。
  2. 配置字体
        sudo fontconfig-voodoo -f -s zh_CN
  3. 安装 fcitx 输入法
        sudo apt-get install im-switch libapt-pkg-perl fcitx
        sudo im-switch -s fcitx
  4. PDF 浏览器
        sudo apt-get install acroread
    二、ubuntu 开发环境设置
          ubuntu
  5. 安裝 C/C++的 Man 手冊,。
        sudo apt-get install manpages-dev
  6. 安裝 gcc,g++,make
        sudo apt-get install build-essential
  7. 安裝头文件和库
        sudo apt-get install libc6-dev libstdc++6-4.0-dev
  8. 安装 libncurses5-dev
        sudo apt-get install libncurses5-dev
  9. 安装 gdb 调试器
        sudo apt-get install gdb
  10. 安装安装图形界面 ddd 调试器
        sudo apt-get install ddd
  11. 安装 automake 工具
        sudo apt-get install automake
        sudo apt-get install autoconf
        sudo apt-get install autogen
    *autoconf 是一个用于生成可以自动地配置软件源代码包以适应多种 UNIX 类系统的 shell 脚本的工
    具。
    *automake 是一个从文件 Makefile.am 自动生成 Makefile.in 的工具。
  12. 安装 indent
        sudo apt-get install indent
        调整 C 原始代码文件的格式。
        sudo apt-get install libtool
        GNU libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中。
  13. 安装文档
        sudo apt-get install binutils-doc cpp-doc gcc-4.0-doc gcc-doc glibc-doc libstdc++6-4.0-doc stl-manual
    cpp-4.0-doc
  14. 安装编辑器
        sudo apt-get install emacs21
    三、ubuntu 文件共享、传输设置
          ubuntu
  15. 配置 tftp
    (1)安装程序
        sudo apt-get install tftp tftpd
           前者是客户端,后者是服务程序。
    tftp 是要 inetd 来控制的, ubuntu 或 debian 类的系统,默认是没有安装 inetd 的,安装如下:
        sudo apt-get install netkit-inetd
    (2)在/目录下建一个 tftpboot, 把属性改成 777。
        cd /
        sudo mkdir tftpboot
        sudo chmod 777 tftpboot
    (3)修改/etc/inetd.conf
        tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
    (4)重新加载 inetd 进程
        sudo /etc/init.d/inetd reload
    (5)测试
        在/tftpboot 文件夹下新建立一个文件
        touch aaa
        进入用户文件夹
        cd /home/user1/
        tftp localhost
        tftp> get aaa
  16. 配置 Samba
    (1)安装 samba
       sudo apt-get install samba
    (2)创建和配置共享文件夹
       mkdir /home/user1/share
       chmod 777 /home/ user1/share
    (3)备份并编辑 smb.conf 允许网络用户访问
       sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
       sudo gedit /etc/samba/smb.conf
    找到
       ; security = user
    替换为
       # security = user
       security = user
       username map = /etc/samba/smbusers
    找到
       workgroup = MSHOME
    替换为
       workgroup = WORKGROUP
       display charset = UTF-8
       unix charset = UTF-8
       dos charset = cp936
    在最后添加:
       [winshare]
       comment = Shared Folder with username and password
       path = /home/user1/share
       public = yes
       writable = yes
       valid users = network
       create mask = 0700
       directory mask = 0700
       force user = nobody
       force group = nogroup
       available = yes
       browseable = yes
    (4)添加 network 这个网络访问帐户
    代码:
       sudo useradd network
       sudo smbpasswd -a network
       sudo gedit /etc/samba/smbusers
    添加:
       system_username = “shijian”
       network = "network"
    (5)重启 samba
       sudo /etc/init.d/samba restart
    这样就可以在其他 windows PC 下访问本机 ubuntu 的共享
    (6)ubuntu 访问其他 windows 的方法
    使用快捷键 ALT+F2.
    输入"smb://IP 地址",回车
  17. 配置 NFS
    (1)安装 NFS
    Debian/Ubuntu 上默认是没有安装 NFS 服务器的,首先要安装 NFS 服务程序:
       sudo apt-get install nfs-kernel-server
    (安装 nfs-kernel-server 时,apt 会自动安装 nfs-common 和 portmap)
    (2)配置/etc/exports
    NFS 挂载目录及权限由/etc/exports 文件定义
    将/armsys2440/root 目录让 192.168.0.*的 IP 共享, 则在该文件末尾添加下列语句:
       /armsys2440/root 192.168.2.*(rw,sync,no_root_squash)
    或者:
       /armsys2440/root 192.168.0.0/24(rw,sync,no_root_squash)
    运行
       sudo exportfs -r
    更新
    运行
       sudo /etc/init.d/nfs-kernel-server restart
    重启 nfs 服务
    (3)测试 NFS
    可以尝试一下挂载本地磁盘(假设本地主机 IP 地址为:192.168.0.1,将/home/zp/share 挂载到/mnt)
       sudo mount -t nfs 192.168.0.1: /armsys2440/root /mnt
    运行 $ df 看看结果
       sudo umount /mnt
    可以使用一定的参数:
       mount -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.2.130:/tmp/ /tmp/
    (4)客户端挂载远程共享
       mount -t nfs 192.168.0.***:/home/***/share /mnt/share
  18. 配置 minicom
    安装 minicom
       sudo apt-get install minicom
    四、交叉编译环境设置
    安装交叉编译器
       sudo mkdir /us r/local/arm
       cd /user/local/arm
       sudo tar zxvf /home/usr/arm-linux-toolchains.tgz
    请在执行完成后查看是否存在/usr/local/arm 文件夹。
    把交叉编译器的路径加入到 PATH,以方便使用:
       sudo vi /etc/bash_bashrc
    加入如下代码:
       if [ -d /usr/local/arm ] ; then
       PATH=/usr/local/arm/2.95.3/bin:"${PATH}"
       fi
    五、uboot
          uboot
          uboot,内核,文件系统
       1. uboot 编译
    建立 armsys2440 目录,将光盘中的 Linux / u-boot / uboot.tar.gz 拷贝到 armsys2440 下,并解压缩:
       cd /armsys2440
       tar xvzf uboot.tar.gz
    得到 uboot 目录,如果你需要编译它,按照以下步骤:
       cd uboot
       make distclean
       make smdk2440_config
       make
        2. 内核编译
    (1)解压
       cd armsys2440
       tar xzvf /mnt/cdrom/linux/kernel/kernel-armsys2440-xxxxxx.tgz
    (2)配置
    命令行如下:
       cd /armsys2440/kernel2440
       make menuconfig
    (3)编译
    命令行如下:
       make clean
       make dep
       make zImage
    编译结束后将在 kernel/arch/arm/boot 和/tftpboot 目录下得到 linux 内核压缩映像文件:zImage。
     3.文件系统
    新建/armsys2440/root 目录,将光盘中 Linux/rootfilesystem/ root_armsys2440_0.1_yaffs.tgz 压缩文件拷
    贝到这个目录下,然后再解压缩,得到根文件系统所需要目录。将 root_armsys2440_0.1.tgz 压缩文件
    更名为 root_armsys.tgz。
    

在嵌入式开发时,可以通过tftp(简单文件传输协议)传输项目到目标机运行。

sudo vim /etc/vim/vimrc

 

  • set number
  • set autoindent
  • set smartindent
  • set tabstop=4
  • set incsearch

(1)安装所需的软件包

 

 sudo apt-get install tftp-hpa tftpd-hpa openbsd-inetd xinetd

安装g++

(2)在根目录下创建目录tftpboot(该文件夹用于存放传输的文件)

配置samba

 sudo mkdir /tftpboot

  • 1.先安装程序包
  • sudo apt-get install samba
  • sudo apt-get install smbfs
  • 2.备份并编辑smb.conf允许网络用户访问
  • sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
  • sudo gedit /etc/samba/smb.conf
  • 找到#security = user 这行,用下面两行取代:
  • security = user
  • username map = /etc/Samba/smbusers
  • 将下列几行新增到文件的最后面,假设允许访问的用户为:shn。而文件夹的共享名为 shn
  • [shn]
  • comment = linux on shn
  • path = /home/shn/samba
  • browseable = yes
  • writable  = yes
  • public =  no
  • valid users = shn
  • 3,还是接上面在smb.conf中把这里改一下,找到[global]把 workgroup = MSHOME 改成如下代码:(注意这workgroup要和windows下的workgroup一致!)
  • workgroup = WORKGROUP
  • display charset = UTF-8
  • unix charset = UTF-8
  • dos charset = cp936
  • 4.现在要添加shn这个网络访问帐户。
  • sudo smbpasswd -a shn
  • 删除网络使用者的帐号的命令把上面的 -a 改成 -x
  • 5.重启samba服务
  • sudo /etc/init.d/samba restart

 chmod 777 /tftpboot -R

配置nfs

(3)更改配置文件/etc/default/tftpd-hpa

  • sudo apt-get install nfs-kernel-server
  • sudo vim /etc/exports
  • home/shn/mnt *(rw,sync,no_root_squash)

  # /etc/default/tftpd-hpa 

配置ssh

   www.2cto.com  

  • sudo apt-get install openssh-server

TFTP_USERNAME="root"

安装交叉编译环境

TFTP_DIRECTORY="/tftpboot"

更改终端缓存

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="-l -s -c"

改成上面这样,TFTP_USERNAME是用户名,TFTP_DIRECTORY是存放文件的路径

(4)启动tftp服务

sudo service tftpd-hpa restart

启动和停止对应的是start和stop

(5)确认tftp服务是否开启

你netstat -a | grep tftp

如果出现下面这样,则表示已成功开启

udp    0   0 *:tftp     *:*

 

(6)验证tftp是否生效

上传文件:

切换到/home/用户/ 下并创建test.txt文件

tftp 127.0.0.1

tftp> put test.txt

tftp>quit

 

此时/tftpboot目录下应该有test.txt文件了

下载文件:

tftp 127.0.0.1

tftp> get test.txt

tftp>quit  www.2cto.com  

就可以把test.txt下载到当前目录

 

2、安装NFS

嵌入式开发时,nfs(网络文件系统)可以实现主机和开发板共享文件

(1)安装所需软件包

 sudo apt-get install nfs-common nfs-kernel-server portmap

(2)配置

   sudo vim /etc/exports

增加下面这一行内容:

/home/alexzhou *(rw,sync,no_root_squash)

 ps:/home/alexzhou: 表示共享的目录

  * :允许所有的网段访问,也可以设置成某一个ip段,如192.168.0.*

  rw :读写权限

  sync:资料同步写入内在和硬盘

  no_root_squash:nfs 允许客户端共享目录所有者权限

(3)启动服务

sudo /etc/init.d/portmap restart            --重启portmap

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

sudo /etc/init.d/nfs-kernel-server status   --查看nfs状态

也可以使用:netstat -a | grep nfs 查看  www.2cto.com  

 

(4)测试NFS

在/mnt下创建nfs目录

 sudo mkdir /mnt/nfs 

将主机/home/alexzhou目录挂载到/mnt/nfs下                       

sudo mount -t nfs 127.0.0.1:/home/alexzhou /mnt/nfs

查看/mnt/nfs目录下所有的文件,跟/home/alexzhou目录下的文件一样

 ls -l /mnt/nfs/  

卸载:

 sudo umount /mnt/nfs/

 

3、安装Samba

安装Samba可以实现linux下文件和window共享,这样window就可以操作linux的文件了。

(1)关闭防火墙

sudo ufw disable

(2)先卸载samba-common

    sudo apt-get remove samba-common

    安装samba服务器

    sudo apt-get install samba

 (3)修改配置文件

    sudo vim /etc/samba/smb.conf

    在末尾增加如下内容

[root]  www.2cto.com  

   comment = rootdir

   browseable = yes

   writeable = yes

   path = /

   valid users = smb

 

  (4)添加samba用户

    sudo useradd smb

    sudo smbpasswd -a smb

    输入自己想要设置的密码即可

 

    (5)重新启动samba服务器

    sudo /etc/init.d/smbd restart

    sudo ps aux | grep smbd       --查看samba是否启动,可以看到0:00 smbd -F

 

    (6)测试

    在window下的“运行”中输入\192.168.xx.xx(ubuntu系统的ip,使用ifconfig可查看)然后点击确定,

    可以看到有个root文件夹,双击root文件夹,输入用户名smb和第(4)步设置的密码

    就可以看到ubuntu根目录下的东西了。  www.2cto.com  

(如果提示没有权限,则可以在根目录新建一个文件夹,并赋予相应的权限,

如:sudo mkdir windows_share

sudo chmod 777 windows_share -R

此时就可以在windows_share目录下添加文件了)

 

4、安装Wireshark

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料

 

(1)安装

sudo apt-get install wireshark

(2)启动

在命令行直接输入:wireshark

 

 

 

作者 zhoujianghai

在嵌入式开发时,可以通过tftp(简单文件传输协议)传输项目到目标机运行。 (1)安装所需的软件包 sudo apt-get install tftp-hpa...

本文由澳门金莎娱乐网站发布于澳门金莎娱乐手机版,转载请注明出处:04搭建嵌入式开发环境,Window之间文件传输

关键词:

tp5快速入门,入门第一课

ThinkPHP5的安装使用/tp5快速入门,thinkphp5tp5 点击进入视频教程 一 安装 一、安装 1、简介 TP5是一个快捷,简单的基于...

详细>>

它的未来如何,运维新姿势

AIOPS是什么,它的未来如何?,AIOPS未来 AIOps,也就是基于算法的IT运维(Algorithmic ITOperations),是由Gartner定义的新类...

详细>>

浪潮这次要火力全开,浪潮云海OS助力打造嘉应学

浪潮云海OS助力打造嘉应学院数字化校园 当今的数据中心发展,已经不再是单纯的服务器、存储、网络设备的堆叠,...

详细>>

普通机房和模块化机房到底有什么不同,怎样的

德讯DCIM技术方案为数量核心提供全套智能化处理 如今,国内金融商场稳步完备开放,金融国际化趋向加快,中中原人...

详细>>