作者 : 万境绝尘

博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237

一. 相关工具下载

嵌入式开发工具包 :

-- 下载地址http://download.csdn.net/detail/han1202012/8321641

二. Linux 网络配置

1. Vmware 网络配置

(1) 网络设置简介

右键点击虚拟机 -> 选择设置 :

虚拟机设置对话框 : 选择网络适配器选项, 可以看到 Vmware 有三种网络模式;

-- 桥接模式 (briged) : 连接物理网络;

-- 网络地址转换模式 (NAT) : 共享主机 IP 地址;

-- 主机模式 (host-only) : 与主机共享专用网络;

(2) 桥接模式 (bridge)

桥接模式图示 :

桥接模式简介 :

-- 使用场景 : 路由器能提供多余的 IP 地址, 虚拟机将会分配到一个 IP 地址访问外网;

-- 使用效果 : 虚拟机可以获取到独立 IP 地址, 局域网内的计算机B 也能访问虚拟机;

(3) 主机模式

主机模式图示 :

主机模式简介 :

-- 使用场景 : 安装虚拟机的主机没有联网的情况, 使用主机模式;

(4) 网络地址转换模式 (NAT)

NAT 图示 :

NAT 模式简介 :

-- 使用场景 : IP 地址有限的情况下, 局域网内 IP 地址紧张, 虚拟机分到 IP 地址导致其他人上不了网;

-- 使用效果 : 虚拟机没有独立 IP, 与主机共享一个 IP地址, 外部的计算机无法访问虚拟机;

(5) 注意事项

注意 : 修改虚拟机的任何配置, 需要将虚拟机关机, 修改后再开机;

使用桥接模式 : 在嵌入式开发中, 我们使用桥接模式;

2. Linux 网络设置

网络设置常用命令 :

-- 查看所有网卡 : ifconfig, 查看目前激活的各个网卡;

-- 重启所有网卡/etc/init.d/network restart, 重启各个网卡;

(1) 配置网卡

执行命令/etc/init.d/network restart;

-- 结果 : 出现错误;

解决错误 : 根据错误提示

-- 提示 : 错误:断开设备 'eth0'(/org/freedesktop/NetworkManager/Devices/0)失败:This device is not active;

-- 停止 NetworkManager 服务 : 执行 service NetworkManager stop 命令;

-- 再次重启网卡 : 执行 /etc/init.d/network restart 命令;

-- 再次查看网卡信息 : 使用 ifconfig 命令, 发现 eth0 网卡没有启动;

-- 配置 eth0 : 配置 /etc/sysconfig/network-scripts/ifcfg-eth0 文件, 将 ONBOOT="no" 改为 ONBOOT="yes" ;

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:0C:29:93:51:86"
NM_CONTROLLED="yes"
ONBOOT="no"
TYPE="Ethernet"
UUID="515b3e5f-4ce8-4a57-ba2c-ef79c6454e3d"

-- 重启网卡 : 执行 /etc/init.d/network restart 命令,  使用 ifconfig 命令;

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:93:51:86
          inet addr:192.168.0.111  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe93:5186/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:391 errors:0 dropped:0 overruns:0 frame:0
          TX packets:266 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:196463 (191.8 KiB)  TX bytes:27400 (26.7 KiB)
          Interrupt:19 Base address:0x2024 

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3238 (3.1 KiB)  TX bytes:3238 (3.1 KiB)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:3A:DA:B0
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:4071 (3.9 KiB)

验证网络

-- 在虚拟机中 Ping 百度

-- 虚拟机中 Ping windows :

-- 在 windows Ping 虚拟机 :

(2) 各网卡介绍

网卡简介 :

-- eth0 : 系统中的第一块物理网卡;

-- lo : 虚拟的回环网卡, 是用软件模拟出来的, 无法连接外部网络;

-- virbro : 虚拟网桥;

三. 远程登录 Linux 系统

1. 登录前提 (必须满足)

(1) 保证Linux 和 Windows 之间Ping通

查看 Linux 和 Windows 地址 :

