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