英码科技的文件系统是定制的The Angstrom Distribution Linux(以下简称Angstrom)。Angstrom是一个界面友好的嵌入式发行版本,用于手持设备,机顶盒和网络存储设备等嵌入式设备。关于Angstrom的相关资料可以登录http://www.angstrom-distribution.org查询。Angstrom Linux是基于OpenEmbedded(以下简称OE)工具创建的嵌入式系统专用Linux发行版。关于OE的相关资料可以登录http://www.openembedded.org查询。

EMA-Tech修改的OE开发包要求开发环境有50G~60G的可用空间,编译运行时确保网络与外网连接OE对于不同系统的支持请参考http://www.openembedded.org/index.php/OEandYourDistro。运行环境为Ubuntu 10.04(OE推荐)32bit(可使用python-psyco大幅提高OE速度)server版。

安装基本的依赖库和工具(不同发行版请查找对应的包名):

在ubuntu下运行命令:

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)因为OE要求使用bash用作系统shell。请确保/bin/sh为bash。

在ubunutu下运行以下命令:

sudo dpkg-reconfigure dash

里假设$HOME的绝对路径为/home/ema/,即$HOME=/home/ema

如果用户的当前用户的路径不是为/home/ema,则请把/home/ema改为当前用户绝对路径

1)  将我司提供的oe.tar.bz2压缩包拷贝并解压到当前用户$HOME目录下(这里的$HOME是/home/ema目录)(以下的资源均存于我公司提供的“OE开发工具”目录中)

$cp /mnt/hgfs/share/ OE开发工具/ openembedded/oe.tar.bz2 /home/ema

$ tar jxvf oe.tar.bz2 -C /home/ema

在/home/ema下得到名为oe的目录

2)  打入EMA-Tech的支持补丁

$ cp /mnt/hgfs/share/ OE开发工具/ 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下运行以下命令:

$ cp /mnt/hgfs/share/ OE开发工具/ 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开发工具/ openembedded/ti_cgt_c6000_6.1.17_setup_linux_x86.bin /home/ema/oe/sources/openembedded/recipes/ti/files

$ cp /mnt/hgfs/share/ OE开发工具/ openembedded/Graphics_SDK_setuplinux_4_03_00_02.bin /home/ema/oe/sources/downloads

$ cp /mnt/hgfs/share/ OE开发工具/ openembedded/Graphics_SDK_setuplinux_4_03_00_02.bin.md5 /home/ema/oe/sources/downloads

修改文件

这里假设$HOME的绝对路径为/home/ema,即$HOME=/home/ema

如果用户的当前用户的路径不是为/home/ema,则请把/home/ema改为当前用户绝对路径

1)  修改/home/ema/oe/build/conf/bblayers.conf文件中的路径

修改文件内容如下:

# 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   "

如果用户的当前用户的路径不是为/home/ema,请把/home/ema改为当前用户的绝对路径

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://:/

如果用户的当前用户的路径不是为/home/ema,请把/home/ema改为当前用户的绝对路径

OE编译示例

1)         设置编译环境变量(一个终端窗口只需设置一次,重新打开终端窗口需重新设置)

$ 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的微型文件系统

$ bitbake console-base-image(编译需要的时间比较长)

编译完成后生成的console文件系统和Linux Kernel文件所在的目录:

$HOME/oe/build/tmp-angstrom_2008_1/deploy/glibc/images/sbc3530/

其中文件系统为

Angstrom-console-base-image-glibc-ipk-2011.03-sbc3530.rootfs.tar.bz2

(用于解压到SD卡上EXT分区的文件系统)

Angstrom-console-base-image-glibc-ipk-2011.03-sbc3530.rootfs.ubi

(用于烧写到Flash的文件系统)

Linux Kernel为

uImage-2.6.32-r90+gitra6bad4464f985fdd3bed72e1b82dcbfc004d7869-sbc3530.bin

(需要修改名才能在SD卡上用,如:uImage,烧写就不需要)

bz2文件可以用在SD卡中作为根文件系统。ubi文件是Flash镜像,在之后制作SD卡时会用到。但建议将发开。制作的文件系统可以放在SD卡中使用了。

在镜像生成时,同时还生成一个内核的配置文件.config ,可以使用这个配置文件单独的去编译调试内核

更多OE知识,请查阅网站:http://docs.openembedded.org/usermanual/usermanual.html

更多英码科技的产品,请登陆英码信息科技有限公司网站http://www.ema-tech.com

转载于:https://www.cnblogs.com/black8ema/archive/2012/03/31/2427267.html

