作者 : 万境绝尘
一. 相关工具下载
嵌入式开发工具包 :
-- 下载地址 :
二. 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图形化界面 :
作者 : 万境绝尘
博客地址 :
四. 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;
-- 关闭SELinux : setenforce 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 卡中;
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 中;
作者 : 万境绝尘