[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.htmlstep1:切换到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安装完毕。。