-- Windows : 命令行执行 ipconfig 命令, IP 地址是 192.168.1.110;

-- Linux : 执行 ifconfig 命令, IP 地址是 192.168.1.111;

Windows 和 Linux Ping :

-- Windows : 执行 ping 192.168.0.111 命令;

-- Linux : 执行 ping 192.168.0.110 命令;

(2) 关闭防火墙

关闭防火墙 :

-- 命令/etc/init.d/iptables stop;

2. 使用 Putty 远程登录

Putty 远程登录 :

-- 设置 Putty : 打开 Putty 并设置 IP 地址 (Linux IP地址), 端口号 22, 登录方式 SSH;

-- 安全警告 : 点击 "打开" 按钮, 弹出下面对话框, 点击 "是";

-- 输入密码 : 在 "login as :" 后输入 root, 以 root 用户登录, 之后输入密码即可登录 Linux 系统;

3. 使用 VNC 远程登录 Linux

(1) 从光盘安装 tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686.rpm 包

找到包 : 加载光盘镜像, 从光盘镜像 中的 Packages 中找到 tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686.rpm 包;

安装包 :

-- 双击安装 : 确认继续;

-- 确认安装 :

-- 软件包已经安装 : 不再需要安装;

(2) 开启 VNC 服务

设置密码 : 执行 vncserver 命令, 会提示设置密码, 输入两次密码 之后即可开启 VNC 服务;

-- 注意 : localhost.localdomain:1, 冒号后面的数字是 1, 这个需要用到;

Widows 下使用 VNC 客户端登陆 :

-- VNC 配置 : VNC 登陆地址是 192.168.0.111:1 ;

-- VNC 密码 : 输入刚才设置的密码;

-- 登陆Linux图形化界面 :

作者 : 万境绝尘

博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237

四. Linux 与 Windows 文件共享

1. 文件共享前提 (必须满足 Ping | 防火墙 | SELinux)

(1) Ping 通 | 防火墙关闭

前提 : 该前提 与 远程登录 Linux 前提相同, 即 Linux 防火墙关闭, Windows 与 Linux 能互相 Ping 通;

(2) 关闭 SELinux 模块

执行 setenforce permissive 命令即可, 否则在 Samba 登录时会出现如下错误 :

2. WinSCP 实现文件共享

使用 SCP 工具共享文件 :

-- 配置 SCP : 按照下面的设置, 协议选择 SFTP, 端口号 22, Linux IP 地址 以及 Linux root 用户密码;

-- 警告 : 选择 Yes;

-- 文件界面 : 左侧是 Windows 文件系统, 右侧是 Linux 文件系统;

-- 文件拷贝 : 直接在上面的界面拖动即可;

3. 使用 Samba 实现 Windows 与 Linux 文件共享

(1) 从光盘镜像中安装 Samba 服务器

安装过程 :

-- 挂载光盘 : 使用 mount /dev/cdrom /mnt/ 命令, 挂载光盘镜像到 /mnt 目录;

-- 安装文件 : 进入 /mnt/Packages 目录下, 使用 rpm -ivh samba-3.5.10-125.el6.i686.rpm 命令安装 Samba 服务器;

(2) Linux 配置 (创建Samba用户 | 配置Samba | 设置 Samba密码 | 重启 Samba)

创建 Samba 用户 :

-- 创建用户 : 使用 useradd samba 命令, 创建一个 samba 用户, 用户名随意;

-- 设置密码 : 使用 passwd samba 命令, 设置 samba 用户密码;

设置 samba 密码 : 使用 smbpasswd -a samba 命令;

配置 Samba : 编辑 /etc/samba/smb.conf 文件, 加入如下内容;

[root]
	comment = Root Directories
	path = /
	browseable = yes
	writable = yes
	valid users = samba

-- path : 可以访问的目录;

-- valid users : 访问用户 即上面我们创建的用户;

重启 Samba 服务 : 执行 /etc/init.d/smb restart 命令;

(3) Windows 访问 Samba 服务器

Windows 访问 Samba :

