[ubuntu]yocto的安裝配置與開發__ubuntu
最後更新:2018-08-21
來源:互聯網
上載者:User
轉載請註明來自:秦時明月_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安裝完畢。。