嵌入式开发Linux服务器搭建

前言

​ 学习嵌入式开发,首先在电脑上安装了VMWare虚拟机,虚拟机中安装redhat服务器版操作系统。接下来便是建立基本的开发环境,Let‘s Go!

Samba服务器安装

​ 随着Linux的普及,如何共享Linux下的文件成为用户关心的问题。SMB(Server Message Block,服务信息块)是局域网上的共享文件夹/打印机的一种协议,Linux使用一个被称为Samba的程序来实现SMB协议。其实,几乎所有的Linux发行套件都提供了一个很好的工具Samba——通过它可以轻松实现文件共享。

下载安装samba

1
 yum -y install samba

此命令会联网搜索安装包(前提是虚拟机linux中的ip与DNS正确配置),若网络配置正确仍然不能搜索安装包,则需要更新yum源:

1
2
3
4
cd /etc/yum.repos.d/  进入yum配置目录
wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo 下载相关文件
mv CentOS-Base.repo rhel-debuginfo.repo 这一步之前做好备份
yum install build-essential 安装

之后再运行安装samba的命令便可以安装成功samba

查看samba是否安装

1
rpm -q samba

服务配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#vi /etc/samba/smb.conf
[zhanghao]
path = /home/zhanghao
writeable = yes
browseable = yes
valid users = zhanghao
[embed-Ocean.Ho]
path = /embed-Ocean.Ho
public = yes
writable = yes
printable = no
write list = 500
directory mask = 0777
create mask = 0777
[usr-include]
path=/usr/include
writeable = no
browseable = yes
valid users = zhanghao
directory mask = 0777
public = yes
printable = no

Samba用户建立

Samba是默认在user模式下的,需要用户名和密码来查看共享文档。

1
2
smbpasswd -a 用户名 #添加samba用户
smbpasswd -e 用户名 #激活用户

(-a 创建 -e 启用 -d 禁用 -x 删除)

启动Samba服务

1
2
3
/etc/rc.d/init.d/smb start #(可以使用ntsysv设置开机自启动)
/etc/rc.d/init.d/smb stop #停止
/etc/rc.d/init.d/smb restart #(修改过配置文件需要重启)

Windows端查看共享目录

在映射网络驱动器登陆中如下图红框(\192.168.186.138\zhanghao):

shared_folder

NFS服务器

为了方便调试,需要在linux下设置nfs服务器,实现硬件设备boot启动使用NFS网络文件系统。配置方法如下(此部分需要root权限)
shared_folder

nfs所需的软件包

1
2
3
rpm -q nfs-utils portmap
nfs-utils-1.0.6-70.EL4
portmap-4.0-63

NFS服务器的配置文件

/etc/exports文件下进行配置,默认为空

参考示例:

1
2
3
4
/home/zhanghao/task/tc408el/initrd-nfs/ *(rw,no_root_squash,async)
/home/zhuj/tc480ec/initrd-nfs/ *(rw,no_root_squash,async)
/home/liuxk/tc480ec/initrd-nfs/ *(rw,no_root_squash,async)
/home/wangjb/tc480ec/initrd-nfs/ *(rw,no_root_squash,async)

交叉编译工具(PowerPC系列)

为了能够编译出硬件设备能够识别的二进制代码,需要安装交叉编译环境。ELDK是Embeded Linux Development Kit的缩写,是德国denx提供的供PowerPC嵌入式Linux移植的完整开发环境编译套件。

下载ISO镜像文件

Denx为PPC(PowerPC)系列的CPU提供了多种ISO镜像文件。从ELDK的使用说明(ISO中的README.html)中能看到:

one for the 8xx, 6xx, 74xx and 85xx families (Freescale)

下载:http://ftp.denx.de/pub/eldk/4.2/ppc-linux-x86/iso/ppc-2008-04-01_freescale.iso

下载完成后在linux中mount命令挂载iso文件

1
mount -o loop /home/zhanghao/task/tc408el/rhel-server-6.3-x86_64-dvd.iso /home/zhanghao/mnt/cdrom

挂载成功后便可以在mnt目录下看到相关文件。

安装:

1
./install –d /home/zhanghao/edlk ppc_8xx

之后便可以在edlk目录下看到相关文件:

shared_folder

声明环境变量

1
2
3
4
export LANG=C
export CROSS_COMPILE=ppc_8xx-
export ARCH=ppc
export PATH=$PATH:/home/zhanghao/eldk/usr/bin/

保存后使用命令:

1
source .bashrc

至此PowerPc平台交叉编译环境已经建立完毕

Helloworld实验

1
ppc_8xx-gcc helloworld.c -o helloworld #编译成功

shared_folder