Angstrom移植操作相关推荐

  1. STM32工程添加模块、代码移植操作步骤

    1.直接复制粘贴第一个新建的工程,然后改名 2.在工程里新建一个WokePace文件用来放其他模块文件 3.去别的工程直接把想要的模块复制到该文件夹下,每个模块都有一个main.c和main.h,也可 ...

  2. Cortex M33处理器下移植FreeRTOS V10.2.0的操作记录

    1.前言 本文记录了本人使用Keil V5.28向Cortex M33处理器下的一款MCU进行FreeRTOS V10.2.0的移植操作,过程中描述如存在不当或错误之处欢迎指正. 2.FreeRTOS ...

  3. “头移植模型”论文称换头术可行 业内疑两大问题未解

    来源:澎湃新闻 概要:11月21日,"换头术"的倡导者.哈尔滨医科大学教授任晓平在一场见面会上称,团队在科学领域取得重大突破, "完成了人类第一例头移植外科实验模型&qu ...

  4. 数据如何导入oracle数据库,如何用Oracle导入导出工具来实现Oracle数据库移植?

    Oracle数据库作为目前市场的主流数据库之一,许多应用都在其上进行开发,由于Oracle数据库更新换代的原因和不同的应用程序提供商,可能会造成在一个单位的应用中存在Oracle的几种版本,如Orac ...

  5. oracle数据库读取工具,用Oracle导入导出工具实现Oracle数据库移植

    用Oracle导入导出工具实现Oracle数据库移植.很不错的方法,建议使用![@more@] 用Oracle导入导出工具实现Oracle数据库移植 Oracle数据库作为目前市场的主流数据库之一,许 ...

  6. ARM(AM5728)板移植VSFTPD

    简介:在ARM板上搭建VSFTPD一直出现各种奇怪的问题,搜寻许多资料未果,现已解决,特此分享. 说明:以下的分享均是VSFTPD的初级用法以及我所遇到的问题,x86使用源码安装也可使用此方式进行安装 ...

  7. STM32移植LWIP

    目录 01.IAR工程移植 02.修改Keil工程 在上篇文章<LWIP初体验-修改ST官方demo>中我们已经在自己的开发板上实现了简单的TCPsever和TCPclient功能.验证完 ...

  8. uC/OS_II操作系统移植,亲测可用

    uC/OS-II简介 uC/OS-II由Micrium公司提供,是一个可移植.可固化的.可裁剪的.占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理 ...

  9. 瑞萨linux编译环境,瑞萨RZ/A2M Linux4.19系统构建与驱动移植纪实之一:BSP环境搭建...

    瑞萨RZ/A2M Linux4.19系统构建与驱动移植纪实之一:BSP环境搭建 我的系统信息 下载RZ/A Linux-4.19 BSP 编译安装带有SSL模块的Python 2.7 我的系统信息 下 ...

最新文章

  1. Android的组件化和模块化
  2. 安装、连接MS SQL Server 2000的问题
  3. 简述Linux 文件系统的目录结构
  4. Ubuntu下eclipse indigo版在线安装struts插件
  5. fork-join详解(2)
  6. You can format your XML in the 'standard' Android way...
  7. Boot2Docker 安装运行出现客户端与服务端版本不一致的解决办法
  8. VMware vSphere 服务器虚拟化之二十七桌面虚拟化之View中使用Thinapp软件虚拟化
  9. 使用SaltStack安装JBoss
  10. 50个免费下载3D模型的站点
  11. 下载百度网盘资源不限速的两种方法
  12. oracle toda和pl/sql匪夷所思的差异
  13. iar升级芯片库_【经验】如何使用IAR生成MCU RL78的库文件?
  14. css 延时几秒代码,CSS3 会聚展开文字动画实例及animation-delay属性规则
  15. 【控制系统的微分方程】
  16. oracle报错解决
  17. PostMan管理EZ
  18. 好的程序员如何写代码
  19. Hello Java(JAVA的简介)
  20. 导致论文高被引的关键因素

热门文章

  1. 冒泡排序 自带时间复杂度测试
  2. oracle 查看内存参数配置,Oracle内存参数配置及版本问题
  3. C语言中面向对象编程
  4. php redis并发读写,PHP使用Redis实现防止大并发下二次写入的方法
  5. kettle 内存设置_【转】kettle 的内存设置及输出日志的时间类型
  6. 视频监控中的光端机是干什么用的?
  7. 【渝粤教育】国家开放大学2018年秋季 0043-22T计算机文化 参考试题
  8. 【渝粤教育】 国家开放大学2020年春季 1259西方行政学说 参考试题
  9. 【渝粤题库】国家开放大学2021春2097民法学(1)题目
  10. 如何选择LoRa产品