【www.hj8828.com】ubuntu下linux嵌入式开荒条件布署(转)

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

1、安装tftp

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

 

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

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

  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。
    

 

(1)安装所需的软件包

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

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

 sudo mkdir /tftpboot

 chmod 777 /tftpboot -R

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

  # /etc/default/tftpd-hpa 

   www.2cto.com  

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下载到当前目录