Linux 嵌入式系统设计与开发
1 第一部分嵌入式系统开发环境
第一章 嵌入式系统开发环境的搭建,以及相关工具的使用
1.1 虚拟机+linux redhat9.0 安装
1.1.1 虚拟机软件的安装及配置。
虚拟机软件是一种可以在一台电脑上模拟出来若干台 PC,每台 PC 可以运行单独操作
系而互不干扰,实现一台电脑“同时”运行几个操作系统,还可以将这几个操作系统连成一
个网络的软件。
采用 VMware Workstation5.5例说明如何在 windows 创建一个虚拟机环境。
VMware Workstation安装后的界面如下:
创建一个虚拟机
选择 linux
指定虚拟机存放的路径
选择网络配置
对于虚拟机的设备进行配置,这里采用虚拟光驱,指定安装linux 镜像的路径
设备相关信息设置如下,启动虚拟机,开始安装。
进行 linux 安装
1.1.2 Redhat9.0 的安装。
注意不安装防火墙,采用 workstation,确保服务 samba,tftp,tfp,nfs,SSH,DHCP,telnet
都安装上。
1.2 Linux 系统服务的配置
配置系统服务时,要使防火墙关闭,或使其为低。
1.2.1 网络配置
[root@localhost /]# setup 进入网络配置菜单,设置 ip。
[root@localhost root]# service network restart 重启网络服务
察看网络配置
[root@localhost root]# ifconfig
1.2.2 Tftp 服务的配置
选择 tftp 服务
[root@localhost /]# setup
配置 tftp 服务目录
[root@localhost /]# vi /etc/xinetd.d/tftp
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
per_source = 11
cps = 100 2
}
启动 tftp 服务
[root@localhost /]# service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
检测 tftp 服务
[root@localhost /]# netstat -a | grep tftp
udp 0 0 *:tftp *:*
1.2.3
Samba 服务器配置
选择 samba 服务
[root@localhost /]# setup
编辑 smb.conf 配置文件,
[root@localhost /]# vi /etc/samba/smb.conf
增加用户名以及共享路径,如下:
[homes]
comment = Home Directories
path = /
browseable = no
writable = yes
valid users = root
create mode = 0664
directory mode = 0775
[root@localhost /]#smbadduser root:admin
增加 samba 用户
[root@localhost /]# service smb restart
激活 samba 服务
[root@localhost /]# service smb status
察看 samba 服务
1.2.4
telnet 服务器配置
选择 telnet 服务
[root@localhost /]# vi /etc/pam.d/login
注释掉 auth required /lib/security/pam_securetty.so 这句话
重启服务
[root@localhost /]# service xinetd restart
至此可以以 root 用户 telnet 登录
1.2.5
nfs 服务器配置
选择 nfs 服务
[root@localhost /]# vi /etc/exports
增加 nfs 服务输出的路径以及供给的 ip 地址,例如增加如下条目:
/home/nfsroot 192.168.230.128(rw,sync)
表示 ip 地址为 192.168.230.128 可以读写本机的目录/home/nfsroot
[root@localhost /]# service nfs restart
激活 nfs 服务
[root@localhost /]# service nfs status
察看 nfs 服务的状态
1.2.6 DHCP 服务器配置
注意:当配置 DHCP 服务时会对于局域网有影响,建议在虚拟机的环境下,网络设备
选择 Host-only 工作方式,如果不是虚拟机,请把网络连接与局域网断开。
选择 DHCP 服务器
[root@localhost /]# cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf
创建一个 DHCP 服务的配置文件
[root@localhost /]# vi /etc/dhcpd.conf
编辑 dhcpd.conf 配置 DHCP 服务,下面的例子实现了基本的配置,目的是为在虚拟机
上实现 linux 内核在网络上的启动。本机的 ip 是 192.168.230.129
ddns-update-style interim;
ignore client-updates;
subnet 192.168.230.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.230.129;
option subnet-mask 255.255.255.0;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.230.120 192.168.230.128;
default-lease-time 21600;
max-lease-time 43200;
# 为实现通过网络启动加载的文件
# we want the nameserver to appear at a fixed address
}
filename "/pxelinux.0";
[root@localhost /]# service dhcpd start
开启 dhcp 服务
[root@localhost /]# service dhcpd status
察看服务是否运行
1.2.7 支持网络启动内核的配置方法
基本原理,实现网络启动必须支持 PXE,PXE(Pre-boot Execution Environment) 是由 Intel
设计的协议,它可以使计算机通过网络启动。协议分为 client 和 server 两端,PXE client 在
网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,并显示出命令菜单,
经用户选择后,PXE client 将放置在远端的操作系统通过网络下载到本地运行。
PXE 协议的成功运行需要解决以下两个问题:
l 既然是通过网络传输,那么计算机在启动时,它的 IP 地址由谁来配置;
l 通过什么协议下载 Linux 内核和根文件系统