Ubuntu 8.10 创建交叉编译环境 FriendlyARM 2440

ITlinuxP 2009-01-10

由于自己现在还没有买USB转串口接口 ,所以只能完成其中的一部分!不久之后不上!

友善之壁2440开发板    Ubuntu8.01操作系统

参考了友善的手册 本文中对关键易错地方给出标志,参考Ubuntu中文论坛中xhylyx网友的原创文章

我的主机环境

主机:Ubuntu 8.10桌面版 开发板:友善之臂MINI2440

主机IP:192.168.1.101 网关:192.168.1.1子网掩码:255.255.255.0  子网掩码 255.255.255.0

由于没有转接口,我只能进行,单机操作,但接口买是必须的!!呵呵!!

自我感觉中嵌的免费视频很有用,虽然没有声音,但很适于我这种初学者(菜鸟)

今天积累的一点小经验,自己的网卡要设置成静态的,以防错误发生!我自己的电脑里其实是三个系统,XP,Ubuntu,还有个是拿虚拟机装的RHEL5,但感觉虚拟机对于外设配置对我这个新手还比较费劲,就直接用wubi版本的Ubuntu了(其实装系统的过程我也不是很熟悉)

ipconfig 查看状态是否良好

我的第一步:安装arm-linux-gcc 编译器     熟悉解压缩命令很主要,新手阿!!

我使用编译器版本分别是arm-linux-gcc-2.95.3 arm-linux-gcc-3.3 .2 arm-linux-gcc-3.4.1

用tar xvzf arm-linux-gcc-3.3.2.tgz -C /

tar xvzf arm-linux-gcc-2.95.3.tgz -C /

tar xvzf arm-linux-gcc-3.4.1.tgz -C /

mkdir -p /opt/FriendlyARM/mini2440  创建工作目录

修改/root/.bashrc文件    gedit        以前都是vi的,今天新学了个gedit

最后一行加上  export PATH=$PATH:/usr/local/arm/3.4.1/ 保存退出

重新登录后 arm-linux-gcc -v

出现一下信息代表成功

Reading specs from /usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/specs

Configured with: /work/crosstool-0.27/build/arm-linux/gcc-3.4.1-glibc-2.3.2/gcc-3.4.1/configure --target=arm-linux --host=i686-host_pc-linux-gnu --prefix=/usr/local/arm/3.4.1 --with-headers=/usr/local/arm/3.4.1/arm-linux/include --with-local-prefix=/usr/local/arm/3.4.1/arm-linux --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c,c++ --enable-shared --enable-c99 --enable-long-long

Thread model: posix

gcc version 3.4.1

我的第二步:配置NFS

安装NFS

Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:

sudo apt-get install nfs-kernel-server

安装nfs-kernel-server时,apt会自动安装nfs-common和portmap

这样,宿主机就相当于NFS Server

配置NFS

(1)配置portmap

方法1: 编辑/etc/default/portmap, 将 -i 127.0.0.1 去掉. 我用的是第一种方法!!但不知道具体什么意思

方法2: $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N.

(2)配置/etc/hosts.deny

禁止任何host(主机)能和你的NFS服务器进行NFS连接,加入:

### NFS DAEMONS

portmap:ALL

lockd:ALL

mountd:ALL

rquotad:ALL

statd:ALL

(3)配 置/etc/hosts.allow

允许那些你想要的主机和你的NFS服务器建立连接。下列步骤将允许任何IP地址以192.168.2开头的主机(连接到NFS服务器上),也可以指定

特定的IP地址,加入:

### NFS DAEMONS

portmap: 192.168.1.

lockd: 192.168.1.

rquotad: 192.168.1.

mountd: 192.168.1.

statd: 192.168.1.

/etc/hosts.deny 和 /etc/hosts.allow 设置对portmap的访问. 采用这两个配置文件有点类似"mask"的意思. 现在/etc/hosts.deny中禁止所有用户对portmap的访问. 再在/etc/hosts.allow 中允许某些用户对portmap的访问.

sudo /etc/init.d/portmap restart

重启portmap daemon.

(4)配置/etc/exports

NFS挂载目录及权限由/etc/exports文件定义

比如我要将将我的/opt/FriendlyARM/mini2440/root_nfs目录让用户的IP共享, 则在该文件末尾添加下列语句:

/opt/FriendlyARM/mini2440/root_nfs *(rw,sync,no_root_squash)

NFS客户端能够共享NFS服务器/opt/FriendlyARM/QQ2440/root_nfs目录内容.且有读,写权限, 并且该用户进入

/opt/FriendlyARM/mini2440/root_nfs目录后的身份为root

最好加上sync, 否则 $ sudo exportfs -r 时会给出警告, sync是NFS的默认选项.

showmount -e 查看NFS server的export list.

若更改了/etc/exports, 运行 sudo exportfs -r 更新

运行  /etc/init.d/nfs-kernel-server restart 重启nfs服务

(5)测试NFS

可以尝试一下挂载本地磁盘

我前面开始时已经提到了我的主机IP是192.168.1.101

我现在试把/opt/FriendlyARM/mini2440/root_nfs目录挂载到/mnt目录下

mount -t nfs 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt 就101和:之间的空格我耗了1个小时

成功的挂载上的话你会在/mnt目录下看到root_nfs这个文件夹下的内容

开发板部分将会在以后几天提出

虽然,大部分都是上网查的资料,但感觉今天还是收获很多,我还得继续努力!!快点买转接口!

相关推荐