-- 浏览器登陆 : 在浏览器地址栏输入 \\192.168.0.111 (这是 Linux IP 地址), 对话框中输入 samba 用户名 和 对应的用户密码;

-- 文件共享目录 : samba 目录就是 /home/samba 目录, root 需要以 root 用户登录上面的对话框;

4. 使用 Vmware Tools 实现文件共享

安装 Vmware Tools :

-- 加载 Vmware Tools 镜像 : 点击 "菜单" --> "虚拟机" --> "安装 Vmware Tools" 按钮;

-- 镜像内容 : 拷贝 VMwareTools-9.6.2-1688356.tar.gz 并解压;

manifest.txt     VMwareTools-9.6.2-1688356.tar.gz  vmware-tools-upgrader-32
run_upgrader.sh  vmware-tools-upgrader-64

-- 解压后的目录 : vmware-tools-distrib, 进入该目录;

[root@localhost vm_tools]# cd vmware-tools-distrib/
[root@localhost vmware-tools-distrib]# ls
bin  doc  etc  FILES  INSTALL  installer  lib  vmware-install.pl

-- 安装 Vmware Tools : 执行 ./vmware-install.pl 命令, 一路回车, 重启即可;

五. TFTP 与 NFS 服务器配置

1. TFTP 服务器

(1) 前置条件 (Ping | 防火墙 | SELinux)

前置条件 :

-- Ping 通 Windows : ping 192.168.0.110;

-- 关闭防火墙/etc/init.d/iptables stop;

-- 关闭SELinuxsetenforce permissive;

(2) 从光盘映像安装 TFTP 服务器

安装 TFTP 服务器 :

-- 挂载光盘映像 : 使用 mount /dev/cdrom /mnt 命令;

-- 安装 TFTP 服务器 : 使用 rpm -ivh /mnt/Packages/tftp-server-0.49-7.el6.i686.rpm 命令, 出现错误, 依赖 xinetd;

-- 安装 xinetd : 使用 rpm -ivh /mnt/Packages/xinetd-2.3.14-34.el6.i686.rpm 命令;

-- 安装 tftp 服务器 : 使用 rpm -ivh /mnt/Packages/tftp-server-0.49-7.el6.i686.rpm 命令;

(3) 配置 TFTP 服务器

配置 TFTP 服务器 : 编辑 /etc/xinetd.d/tftp 文件, 进行下面的配置;

-- disable : 改为 no;

-- server_args : 可以修改 tftp 服务器目录, 这里改为 /tftp 目录;

# default: off
# description: The tftp server serves files using the trivial file transfer \
#	protocol.  The tftp protocol is often used to boot diskless \
#	workstations, download configuration files to network-aware printers, \
#	and to start the installation process for some operating systems.
service tftp
{
	socket_type		= dgram
	protocol		= udp
	wait			= yes
	user			= root
	server			= /usr/sbin/in.tftpd
	server_args		= -s /tftp
	disable			= no
	per_source		= 11
	cps			= 100 2
	flags			= IPv4
}

-- 重启 tftp 服务 : 使用 /etc/init.d/xinetd restart 命令;


(4) 验证 TFTP 服务


Windows 启动 tftpd32.exe
-- 输入参数

-- 下载文件
 
-- 查看文件 : Windows 与 Linux 中的文件对比, 发现相同, tftp 服务器可用;


2. NFS 服务器

配置 NFS 服务器 :

-- 编辑 /etc/export 文件 : 该文件是空白文件, 添加 /tmp *(rw,sync,no_root_squash) 内容;

-- 配置解析 : /tmp 表示共享目录, * 表示允许访问共享目录的主机 IP, 也可以是 192.168.0.* 等内容, rw 表示可读写权限, sync 写回原目录, no_root_squash 享有root权限;

-- 重启 NFS 服务器 : 使用 /etc/init.d/nfs restart 命令;

六. OK6410-A 开发板串口连接

1. Windows 调试开发板

(1) 安装串口驱动

