ubuntu12.04下配置linux开发环境

对于Linux操作系统的初学者来说,在Ubuntu下建立嵌入式初级开发环境可不是一件简单的事情。别急,只要你读了接下来的这篇文章,搭建开发环境便不会是一件困难的事情了。

主机:X86+Ubuntu 12.04,联网

一. 下载并安装交叉编译器:

我用的编译器是arm-linux-gcc2.95.3,只要解压一下就OK。(由于我的开发板是S3C2410,linux内核比较老,用的是致远公司提供的交叉编译器,);

在/usr/local目录下建立arm目录,并将arm-linux-gcc2.95.3复制到这然后解压。

tar -zxvf arm-linux-gcc-4.3.2.tgz
执行完毕后当前目录下多了2.95.3文件夹,这就是交叉编译器所在目录

接下来只要设置好环境变量,就可以使用了,环境变量可以设置成全局的,也可以设置为当前终端可用,方法是:

1:设置成全局的,当系统启动时就直接开启。gedit ~/.bashrc 在最后一行加上export PATH=$PATH:/usr/local/arm/2.95.3/bin
2:设置成当前终端的,只在当前终端下使用,关闭则失效。# export PATH=$PATH:/usr/local/arm/2.95.3/bin 或
# export PATH=/usr/local/arm/2.95.3/bin:$PATH

然后运行: arm-linux-gcc -v 可以看到版本信息。交叉编译器的使用方法和GCC一样。

二. 安装串口通信工具:minicom
不管怎样,minicom都是一款经典实用的串口通信工具,安装如下:
sudo apt-get install minicom
配置:
sudo minicom -s
选择Serial port setup,此时所示光标在"Change which setting"上,键入"A",此时光标移到第A项对应处:串口COM1对应ttyS0,COM2对应ttyS1(注意选择)。
然后对波特率,数据位和停止位进行配置,键入"E",波特率选为115200 8N1(数据位8,奇偶校验无,停止位1),硬/软件流控制分别键入"F"和"G",并且都选No。在确认配置正确之后,可键入回车返回上级配置界面,并 将其保存为默认配置(即save setup as dfl)。最后,选择"Exit from Minicom"命令退出。
具体的配置信息如下所示:
Serial port setup [Enter]
+-------------------------------------------------------------+
| A - Serial Device : /dev/ttyUSB0 |
| B - Lockfile Location : /var/lock |
| C - Callin Program : |
| D - Callout Program -: |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware Flow Control : No |
| G - Software Flow Control : No |
| |
| Change which setting? |
+-------------------------------------------------------------+



连接开发板:

然后重启minicom(即直接在shell下执行minicom命令就可以进入minicom的控制台)使刚才的配置生效,再连上开发板的串口线后,就可以在minicom中打印出正确的串口信息了。

常用键:
在控制台下通过组合键Ctrl+A Z可以进入minicom菜单。组合键的用法是:先按Ctrl+A组合键,然后松开这两个键,再按Z键。


可选配置:
Ctrl + A --> O

+-----[configuration]------+

| Filenames and paths |

| File transfer protocols -|

| Serial port setup |

| Modem and dialing |

| Screen and keyboard |

| Save setup as dfl |

| Save setup as.. |

| Exit |

+--------------------------+

注:如果出现不能保存的现象,则应该在启动minicom的时候加上sudo。

  reboot可以重新启动机器上面的系统。不要像以前一样笨的去重启minicom,然后拔机器的电源重启机器。

三 安装arm linux内核

1,解压源代码
arm linux内核源代码 linux-2.4.18-rmk7-pxal-mz5-zhiyuan.tar.bz2(由开发板的说明书自带的,版本很低)
在跟目录下新建zylinux:
#mkdir /zylinux
然后将源代码复制此目录并解压,出现kernel目录即为源代码的安装目录
#tar -jxvf linux-2.4.18-rmk7-pxal-mz5-zhiyuan.tar.bz2
2,编译内核
有三种方式 make config,make menuconfig,make xconfig其中make menuconfig最常用,很直观介绍此方法
#make menuconfig
进入界面选择“load an Alternate Configuration File",装载默认配置文件ZY2410x默认配置文件在/arch/zrm目录下然后EXIT,在弹出的是否保存内核配置文件的界面选择YES。根据提示建立依赖关系
#make dep
编译内核
#make zImage
编译完毕,在arch/arm/boot 目录下将会生成ARM Linux内核映像文件zImage。这就是将要下载到目标系统的内核影象文件。如果对内核重新编译,先执行命令”make distclean“去除依赖关系并清除以前编译产生的文件,然后重新编译
#make distclean
3,在/zylinux下安装NFS文件跟系统
将开发板提供的root-nfs.tar.gz文件复制到/zylinux目录下,然后解压。解压完毕,在当前目录下将会生成root文件夹,这就是NFS跟文件系统所在路径。
#tar xzvf root-nfs.tar.gz


四. 安装NFS服务器(网络文件系统):

装这个是为了方便调试,不需要每次都把程序下载到开发板。
安装:sudo apt-get install nfs-kernel-server
配置hosts.deny(禁止连接,权限小于允许连接):

sudo gedit /etc/hosts.deny

修改如下:

portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

配置hosts.allow(允许连接):

sudo gedit /etc/hosts.allow

修改如下(设置192.168.0网段的主机可以访问):

portmap: 192.168.0.*
lockd: 192.168.0.*
rquotad: 192.168.0.*
mountd: 192.168.0.*
statd: 192.168.0.*

注意,配置好hosts.deny和hosts.allow后,要重启portmap daemon服务:

sudo service portmap restart

配置NFS挂载权限:

sudo gedit /etc/exports

我设置成根目录共享:/zylinux/armwork 192.168.0.*(rw,sync,no_root_squash)
+++++++++++++++++++++++++++++++++++解释+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+将/zylinux/armwork这个目录共享给192.168.0.*网段内的(所有人)然后是权限
+第一个参数: rw: 可擦写的权限 ;ro: 只读的权限。
+第二个参数: sync: 资料同步写入到内存与硬盘当中 ;async: 资料会先暂存于内存当中,而非直接写入硬盘。
+第三个参数: 1、no_root_squash: 登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就+具有root 的权限!这个项目极不安全,不建议使用!2、root_squash: 在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那+么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
更新 #exportfs -r
然后重启NFS:
sudo service nfs-kernel-server restart
这样,NFS就安装好了。
可以尝试在本机上挂载在终端下输入#mount 192.168.0.64:/zylinux/armwork /mnt 如果成功则/mnt下出现armwork下的内容
(如果不成功就把/zylinux/armwork 192.168.0.*(rw,sync,no_root_squash)改为固定的IPzylinux/armwork 192.168.0.64(rw,sync,no_root_squash)不知道为什么)
用网线将PC和开发板连接好,设置主机的IP:在系统设置里打开网络,选项,ipv4,设置ip,子网掩码,注意ip地址与开发板IP在同一网段,掩码相同
然后可以ping一下,看PC和开发板是否连通了,没有问题的话,就可以mount了。启动minicom,给开发板上电,进入linux,回车激活终端,输入:
(在minicom下输入):mount -o nolock 192.168.1.26:/ /mnt(在minicom下输入)
(在minicom下输入):cd /mnt/ ls -l 看看是否存在挂在的内容

你可能感兴趣的:(ubuntu12.04下配置linux开发环境)