Ubuntu ARM开发环境step by step 配置

1.更新Ubuntu系统软件
1.1 配置更新源
sudo gedit /etc/apt/source.list,打开源配置文件,把里面的东西删除,复制下面的源地址:
注意这里我们使用的是ubuntu 8.04的源(不同的版本请使用不那个版本的源)
deb hardy main multiverse restricted universe
deb hardy-backports main multiverse restricted universe
deb hardy-proposed main multiverse restricted universe
deb hardy-security main multiverse restricted universe
deb hardy-updates main multiverse restricted universe
deb-src hardy main multiverse restricted universe
deb-src hardy-backports main multiverse restricted universe
deb-src hardy-proposed main multiverse restricted universe
deb-src hardy-security main multiverse restricted universe
deb-src hardy-updates main multiverse restricted universe
这个是交通大学的源,个人认为是比较快的!
保存文件然后运行sudo apt-get update,sudo apt-get upgrade
so restart system!
1.2 安装编译环境
sudo apt-get install build-essential autoconf automake1.9 cvs subversion

2 ARM交叉编译环境安装
2.1 下载cross
打开
下载
cross-3.2.tar.bz2  
2.2 安装cross
解压
tar xjvf cross-3.2.tar.bz2 解压出来是一个usr目录
进入
cd /usr/local/
sudo mv arm/  /usr/local/
2.3 配置cross环境变量
sudo gedit /etc/bash.bashrc 打开bash.bashrc文件
在文件末尾写入:
if [ -d /usr/local/arm ];then
    PATH=/usr/local/arm/bin:${"PATH"}
fi
保存文件
2.4 测试ARM交叉编译环境
arm-linux-gcc -v
注意:如果你使用的是64位的系统,有一个方法可以解决,就是安装lsb-core,这个是一个32位的库
编写一个文件再测试:
#include
int main(void)
{
    printf("HelloWorld ARM!\n");
    return 0;
}
保存为hello.c
编译:arm-linux-gcc -o hello hello.c
运行hello : ./hello
bash: ./hello: cannot execute binary file(无法运行的2进制文件,因为生成的是arm下的2进制文件 );

3 安装minicom
sudo apt-get install minicom

4 安装配置tftp-hpa
4.1 安装tftp-hpa
sudo apt-get install tftp-hpa tftpd-hpa openbsd-inetd sysvconfig debian-helper-scripts
tftp-hpa是客户端,tftpd-hpa是服务端
4.2 配置tftp-hpa服务器
sudo gedit /etc/default/tftp-hpa
打开文件如下:
 RUN_DAEMON="no"  OPTIONS="-l -s"
修改为:
RUN_DAEMON="yes"
OPTIONS="-l -c -s /tftpboot"
保存文件
4.3 创建tftpboot服务目录
cd /    cd到根目录
sudo mkdir tftpboot 创建tftpboot文件夹
sudo chmod -R 777 tftpboot/  修改tftpboot文件夹的权限
cd /tftpboot 进入tftpboot目录
touch test.txt 建立一个文件
cd ~/ 回到个人目录
4.4 重启tftp服务器
sudo service tftpd-hpa restart
4.5 测试tftp-hpa服务器
tftp localhost
get test.txt
最后看看当前目录有test.txt的文件不?
同理!把当前目录下的一个文件put xxxx.???,在去看看/tftpboot目录有xxxx.??这个文件不?
注意:ubuntu 10.04安装tftp服务器的时候不需要安装openbsd-inetd debian-helper-script,只要安装tftp-hpa tftpd-hpa即可.

5 安装配置NTF服务
NFS(Network File System,
网络文件系统)可以通过网络将分享不同主机(不同的OS)的目录——可以通过NFS挂载远程主机的目录, 访问该目录就像访问本地目录一样!

般而言, 使用nfs能够方便地使各unix-like系统之间实现共享. 但如果需要在unix-like和windows系统之间共享,
就得使用samba了!
NFS运行在SUN的RPC(Remote Procedure Call, 远程过程调用)基础上,
RPC定义了一种与系统无关的方法来实现进程间通信. 由此, NFS server也可以看作是RPC server.

因为NFS是一个RPC服务程序, 所以在使用它之前, 先要映射好端口——通过portmap设定. 比如: 某个NFS
client发起NFS服务请求时, 它需要先得到一个端口(port). 所以它先通过portmap得到port number. (不仅NFS,
所有的RPC服务程序启动之前, 都需要设定好portmap
5.1 安装nfs服务
sudo apt-get install nfs-kernel-server  nfs-common  portmap
安装客户端的作用是可以在本机进行NFS服务的测试。
5.2 配置portmap
两种方法任选一种就可以:
(1):sudo emacs /etc/default/portmap
去掉 -i 127.0.0.1
(2)sudo dpkg-reconfigure portmap
运行后选择“否”
5.3 配置挂载目录和权限
sudo vim /etc/exports
我的配置如下:# /etc/exports: the access control list for filesystems which may be exported
#  to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes  gss/krb5i(rw,sync)
#
/home/nfsboot *(rw,sync)
解释一下:
#后面的都是解释
/home/nfsboot是NFS的共享目录,*表示任何IP都可以共享这个目录,你可以改为受限的IP,rw表示的是权限,sync是默认 的。
5.4 启动服务
5.4.1 更新exports文件
只要你更改了/etc/exports, 你不可以通过sudo exportfs -r 来更新 这个文件
5.4.2 重启NFS服务
sudo /etc/init.d/nfs-kernel-server restart 重启nfs服务

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/26174.html