串口驱动 : 使用 USB 转串口线连接开发板, 在 "设备管理器" 中查看串口驱动, COM7 口;

(2) 使用 SecureCRT 连接开发板

SecureCRT 连接 :

-- 配置登录选项 : 协议选择 "Serial", 端口与驱动中的端口相同, 波特率 115200, 数据位 8,  取消流控;

-- 进入终端 :

-- 启动开发板 : 连接成功;

七. OK6410-A 开发板 烧写 Linux 操作系统

1. 制作SD卡启动盘

使用 Linux 烧写工具, 将 mmc_ram256.bin 烧写到 SD 卡中;

烧写SD卡启动盘流程 :

-- 格式化 SD 卡 : 先将SD卡格式化;

-- 烧写文件 : 将 mmc_ram256.bin 文件烧写到 SD 卡中;

关于 win 10 系统烧写错误 : 出现 write sd error 错误解决方案;

-- win 10 系统普通模式运行 (管理员身份) :

-- 设置 win7 兼容模式 : 右键点击属性, 设置 win7 兼容模式;

-- win 10 系统 兼容模式运行 (管理员身份) : 多了一个 format 按钮, 此时使用该 format 按钮之后再烧写, 就能烧写成功;

2. 使用 USB 烧写 u-boot

(1) 串口操作

使用 SecureCRT 连接串口 :

-- 选择从 USB 烧写映像 : User Menu for OK6410 中选择 3;

-- 选择烧写 u-boot : Select the fuction 中选择 1;

-- 烧写完毕后的串口信息 :

(2) Linux 操作



虚拟机设置 USB 连接 : 虚拟机右下角找 Samsung SEC USB 接口, 右键点击连接, 虚拟机 Linux 即可连接 开发板 USB 下载接口;
  

下载流程
-- 加载 dnw 驱动 : 使用 insmod dnw_usb.ko 命令;

-- 烧写 u-boot : 使用 ./dnw u-boot_ram256.bin 50000000 命令, 烧写 u-boot 到nand flash 中;



3. 使用 USB 烧写 内核

(1) 串口操作

使用 SecureCRT 连接串口 :

-- 选择从 USB 烧写映像 : User Menu for OK6410 中选择 3;

-- 选择烧写 u-boot : Select the fuction 中选择 2;

-- 烧写完毕后的串口信息 :

(2) Linux 操作



虚拟机设置 USB 连接 : 虚拟机右下角找 Samsung SEC USB 接口, 右键点击连接, 虚拟机 Linux 即可连接 开发板 USB 下载接口;
  

下载流程 : 
-- 加载 dnw 驱动 : 使用 insmod dnw_usb.ko 命令;

-- 烧写 zImage : 使用 ./dnw zImage 50000000 命令, 烧写 zImage 到nand flash 中;



4. 使用 USB 烧写 文件系统

(1) 串口操作

使用 SecureCRT 连接串口 :

-- 选择从 USB 烧写映像 : User Menu for OK6410 中选择 3;

-- 选择烧写 u-boot : Select the fuction 中选择 3;

-- 烧写完毕后的串口信息 :

(2) Linux 操作



虚拟机设置 USB 连接 : 虚拟机右下角找 Samsung SEC USB 接口, 右键点击连接, 虚拟机 Linux 即可连接 开发板 USB 下载接口;
  

下载流程 : 
-- 加载 dnw 驱动 : 使用 insmod dnw_usb.ko 命令;

-- 烧写 文件系统 : 使用 ./dnw rootfs.yaffs2-nand2g 50000000 命令, 烧写 文件系统 到nand flash 中;



作者 : 万境绝尘

博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237

