[ubuntu]yocto的安装配置与开发

来源:互联网 发布:怪物猎人p3数据 编辑:程序博客网 时间:2024/06/05 00:14
转载请注明来自:秦时明月_whu
http://blog.sina.com.cn/s/blog_690aa174010111b3.html

yocto官网:http://www.yoctoproject.org




在这里有很多英文文档:http://www.yoctoproject.org/documentation


我下面的这些方法都是看完这些文档总结的。






1.安装yocto


参考:http://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html


step1:切换到bash
命令:sudo dpkg-reconfigure dash


然后选no


假如不切换到bash的话,后面的step  就会报错:Using dash as /bin/sh causes various subtle build problems, please use bash instead (e.g. 'dpkg-reconfigure dash' on an Ubuntu system. 
------------------下面是我遇到的问题,也许你没遇到,那就勇敢的跳过去吧----------------------


很奇怪的是,我执行sudo dpkg-reconfigure dash后根本就没跳出让你选no的对话框。


于是到/bin下面看了一下:


lrwxrwxrwx 1 root root       4 2011-10-30 16:57 rbash -> dash


发现当前shell指向的是dash。没办法,只能强制链接了。


bear@bear-K40IE:~$ sudo dpkg-reconfigure dash
[sudo] password for bear: 
bear@bear-K40IE:~$ ln -s /bin/bash /bin/dash
ln: creating symbolic link `/bin/dash': File exists
bear@bear-K40IE:~$ ln -s --force /bin/bash /bin/dash      ##没办法,只能强制链接了。


--------------------------------------------------------------------------------




stpe2. 安装ubuntu下yocto依赖的库


命令:
$ sudo apt-get install sed wget cvs subversion git-core coreutils \ unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk \ python-pysqlite2 diffstat help2man make gcc build-essential \ g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \ mercurial autoconf automake groff libtool xterm




step3. 下载Yocto Project


http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/poky-edison-6.0.tar.bz2






step4.编译镜像,在QEMU虚拟机下运行yocto


(其实可以不编译镜像的,直接使用别人编译好的镜像也可以,但是,我没编译过系统,所以很好奇就试了下)


注意:执行这步前,先要保证你有至少剩余50G的空间!!!!!


命令:
$ wget http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/poky-edison-6.0.tar.bz2
$ tar xjf poky-edison-6.0.tar.bz2
$ source poky-edison-6.0/oe-init-build-env edison-6.0-build


执行完上面这部后,会发现目录多了个edison-6.0-build,且当前目录会跳到 edison-6.0-build 。


然后为了加快镜像的编译速度,需要修改下edison-6.0-build/conf/local.conf的参数
$gedit conf/local.conf


BB_NUMBER_THREADS = "4"     ##就是你电脑核数 X 2 我的电脑是双核的,所以"4"
PARALLEL_MAKE = "j 3"       ##电脑核数的1.5倍


原教程说如果没有50G空间的话,在local.conf末行添加:INHERIT += rm_work  边编译文件边删除用过的文件。  但是,但是,还是建议不要加这个东西,因为编译一次镜像要7-8个小时,且大部分时间都耗在下载需要的文件上面,谁也无法保证编译一次就通过,所以,还是别加了。(我就每加,第一次通宵编译,8h后报错,再次编译,又改了下local.conf的参数,编译只要1h)


还有很多参数也是可以修改,仔细看看local.conf,里面说的很清楚。




 修改完local.conf后,记得保存。




然后执行:
$ bitbake -k core-image-sato


开始漫长的镜像编译过程
...... 
......
......
这时候你该away from your computer 给你的爸妈打个电话聊聊天什么的


......
......


终于编译完了,试着执行


$runqemu qemux86 


如果报错什么的,cd到存放poky-edison-6.0 的目录(我的是/home/bear/study)
bear@bear-K40IE:~/study$ source poky-edison-6.0/oe-init-build-env edison-6.0-build
runqemu qemux86


$runqemu qemux86 


(其实,bitbake和runqemu执行之前都需要$ source poky-edison-6.0/oe-init-build-env edison-6.0-build )


然后,QEMU就出现了,yocto安装完毕。。
0 0
原创粉丝点击