ubuntu14.04下嵌入式工作环境搭建

  昨天作死一不小心把小红帽home目录下的东西删光了。跟着国嵌的视频学了这么久,对linux也算是有些熟悉,就决定自己在ubuntu下搭建一个工作环境。整个过程还算比较顺利,不过也有些小波折。下面把这次环境搭建记录下来,方便自己以后查阅,如果能够帮助到大家那自然是最好。

 

————————————————————————————————————————————————————————————————————

  注意:还处在裸机阶段学习或者还想使用usb下载烧写程序的朋友们就不要看了!!!

  原因:由于国嵌给的dnw_usb.ko是基于红帽系统的内核编译的,如果在ubuntu下insmod,会提示内核版本号不对。提前说明!!!

————————————————————————————————————————————————————————————————————

 

  下面就开始讲工作环境的搭建吧。

  一、samba服务器的搭建及使用

  1、安装samba和图形配置工具

  使用命令:sudo apt-get install samba samba-common system-config-samba python-glade2 gksu

  2、按win键调出程序搜索框,搜索并打开samba图形配置工具

  技术分享

  3、创建共享用户

  在系统设置——用户账户中点击解锁,输入密码后即可添加一个共享用户,如果已存在这一步可以不做。

  技术分享

  4、添加共享账户

  技术分享

  依次点击首选项——samba用户——添加用户。其中UNIX用户名可以是刚才第三步创建的,也可以是之前的用户名。windows用户名随便填一个,输入密码就OK啦!

  5、创建共享目录

  技术分享

  点击加号,进入samba共享创建。这里的目录是你想要共享给windows的目录,共享名自己取,描述随意。这里可擦写和显示最好还是选上。点击确定就OK了。

  7、重启samba服务

  使用命令:sudo restart smbd && sudo restart nmbd

  这样samba服务器就搭建好了。接下来讲如何在windows上进入ubuntu共享的目录

  8、进入windows下的资源管理器,在地址栏输入“\\ubuntuIP”

  注意,这里是反斜杠“\\”,ubuntuIP填自己ubuntu的IP

  技术分享

  技术分享

  双击进入自己共享的目录就可以了。如果想以后使用方便的话可以将其映射为一个网络驱动器,方法很简单,有意者可自行上网查找,这里不再赘述。

 

  二、tftp服务器的搭建

  1、安装tftp的客户端和服务端

  使用命令:sudo apt-get install tftp-hpa tftpd-hpa

  2、创建tftp共享目录

  这个目录是存放自己想要共享出文件的地方,可随意创建,但是自己要能记住,例如

  sudo mkdir /home/tftpboot

  将该目录权限改为777

  sudo chmod 777 /home/tftpboot

  3、配置tftp服务器

  vi /etc/default/tftpd-hpa

  技术分享

  修改红框中的内容,其中TFTP_DIRECTORY项填写第2步中创建目录的路径,注意是绝对路径。TFTP_OPTIONS项根据图中填为:"-l -c -s"。

  4、重启tftp服务器

  sudo service tftpd-hpa restart

  这样,tftp服务器也安装好了。

  三、交叉编译器的安装

  这一部分最波折。我先尝试了arm-linux-gcc的4.3.3版本,安装过程神马的都很顺利,最后用命令arm-linux-gcc -v命令也可以看到编译器的版本信息(这之前缺少一个库,稍后说明),但是在编译helloworld的时候又提示缺少库,醉醉的。根据我目前的能力反正是解决不了这个问题了,所以只能换编译器了。我又安装了cross-2.95.3版本的,上文由提到过,这次也安装成功了,兴冲冲的用它去编译内核,编着编着又有错误了,告诉我编译器的版本太低,当时心中一万只草泥马在奔腾!!接着换呗,又换成了arm-linux-gcc4.3.2。好在事不过三,这次终于成功地编译出内核了。下面就跳过4.3.3和2.95.3的惨痛经历,直接讲4.3.2的安装过程。

  1、进入arm-linux-gcc4.3.2存放目录,将其解压至根目录下

  tar xzvf arm-linux-gcc-4.3.2.tgz -C /

  解压后的文件夹存放在/usr/local/arm中如果看到4.3.2说明解压成功。

  2、配置环境变量

  我们的交叉工具安装在/usr/local/arm/4.3.2/bin目录下,如果每次编译都带着这么一长串显然太残忍,所以要修改环境变量使我们在任何地方都可以任性的使用arm-linux-gcc,执行如下命令,注意此时是什么用户,以后使用编译器就用什么用户

  vi /etc/environment

  技术分享

  不同的环境变量之间用冒号隔开,注意中英输入法,这里要的是外国的冒号,然后将刚才/usr/local/arm/4.3.2/bin填入即可。(也有人解压至其它目录,不过不管解压到哪里,这里定位到4.3.2里的bin目录下就可以了)

  3、使环境变量生效

  source /etc/environment

  4、验证

  首先先查看一下编译器版本

  arm-linux-gcc -v

  技术分享

  呵呵哒。

  卧槽都用了source /etc/environment使它生效了还不行?

  那进入/usr/local/arm/4.3.2/bin再使用呢

  技术分享

  呵呵哒。

  真是凌乱了,还好后来找到了解决方法,不然估计当时就卸载掉ubuntu了。

  问题就是我的ubuntu是64位的,而这个交叉工具链是32位的,所以它这么傲娇。执行下面的命令安装一些32位的库

  sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

  安装完成之后就柳暗花明又一村啊

  技术分享

  在编译一个c文件试试

  技术分享

  这个警告大家就无视掉了吧,本人写c不太严谨,看重点,嗯,重点。重点就是编译出来了,而且在x86上无法执行。这就说明我们安装的交叉编译器可以正常使用了!!嗯,交叉编译器的安装就介绍到这里。

  四、nfs服务器的搭建

  1、安装nfs服务端

  sudo apt-get install nfs-kernel-server

  2、配置nfs服务器

  vi /etc/exports

  技术分享  

  前面是注释,无视之。各位在后面加上红框中的内容,不过要根据自己的情况进行修改。

  前面的路径/home/bumblebee/rootfs是我nfs服务器共享的文件系统的目录,各位根据自己的文件系统目录进行修改

  192.168.1.*代表我将这个目录共享给192.168.1.网段中的所有用户,各位可以根据自己的IP进行修改,也可以直接填*,及共享给所有用户

  后面括号中的照抄就行了,同样要注意中英输入法,这里要用外国的逗号。

  3、重启nfs服务

  sudo /etc/init.d/nfs-kernel-server restart

  重启成功的话,nfs服务器也就搭建好了。

 

  后记:搭建环境真是累死人啊,就上面这些操作整了一天。各位如果使用虚拟机的话一定要勤照快照,以防日后作死有后路可退,千万不要像博主学习。不过这次又把嵌入式环境的搭建熟悉了一遍,可谓有得有失吧。希望能对大家有所帮助。如果有错或者疑问,欢迎指出!

  

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。