本文将介绍如何定制与编译Yocto
准备:
1、一把梯子,让你的电脑可以看到墙外的世界
2、一个linux系统,我用的ubuntu 12 (这是我下载好的ubuntu12系统 http://pan.baidu.com/s/1qWM9Z3m)
3、一台双核以上,50G空余空间的电脑
4、足够的耐心
先下载intel提供的Yotco编译环境包<font color="#0000C6"><font size="6"><a href="http://intel.eetrend.com/files/filefield_paths/edison-src.rar">Yocto编译环境,点我下载</a></font>,以下演示的是基于VMware Workstation下安装的Ubuntu 12.4系统,
系统在上部有提供下载链接。
打开ubuntu的文件管理器,这个图标<img src="http://intel.eetrend.com/files/filefield_paths/163241iw99inasrrazsn9z.p…; alt="">点击"主文件夹",把下载好的Yocto编译包edison-src-rel1-maint-rel1-ww42-14.tgz 拖入虚拟机主文件夹里,如图
<center><img src="http://intel.eetrend.com/files/filefield_paths/163720c3mz7mftmfojmd9o.p…; alt=""></center>
接下来点击左上角"Dash主页"的图标,输入"终端",点击终端,
输入:“ sudo apt-get install build-essential git diffstat gawk chrpath texinfo libtool gcc-multilib ”回车
输入 tar xvf edison-src-rel1-maint-rel1-ww42-14.tgz 回车, 如图
这一步是解压文件
<center><img src="http://intel.eetrend.com/files/filefield_paths/164154rozcmicziyimeyci.p…; alt=""></center>
接着输入" cd edison-src "回车,进入文件夹
<center><img src="http://intel.eetrend.com/files/filefield_paths/164408cylly7hl77hzww2u_1…; alt=""></center>
输入" ./device-software/setup.sh "回车 开始构建编译环境
<center><img src="http://intel.eetrend.com/files/filefield_paths/164543q4w3rr1z7aw41ww4_2…; alt=""></center>
输入 " source poky/oe-init-build-env " 回车 设置环境变量
<center><img src="http://intel.eetrend.com/files/filefield_paths/164753u4ikvqk1jqkhvw22_3…; alt=""></center>
重要的一步,开始搭梯子!!!
点击右上角这个按钮 <img src="http://intel.eetrend.com/files/filefield_paths/164946msetrsqsl5jcfg85.p…; alt="">
然后选择配置"wei" pn
<center><img src="http://intel.eetrend.com/files/filefield_paths/165150gvdg67shxzbdb66d.p…; alt=""></center>
开始配置你自己或者从JS那里买的梯子
完成连接以后在进行下一步,不然就一直连
然后我们开始配置编译参数,在终端输入" getconf _NPROCESSORS_ONLN "回车
<center><img src="http://intel.eetrend.com/files/filefield_paths/170051up60jp63hg61ttey_1…; alt=""></center>
可以看到打印出了一个数字,我的是2,记住这个数字
在文件管理里进入 /dison-src/build/conf 打开local.conf文件
<center><img src="http://intel.eetrend.com/files/filefield_paths/170348al5lft55kiuflq6t.p…; alt=""></center>
找到BB_NUMBER_THREADS 语句,把里面的数字修改成你刚才获取的那个数,我的是2
找到 PARALLEL_MAKE 语句,也把后面的数字改成刚才获取的数字
<center><img src="http://intel.eetrend.com/files/filefield_paths/185258nvhcuxfahvhih6tf.p…; alt=""></center>
按Ctrl + S 保存,关闭文件
然后在终端输入" bitbake edison-image " 这样就开始编译Yocto系统了
<center><img src="http://intel.eetrend.com/files/filefield_paths/165602xzw4jlm1quucumhu.p…; alt=""></center>
回车以后就开始漫长的建立
<center><img src="http://intel.eetrend.com/files/filefield_paths/165724xv86bk1jkklk6l8y.p…; alt=""></center>
以下开始介绍如何处理会出现的错误
如果遇到黄色的警告提示可以不用管,继续让软件编译
<center><img src="http://intel.eetrend.com/files/filefield_paths/171350vu08bbqh0l8ut7bb_2…; alt=""></center>
如果你遇到了红色的EERO错误那就马上停止,按Ctrl + C ,一直按,直到出现命令行输入状态,如图
<center><img src="http://intel.eetrend.com/files/filefield_paths/171643gvra86yfs2aruavy_4…; alt=""></center>
然后继续输入" bitbake edison-image " 回车,重新接下去编译
一直到 Currently 4 running tasks (6 of 2802): 里面的数字调到2802那就编译好了,以后再编译十几分钟就可以了,不需要在下载
当初次编译好以后我们就可以开始定制软件,上面的操作完成后会进入输入命令,我们输入" hob"进入图形化定制界面
<center><img src="http://intel.eetrend.com/files/filefield_paths/172355h6ytzg96ttgziaaz_5…; alt=""></center>
<center><img src="http://intel.eetrend.com/files/filefield_paths/172532kv7xfdif2efaaeva.p…; alt=""></center>
Select a machine 选择 edison ,选完后需要几分钟设置参数
接着在Select an image recipe 选择 edison-image 如图
<center><img src="http://intel.eetrend.com/files/filefield_paths/172835oapb8eb23wp86bwz_2…; alt=""></center>
点击右下角的" Edit image recipe " 进行系统定制
<center><img src="http://intel.eetrend.com/files/filefield_paths/173026v2j6no262n28l77c_3…; alt=""></center>
选择你需要或者删除的软件,这一步就是在定制系统了
然后按右下角的" Build packages "开始编译系统,这次就只需要编译你新增的软件包,所以会很快
完成以后会出现如下界面
<center><img src="http://intel.eetrend.com/files/filefield_paths/173837f4o9328q442dc08c_4…; alt=""></center>
我们就可以关闭窗口了
接着在终端输入" cd " 回车 " ./edison-src/device-software/utils/flash/postBuild.sh " 回车
<center><img src="http://intel.eetrend.com/files/filefield_paths/174135bylgg3595xl1o75o_6…; alt=""></center>
会提示"cp:无法获取"/home/while/edison-src/build/tmp/deploy/images/edison/vmlinux" 的文件状态(stat):没有那个文件或目录"
没关系,跳过即可
<center><img src="http://intel.eetrend.com/files/filefield_paths/182325ihc3roq66q943a6q_7…; alt=""></center>
按照下图连接Edison , 注意:在圆口电源线与USB线中间有个开关要拨到上,就是往两个USB口的方向!
<center><img src="http://intel.eetrend.com/files/filefield_paths/072553unaubru8uduncrru_9…; alt=""></center>
连接好以后电脑会自动安装驱动,等驱动安装完毕后会多出一个叫Edison的磁盘
打开文件管理器,进入/edisin-src/build/toFlash 文件夹
<center><img src="http://intel.eetrend.com/files/filefield_paths/072031bjoo7rojrzz2f5fl_1…; alt=""></center>
把toFlash的文件全部复制到Edison磁盘
按下图连接Edison
<center><img src="http://intel.eetrend.com/files/filefield_paths/072707ffog52fu7gm97m17_1…; alt=""></center>
把在圆口电源线与USB线中间有个开关要拨到下,就是往圆口电源的方向
打开设备管理器可以看到新增了一个串口
<center><img src="http://intel.eetrend.com/files/filefield_paths/072802kfk6axukzq3tqgg1_1…; alt=""></center>
记下新增的串口号,比如我的是COM3
打开putty.exe, Connection type 选择 Serial,在Host Name(or IP address) 填上刚才记下的COM号,Port填入115200,Saved Sessions 填入 Edison ,按Save保存
操作完会像这样
<center><img src="http://intel.eetrend.com/files/filefield_paths/072829sjhfj5qggpm1hhxh_1…; alt=""></center>
点击Edison,然后按回车,会出现命令提示行;
输入root 按回车
<center><img src="http://intel.eetrend.com/files/filefield_paths/puttyscreen2.jpg" alt=""></center>
输入reboot ota 回车进行系统升级,等待5分钟左右,跳出命令输入行就重装完成了
编译Yotco系统教程结束
文章来源:
<a href="http://www.arduino.cn/thread-10595-1-1.html">Arduino中文社区