红联Linux门户
Linux帮助

搭建交叉编译环境

发布时间:2010-10-30 12:58:12来源:红联作者:YUZHIBOYI
由于自己现在还没有买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这个文件夹下的内容
开发板部分将会在以后几天提出
虽然,大部分都是上网查的资料,但感觉今天还是收获很多,我还得继续努力!!快点买转接口!
文章评论

共有 2 条评论

  1. wlike 于 2010-10-31 08:50:47发表:

    学习下

  2. shenhao0129 于 2010-10-30 17:46:07发表:

    恩,不错,可以考虑uboot和内核移植了