1.安装虚拟机、Ubuntu14.04和虚拟机vmtools工具参考网上其他资源;
2.安装软件之前执行软件更新命令
sudo apt-get update
Ubuntu中用sudo apt-get install安装某软件,结果出错:E: Unable to locate package
更换ubuntu软件的源,参考
http://www.crifan.com/ubuntu_change_sources_list_to_163/
3.安装nfs服务
#sudo apt-get install nfs-kernel-server
-------------------------------------------
打开/etc/exports文件,在末尾加入:
/home/xgc *(rw,sync,no_root_squash)
注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:
/home/xgc:要共享的目录
* :允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限
重启服务:
#sudo service portmap restart
#sudo service nfs-kernel-server restart
#showmount -e
现在可以在本机上试一下:
#sudo mount -t nfs localhost:/home/xgc /mnt
#sudo umount /mnt
如果用在嵌入式设备上挂载,要加上参数-o nolock
2.在Ubuntu下安装GCC。
方法一:
该方法超简单:
sudo apt-get build-depgcc
就上面这条命令就可以搞定
方法二:
sudo apt-get install build-essential
还是简单,一句命令也可以搞定
安装完了可以执行
gcc--version
的命令来查看版本,输出如下:
gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)
Copyright(C)2007FreeSoftwareFoundation,Inc.
编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。
3.在Ubuntu下安装arm-linux-gcc。
下载文件
下载地址 http://pan.baidu.com/s/1pJwQ6Sj
1).解压文件
解压 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C/(
下载arm-linux-gcc-4.4.3.tgz到任意的目录下,进入这个文件夹
sudo tar xvzf arm-linux-gcc-4.4.3.tgz –C /
注意:C后面有个空格(不需要),并且C是大写的(必须),它是英文单词“Change”的第一个字母,在此是改变目录的意思。执行该命令,将把arm-linux-gcc 安装到/opt/Friendlyarm/toolschain/4.4.3 目录。
2).建立目录
sudo mkdir /usr/local/arm
3).复制文件
sudo cp -r /opt/FriendlyARM/toolschain/4.4.3 /usr/local/arm
4).添加环境变量
网上很多修改环境变量的方法,很杂。有 redhat上面的,fedora。下面一共三种方法,有人都在UBUNTU11.10上试过,可行。(本人只用了第一种方法做过,其他的没有试过)
方法一:修改/etc/bash.bashrc文件(此文件只对当前用户适用)
sudo gedit /etc/bash.bashrc
在最后加上 export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin (路径)(注意等号那边不要有空格)
方法二:修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)
sudo gedit /etc/profile
增加路径设置,在末尾添加如下:
export PATH=$PATH:/usr/local/arm/4.4.3/bin
方法三:修改/etc/environment文件
sudo gedit /etc/environment
原文件应为
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
将其改为
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin"
关于环境变量问题:
环境变量是什么?例如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。
如果上面不加入环境变量,要运行arm-linux-gcc这个程序,则每次都要把arm-linux-gcc的完整路径写出来。/usr/local/arm/4.4.3/binarm-linux-gcc 文件名 -o 输出文件名
这样非常的麻烦,所以加到path里面,让电脑知道这个程序在哪里。
5).注册环境变量(此步未做,步骤8同样显示安装成功)
立即使新的环境变量生效,不用重启电脑,对应步骤5也有3种方法
方法一:source /root/.bashrc
或者
./etc/bash.bashrc
方法二:source /etc/profile
方法三:立即生效
6).检查是否将路径加入到PATH(此步未做,步骤8同样显示安装成功)
echo $PATH
显示内容/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.4.3/bin说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。
在终端输入 arm-linux-gcc -v,可以查看arm-linux-gcc 的版本。到这里请注意,如果你的系统是32位的,会显示arm-linux-gcc 的版本信息,但是如果你的系统是64位的那就会报错 15: exec: /usr/local/arm/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found。这是因为64位的系统缺少32位的库,需要在安装。但是ubuntu12.04以后的版本就没有32位的库,
sudoapt-getinstalllib32stdc++6
sudoapt-getinstalllib32z1
安装完再执行arm-linux-gcc -v,就可以看到版本信息,至此,环境搭建完毕。
4.安装支持menuconfig的库ncurses
在make menuconfig时,报 'make menuconfig' requires the ncurses libraries.使用以下命令安装
sudo apt-get install libncurses*