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服务器也就搭建好了。
后记:搭建环境真是累死人啊,就上面这些操作整了一天。各位如果使用虚拟机的话一定要勤照快照,以防日后作死有后路可退,千万不要像博主学习。不过这次又把嵌入式环境的搭建熟悉了一遍,可谓有得有失吧。希望能对大家有所帮助。如果有错或者疑问,欢迎指出!
ubuntu14.04下嵌入式工作环境搭建的更多相关文章
- ubuntu12.04下安卓编译环境搭建总结
前言: 因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...
- Ubuntu14.04+caffe+cuda7.5 环境搭建以及MNIST数据集的训练与测试
Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http:/ ...
- Ubuntu14.04下FTP服务器的搭建配置 标签: ubuntuftp服务器虚拟机 2017-06-13 15:24 161人阅读 评
首先说明一下,我是在虚拟机中装的Ubuntu14.04,物理机是Win10,最初只是为了在两个系统间传输文件才在Ubuntu中安装了ftp服务器,从Windows端登陆其即可.最初也是按照网上的各种教 ...
- ubuntu14.04.32 vmware11开发环境搭建
win7 64 vmware11 ubuntu14.04.32 在vmaware上安装ubuntu,自定义安装,选择区域为上海,这样数据源就会自动设置为中国,获取网络数据会较快,也可以安装完之后改变 ...
- Ubuntu14.04 Server Apache2+subversion环境搭建
自从工作后,发现之前的代码开发太随便啦,于是经过不到两年的工作积累,打算在自己开发软件的过程中好好管理自己的项目.于是打算搭建自己的项目服务器,去年搭建过一次,但是由于没有记录,现在需要再来一遍,好多 ...
- Ubuntu18.04下Python Web环境搭建
Python3的安装与卸载 pip, pip3的安装 Django2.x的安装 mysql的安装及命令行工具mycli的安装 virtualenv及virtualenvwrapper的安装 IPyth ...
- ubuntu14.04 Hadoop单机开发环境搭建MapReduce项目
Hadoop官网:http://hadoop.apache.org/ 目前最新的版本是Hadoop 3.0.0-alpha1前提:java 1.6 版本以上 首先从官网下载压缩包(hadoop-3.0 ...
- Ubuntu16.04下伪分布式环境搭建之hadoop、jdk、Hbase、phoenix的安装与配置
一.准备工作 安装包链接: https://pan.baidu.com/s/1i6oNmOd 密码: i6nc 环境准备 修改hostname: $ sudo vi /etc/hostname why ...
- Ubuntu16.04下的NetCore环境搭建(附录含Ubuntu 18.04 安装 NetCore2.1)
跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux VSCode安装:http://www.cnblogs.com/dunitia ...
随机推荐
- instanceof 和 构造函数
1. intanceof 运算符 instanceof 运算符返回一个布尔值,表示指定对象是否为某个构造函数的实例. instanceof左边是实例对象 右边是构造函数.它的运算实质是检查右边构建函数 ...
- Android四大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比
四大图片缓存基本信息 Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用. Picasso 是 Square 开源的项目,且他的主导者是 JakeWharton,所 ...
- codevs 2612 最有分解方案 (贪心)
/* 数字不重复 将一个正整数分解成若干的整数的和 数字不重复 且数字不相同 保证不重复的话 贪心策略是从2开始分 然后把最后剩下的数均匀分到后面 证明嘛 这里写的可能不是很严谨 对于一个n 如果我们 ...
- ScrollView、ListView嵌套
1.手动设置ListView高度 经过测试发现,在xml中直接指定ListView的高度,是可以解决这个问题的,但是ListView中的数据是可变的,实际高度还需要实际测量.于是手动代码设置ListV ...
- PHP 实现ajax的接收
Ajax界面: 首先,理解本质,就是普通的一个提交在无刷新的情况下发出请求后得到响应,然后去针对你需要 的情况来做行为. <!DOCTYPE html> <html> < ...
- C# 带参访问接口,WebClient方式
1.当参数的数据较大时.WebClient同步. //实例化WebClient client = new WebClient();//地址 string path = "http://oa. ...
- Android 笔记
一.MTK Android version在文件下build/core/version_defaults.xml下定义. 二.Android 重新编译frameworks/base/core/res资 ...
- exp、imp简单测试
imp 分为以下几个测试场景 imp name1/password1 file=xxxx.dmp full=y fromuser=name2 touser=name3 场景1 name1正确.pas ...
- iOS开发中的常用宏定义
在iOS开发的过程中合理的使用宏定义能够极大提高编码的速度,下面是一些常用的宏定义,部分内容来自互联网 Log // 调试状态, 打开LOG功能 #ifdef DEBUG #define GLLog( ...
- 关于typedef int(*lpAddFun)(int, int)
lpAddFun是typedef定义的一个名称 可以用来定义变量 比如 lpAddFun p; 那 p就是 int(*p)(int, int); 首先(*p)说明p是一个指针,(*p)();说明p指向 ...