Angstrom移植操作
???? 英碼科技的文件系統(tǒng)是定制的The Angstrom Distribution Linux(以下簡稱Angstrom)。Angstrom是一個(gè)界面友好的嵌入式發(fā)行版本,用于手持設(shè)備,機(jī)頂盒和網(wǎng)絡(luò)存儲設(shè)備等嵌入式設(shè)備。關(guān)于Angstrom的相關(guān)資料可以登錄http://www.angstrom-distribution.org查詢。Angstrom Linux是基于OpenEmbedded(以下簡稱OE)工具創(chuàng)建的嵌入式系統(tǒng)專用Linux發(fā)行版。關(guān)于OE的相關(guān)資料可以登錄http://www.openembedded.org查詢。
????EMA-Tech修改的OE開發(fā)包要求開發(fā)環(huán)境有50G~60G的可用空間,編譯運(yùn)行時(shí)確保網(wǎng)絡(luò)與外網(wǎng)連接OE對于不同系統(tǒng)的支持請參考http://www.openembedded.org/index.php/OEandYourDistro。運(yùn)行環(huán)境為Ubuntu 10.04(OE推薦)32bit(可使用python-psyco大幅提高OE速度)server版。
安裝基本的依賴庫和工具(不同發(fā)行版請查找對應(yīng)的包名):
在ubuntu下運(yùn)行命令:
sudo apt-get install sed wget cvs subversion git-core coreutils unzip bzip2 gzip texi2html \
texinfo docbook-utils gawk python-pysqlite2 diffstat help2man make gcc build-essential g++ \
desktop-file-utils chrpath libxml2-utils xmlto python-psyco libapr1 docbook
?
2)因?yàn)镺E要求使用bash用作系統(tǒng)shell。請確保/bin/sh為bash。
在ubunutu下運(yùn)行以下命令:
sudo dpkg-reconfigure dash
里假設(shè)$HOME的絕對路徑為/home/ema/,即$HOME=/home/ema
如果用戶的當(dāng)前用戶的路徑不是為/home/ema,則請把/home/ema改為當(dāng)前用戶絕對路徑
?
1)? 將我司提供的oe.tar.bz2壓縮包拷貝并解壓到當(dāng)前用戶$HOME目錄下(這里的$HOME是/home/ema目錄)(以下的資源均存于我公司提供的“OE開發(fā)工具”目錄中)
$cp /mnt/hgfs/share/ OE開發(fā)工具/ openembedded/oe.tar.bz2 /home/ema
$ tar jxvf oe.tar.bz2 -C /home/ema
在/home/ema下得到名為oe的目錄
?
2)? 打入EMA-Tech的支持補(bǔ)丁
$ cp /mnt/hgfs/share/ OE開發(fā)工具/ openembedded/patch_sbc3530 /home/ema/oe/sources/openembedded
$ cd /home/ema/oe/sources/openembedded
$ patch -p1 < patch_sbc3530
?
3)? 將提供的資源psp3.00.01.06.tar.bz2、ti_cgt_c6000_6.1.17_setup_linux_x86.bin、Graphics_SDK_setuplinux_4_03_00_02.bin、Graphics_SDK_setuplinux_4_03_00_02.bin.md5放到指定目錄下
在ubuntu下運(yùn)行以下命令:
$ cp /mnt/hgfs/share/ OE開發(fā)工具/ openembedded/psp3.00.01.06.tar.bz2 /home/ema/oe/sources/openembedded/recipes/linux/linux-omap-sbc3530-2.6.32
?
$ cp /mnt/hgfs/share/ OE開發(fā)工具/ openembedded/ti_cgt_c6000_6.1.17_setup_linux_x86.bin /home/ema/oe/sources/openembedded/recipes/ti/files???????
?
$ cp /mnt/hgfs/share/ OE開發(fā)工具/ openembedded/Graphics_SDK_setuplinux_4_03_00_02.bin /home/ema/oe/sources/downloads
?
$ cp /mnt/hgfs/share/ OE開發(fā)工具/ openembedded/Graphics_SDK_setuplinux_4_03_00_02.bin.md5 /home/ema/oe/sources/downloads
?
修改文件
這里假設(shè)$HOME的絕對路徑為/home/ema,即$HOME=/home/ema
如果用戶的當(dāng)前用戶的路徑不是為/home/ema,則請把/home/ema改為當(dāng)前用戶絕對路徑
1)? 修改/home/ema/oe/build/conf/bblayers.conf文件中的路徑
修改文件內(nèi)容如下:
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "1"
?
BBFILES ?= ""
?
# Add your overlay location to BBLAYERS
# Make sure to have a conf/layers.conf in there
BBLAYERS = "/home/ema/oe/sources/openembedded ??"
如果用戶的當(dāng)前用戶的路徑不是為/home/ema,請把/home/ema改為當(dāng)前用戶的絕對路徑
?
2)? 還需要修改文件$HOME/oe/build/conf/local.conf
修改如下:
# Where to store sources
DL_DIR = "/home/ema/oe/sources/downloads"
?
INHERIT += "rm_work"
?
# Which files do we want to parse:
BBFILES ?= "/home/ema/oe/sources/openembedded/recipes/*/*.bb"
BBMASK = ""
?
# Qemu 0.12.x is giving too much problems recently (2010.05), so disable it for users
ENABLE_BINARY_LOCALE_GENERATION = "0"
?
# What kind of images do we want?
IMAGE_FSTYPES += "tar.bz2"
?
# Make use of SMP:
#?? PARALLEL_MAKE specifies how many concurrent compiler threads are spawned per bitbake process
#?? BB_NUMBER_THREADS specifies how many concurrent bitbake tasks will be run
PARALLEL_MAKE???? = "-j4"
BB_NUMBER_THREADS = "4"
?
DISTRO?? = "angstrom-2008.1"
MACHINE ?= "sbc3530"
?
# Set TMPDIR instead of defaulting it to /tmp
TMPDIR = "/home/ema/oe/build/tmp-angstrom_2008_1"
?
# Don't generate the mirror tarball for SCM repos, the snapshot is enough
BB_GENERATE_MIRROR_TARBALLS = "0"
?
# Go through the Firewall
#HTTP_PROXY??????? = http://:/
如果用戶的當(dāng)前用戶的路徑不是為/home/ema,請把/home/ema改為當(dāng)前用戶的絕對路徑
?
?OE編譯示例
1)???????? 設(shè)置編譯環(huán)境變量(一個(gè)終端窗口只需設(shè)置一次,重新打開終端窗口需重新設(shè)置)
???????? $ export OE_BUILD_DIR="$HOME/oe/build"
???????? $ export OE_BUILD_TMPDIR="$HOME/oe/build/tmp-angstrom_2008_1"
???????? $ export OE_SOURCE_DIR="$HOME/oe/sources"
???????? $ export OE_BASE="$HOME/oe"
???????? $ export PATH="$HOME/oe/sources/bitbake/bin:$PATH"
???????? $ export BBPATH="$HOME/oe/build:$HOME/oe/sources/openembedded"
?
2)???????? 編譯有console的微型文件系統(tǒng)
$ bitbake console-base-image(編譯需要的時(shí)間比較長)
?
編譯完成后生成的console文件系統(tǒng)和Linux Kernel文件所在的目錄:
$HOME/oe/build/tmp-angstrom_2008_1/deploy/glibc/images/sbc3530/
?
其中文件系統(tǒng)為
Angstrom-console-base-image-glibc-ipk-2011.03-sbc3530.rootfs.tar.bz2
(用于解壓到SD卡上EXT分區(qū)的文件系統(tǒng))
Angstrom-console-base-image-glibc-ipk-2011.03-sbc3530.rootfs.ubi
(用于燒寫到Flash的文件系統(tǒng))
?
Linux Kernel為
uImage-2.6.32-r90+gitra6bad4464f985fdd3bed72e1b82dcbfc004d7869-sbc3530.bin
(需要修改名才能在SD卡上用,如:uImage,燒寫就不需要)
?
bz2文件可以用在SD卡中作為根文件系統(tǒng)。ubi文件是Flash鏡像,在之后制作SD卡時(shí)會用到。但建議將發(fā)開。制作的文件系統(tǒng)可以放在SD卡中使用了。
在鏡像生成時(shí),同時(shí)還生成一個(gè)內(nèi)核的配置文件.config ,可以使用這個(gè)配置文件單獨(dú)的去編譯調(diào)試內(nèi)核
?
更多OE知識,請查閱網(wǎng)站:http://docs.openembedded.org/usermanual/usermanual.html
更多英碼科技的產(chǎn)品,請登陸英碼信息科技有限公司網(wǎng)站http://www.ema-tech.com。
轉(zhuǎn)載于:https://www.cnblogs.com/black8ema/archive/2012/03/31/2427267.html
總結(jié)
以上是生活随笔為你收集整理的Angstrom移植操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 物理路径与虚拟路径 及Web Serve
- 下一篇: 一个微软面试题--关于位结构体