完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
写在前面的话:大家看韦东山老师的视频,用的是韦老师直接构建的虚拟机开发环境,等学习了一段时间以后,我想直接把电脑换成linux系统,一来可以更加熟悉linux的指令,二可以从头构建一个开发环境,这个是去公司以后必备的技能,三是里面有安装wine+sourceinsight和串口工具minicom的步骤,这样,在linux下面也可以使用SI这么牛逼的软件了,话不多说,直接开始: 1.把U盘做成系统盘,安装ubuntu12.04系统。我用的powerISO软件做的系统盘。推荐用32位的系统。64位的系统在安装的时候很不方便,而且安装交叉编译器arm-linux时需要32的库,很麻烦~~~ 2.安装好的ubuntu中,没有无线网卡驱动,而安装的时候提示不允许,这时候先对系统进行升级更新,更新完后再次安装即可,可是一直安装不完,我选择强制关机再开机。 3.更换ubuntu的更新源,要不升级更新太慢。 1)“sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup” 2)“sudo gksu gedit /etc/apt/sources.list” 3)选择合适的源,把/etc/apt/sources.list里面的东西全部替换了,保存。推荐163的源。 4)刷新列表“sudo apt-get update” 4.安装vim 1)安装 “sudo apt-get install vim” 有可能提示“vim:依赖:vim-common(......),但是......正要被安装,E:无法安装的文件包”,这时候,删除vim-common 是关键,执行“sudo apt-get remove vim-common”,成功后再次执行“sudo apt-get install vim”即可。 2)配置vim “sudo vi /etc/vim/vimrc.local” set nu “显示行号” set tabstop=4 “制表符宽度” set cindent “C/C++语言的自动缩进方式” set shiftwidth=4 “C/C++语言的自动缩进宽度” 5.安装串口工具minicom 1)安装 “sudo apt-get install minicom” “sudo apt-get install lrzsz” “安装后可以使用Zmodem传输协议传输文件” 2)配置 “sudo minicom -s” 主要是设置串口信息,如下所示: 按enter进入,将串口设备设置为/dev/ttyUSB0,设置波特率为115200,关流控,如下所示: 设置完后,点击保存位df1,如果不保存,下次还得设置,如下所示: 然后点击退出,设置完毕。 6.安装命令tree “sudo apt-get install tree” 7.安装chkconfig命令 “sudo apt-get install chkconfig” 8.安装patch命令 “sudo apt-get install patch” 9.安装gettext “sudo apt-get install gettext” 10.安装gtk “sudo apt-get install libgtk2.0-dev” 11.安装交叉编译工具 1)使用制作好的工具链,在韦老师的光盘/tools里面,将它拷贝到/work目录下面: “cd /work/tools” “tar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2” 输入”arm-linux-“以后,按tab键,会自动补全,输入”arm-linux-gcc -v“以后,会输出版本信息,自己编写一个小的程序,可以交叉编译出来,即为成功。 2)然后设置环境变量,想要永久有效的话,有两种设置方式 (1)设置当前用户环境变量: “sudo vim ~/.bashrc” 在末尾添加:“export PATH=$PATH:~/work/tools/gcc-3.4.5-glibc-2.3.6 /bin” 立即生效的话执行 “source ~/.bashrc” 这种方法对root用户无效。 (2)设置系统环境变量(对root用户生效) “sudo vim /etc/environment” 同样在后面添加“export PATH=$PATH:/work/tools/gcc-3.4.5-glibc-2.3.6 /bin” 注意:我这个添加的是root权限下面的环境变量,后来从新在根目录下面建立了一个work文件夹,所以下面的路径是/work/tools而不是第一种方法的~/work/tools。 12.如果上面11步做了的话,12步可以不做。我这是当初自己安装交叉编译链的时候遇见的问题等。 1)从网上下载arm-linux-gcc-4.4.3.tar.gz 2)解压到根目录中“sudo tar xv*** arm-linux-gcc-4.4.3.tar.gz -C /” 其中-C命令是将tar的工作目录从当前目录改为-C后面的目录了,本例中改为根目录,也可以改成其他的目录。 3)修改环境变量,跟11步的方法一样。并同时检验是不是有自动补全功能, 输入”arm-linux-gcc -v“以后,会输出版本信息。 4)自己编写一个简单的小程序,结果编译出错:“......No such File.........”什么的了忘记了,上网查资料,出现这种情况是因为64位的系统,依赖一些32位的库,执行“sudo apt-get install ia32-libs”,安装完即可。 安装的时候,多次出现“依赖:........, E:无法安装(但不会安装............)”一类的信息,最后重装系统以后,并更改更新源后才成功,所以推荐用32位的系统,64位的系统可能出现很多意想不到的问题。 13.安装wine+source insight 1)安装wine “sudo apt-get install wine”即可,时间稍微有点长。 2)打开windows下面的source insight的 .exe 安装包,右键,打开方式,wine windows Program Loader,打开即可。 wine可以理解为在linux中构建了一个虚拟的windows平台,在里面有c盘,有Program File等东西。用wine打开SI的时候,去Program File里面打开Source Insight 3 里面的Insight3.exe,或者从ubuntu的Dash主页打开。 SI界面如下所示: 可以看到,与windows下面的一样!! 14.安装基本的开发环境 “sudo apt-get install build-essential” 15.安装语法,词法分析器 “sudo apt-get install bison flex” 16.安装C函数库的man手册 “sudo apt-get install manpages-dev” 17.安装NFS服务 这一项东西比较多,我在下面从新排版显示: Ubuntu12.04 LTS下安装nfs服务 1.执行命令:”sudo apt-get install nfs-kernel-server” 2.修改pc机可以挂载的目录,在/etc/exports里面:‘’sudo vi /etc/exports”,配置nfs: 这个是我后来写的,原来的目录是: “/home/ybx/work/nfs_root/first_fs *(insecure,rw,sync,no_root_squash,no_subtree_check)” 这一行的含义是: /home/ybx/work/nfs_root/first_fs:与nfs服务客户端共享的目录。 *:允许所有的网段访问,也可以使用具体的IP。 secure nfs通过1024以下的安全TCP/IP端口发送。 insecure nfs通过1024以上的端口发送。 可以看到,在重启portmap的时候,端口号都是大于1024的,所以得加上这个口令。 rw:挂接此目录的客户端对该共享目录具有读写权限。 sync:资料同步写入内存和硬盘。 no_root_squash是nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。 no_subtree_check:不检查父目录的权限。 3.完成后重启一下nfs服务: #sudo /etc/init.d/portmap restart 需要先重启portmap,nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定,然后再重启nfs。 #sudo /etc/init.d/nfs-kernel-server restart。 #sudo /etc/init.d/portmap restart 结果如下: #sudo /etc/init.d/nfs-kernel-server restart结果如下: 这时候可以看出来,中间写着/home/ybx/work/nfs_root/first_fs不支持NFS服务,于是上网查了一大堆资料,看到几个文章提到可能是/home/ybx....这个用户目录不支持NFS挂载服务,想起来韦老师也是直接在根目录/下直接建立work文件夹的,于是把work文件夹直接拷贝到/home里面,从新修改上面一系列的东西,/etc/exports,然后重启服务,可以看到下图: 发现成功了。 4.自己在pc机上面挂载自己的文件,试试nfs服务是不是正常,如下图: 却发现怎么做也没法成功。。。。。。 5.纠结很久以后,决定直接用开发板手动挂载,想起来以前做的时候,出现ubuntu跟开发板ping不通,于是用交叉网线,却发现能挂载了。。。。。。不知道是不是交叉网线的问题。 6.从新把work目录直接拷贝在根目录下面,切换成root模式,修改/etc/exports,重启服务。 7.修改uboot的参数,直接从nfs启动: “set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.131:/work/nfs_root/first_fs ip=192.168.1.17:192.168.1.131:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0” 经过实验,确实能够nfs挂载了。。。。。。 |
|
相关推荐
|
|
好详细的讲解。。
|
|
|
|
|
|
收藏了。。。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
688 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2316 浏览 1 评论
797 浏览 0 评论
1562 浏览 1 评论
2330 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 12:20 , Processed in 0.588573 second(s), Total 78, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号