【嵌入式开发】嵌入式 开发环境 (远程登录 | 文件共享 | NFS TFTP 服务器 | 串口连接 | Win8.1 + RedHat Enterprise 6.3 + Vmware11)的更多相关文章

  1. Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器

    修改root用户密码 打开终端,输入 sudo passwd root 指令: 安装SSH服务 ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改 查看服务器否开启:ne ...

  2. Eclipse 远程开发插件 RSE 及远程登录

    Eclispe 使用私钥登录远程服务器 生成私钥 Window --> Preference --> SSH2 --> Key Management --> Generate ...

  3. 【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42239705  参考博客 : [嵌入式开发]嵌入式 开发环境 (远 ...

  4. 远哥谈 使用WebSocket开发在线实时看远程服务器log日志的工具

    我们开发软件的,通常会有一个测试环境/开发环境,但是系统开发完成后,还会有一个生产环境,也叫正式环境.正式环境我们一般是不能让开发人员去远程登录和维护的,一般正规的生产环境是专门的负责人员去负责更新, ...

  5. Linux 忘记密码解决方法,Linux 远程登录

    一.Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步 ...

  6. Oralce新建数据库、新建远程登录用户全过程

    Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库.     对于初学者来说,为了避免麻烦,可以用'Database Configuration Assi ...

  7. 五、Linux 远程登录

    Linux 远程登录 Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ss ...

  8. 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连

    在建立与服务器的连接时出错.在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连 sql server服务器sqlserver远程连接数据库防火墙在建立 ...

  9. 嵌入式Linux应用开发完全手册之环境搭建

    @ 目录 0.下载源配置 1.电脑BIOS启动虚拟化 2.linux网卡查看与IP设置 3.windows NAT虚拟网络配置 4.修改 Ubuntu 的 mountd 端口 5.vim设置 6.Mo ...

随机推荐

  1. Axis2 webservice入门--Webservice的发布与调用

    一.Webservice发布 参考 http://www.cnblogs.com/demingblog/p/3263576.html 二.webservice 调用 部分参考:http://www.c ...

  2. 简介JSP与FreeMarker及Volicity区别

    FreeMarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个 ...

  3. Java编写高质量代码改善程序的151个建议

    第一章  Java开发中通用的方法和准则 建议1:不要在常量和变量中出现易混淆的字母: (i.l.1:o.0等). 建议2:莫让常量蜕变成变量: (代码运行工程中不要改变常量值). 建议3:三元操作符 ...

  4. vue2.0+ 从插件开发到npm发布

    vue: V2.5.11 此篇尽量详细,清楚的讲解vue插件的开发到npm的发布,想想将你自己做的东西展示给广大"网民",心里还是有点小激动的...-^_^ 先上一下插件效果图-- ...

  5. 上篇:python的基本数据类型以及对应的常用方法(数字、字符串、布尔值)

    为了日后便于查询,本文所涉及到的必记的基本字符串方法如下: "分隔符".join(字符串)    #将字符串的每一个元素按照指定分隔符进行拼接.split("字符串&qu ...

  6. python笔记十四(高阶函数——map/reduce、filter、sorted)

    一.map/reduce 1.map() map(f,iterable),将一个iterable对象一次作用于函数f,并返回一个迭代器. >>> def f(x): #定义一个函数 ...

  7. Jmeter(七)_if控制器+循环控制器+计数器控制接口分支

    最近查阅了一下网上关于if控制器的文章,大同小异,几乎找不到原创,于是决定自己写一篇 下午测试接口,遇到了一个审核的流程.逻辑很简单,就是审核不通过之后返回去继续修改再提交,然后再审核,直到通过为止. ...

  8. Windows下使用Vim极简入门

    0.下载与安装 在vim官网下载 1.Vim常见的几种模式: 一般模式:主要用于浏览,不能随意删除.修改等.按Esc进入该模式. 插入模式:类似平常我们打开记事本后所在的模式.在命令模式下按i进入. ...

  9. Android中典型的ROOT原理(5)

    ROOT的作用 Customization 用户的个人定制,如删除一些预安装,定制开机动画等. 特权操作 所有需要特权操作的基本都是要通过ROOT,这也是ROOT的初衷. ROOT的第一步:寻找漏洞并 ...

  10. linux TCP头部的构造的简单分析

    TCP的头部的构造是在函数tcp_transmit_skb()中进行的 函数片段如下: /* Build TCP header and checksum it. */ th = tcp_hdr(skb ...