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

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

  (2012-03-24 19:33:26)
转载
标签: 

杂谈

 
转载请注明来自:秦时明月_whu

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安装完毕。。

你可能感兴趣的:(linux,embedded,system)