1). 简介
嵌入式设备采用Embedded Linux操作系统进行开发已经越来越成为主流,但是如何将开发完成的Linux uboot/kernel配置,以及应用程序整合到EmbeddedLinux镜像中以便在量产的时候更方便的更新到嵌入式设备中可能是很多嵌入式开发者面临的挑战之一,而本文就以在Embedded Linux中使用比较广泛的Yocto project为例,基于Openembedded开发框架定制 Embedded Linux镜像。
本文所演示的平台来自于Toradex Colibri iMX6嵌入式平台,这个平台是基于NXP iMX6系列ARM处理器,核心为Cortex-A9。同时Toradex也提供了一个完整的Ycoto project兼容的基于Openembedded发布的Embedded Linux,这样就无需完全从头开始配置自己的layer,只需要修改添加需要的部分即可。
2). 准备
a). ColibriiMX6 ARM核心版配合ColibriEva Board 载板,用于测试编译好的image。
b). 配置Openembedded开发环境,请参考这里说明,本文测试使用LinuxImage2.7分支环境。
c). 参考这里说明***Linux V2.7内核和uboot源代码,用于产生相应的patc***件。
c). 本文演示的定制Embedded Linux镜像主要添加修改以下内容,下面会按照这个内容逐一说明:
./ 修改uboot默认环境变量,适配演示使用的 LVDS 液晶屏
./ 修改Linux Kernel增加一个设备驱动;同时修改Linux device tree文件,增加两个串口配置
./ 将演示Qt应用程序集成到image,并配置为开机自动启动
3). 创建定制Embedded Linux 相关配置Layer
a). 在配置***好的OpenEmbedded环境Layer目录下,创建存放本次定制image相关文件资料的Layer – meta-toradex-custom.
b). 在meta-toradex-custom目录下创建 conf 目录,并创建Layer配置文件 nf ,这个文件内容可以参考meta-toradex-nxp/conf/nf 文件进行修改,主要是layer名字和优先级以及依赖部分需要注意,修改好的文件请见如下:
https:///simonqin09/openembedded_demo/blob/master/meta-toradex-custom/conf/nf
c). 在 conf 目录下创建 machine 目录,并创建 machine 配置文件 colibri-imx6-nf , 文件内容同样参考meta-toradex-nxp/conf/machine/colibri-nf 修改,本文因没有修改devicetree名字,因此没有修改次文件,内容如下:
https:///simonqin09/openembedded_demo/blob/master/meta-toradex-custom/conf/machine/colibri-imx6-nf
2AXMUL - FOXBORO
2AXP - FOXBORO
2AXR - FOXBORO
2AXSGC - FOXBORO
2AXSLW - FOXBORO
2AXSQE - FOXBORO
2AXSSL - FOXBORO
2AXSUM - FOXBORO
2AXT2 - FOXBORO
2AXTIM - FOXBORO
2AXVD - FOXBORO
2AXVF - FOXBORO
2B9043 - FOXBORO
2CDA-S1 - FOXBORO
2CDAS1 - FOXBORO
2NU-L2 - FOXBORO
2NUL2 - FOXBORO
308JG - FOXBORO
33-13-036 - FOXBORO
33-M132PN - FOXBORO
3313036 - FOXBORO
33M132PN - FOXBORO
3A2-D2IB - FOXBORO
3A2-D3IB - FOXBORO
3A2-I3D - FOXBORO
3A2-R2DP - FOXBORO
3A2D2I - FOXBORO
3A2D2IB - FOXBORO
3A2D3I - FOXBORO
3A2D3IB - FOXBORO
3A2I2D - FOXBORO
3A2I2DA - FOXBORO
3A2I3D - FOXBORO
3A2I3DA - FOXBORO
3A2M2D - FOXBORO
3A2R2DC - FOXBORO
3A2R2DN - FOXBORO
3A2R2DP - FOXBORO
3A2T2DJ1 - FOXBORO
3A2T2DJ2 - FOXBORO
3A2T2DK1 - FOXBORO
3A2T2DK2 - FOXBORO
3A4-I2DA - FOXBORO
3A4I2DA - FOXBORO
3A8I2D1 - FOXBORO
3A8R2DP2 - FOXBORO
3A8T2D3 - FOXBORO
3A8V2D1 - FOXBORO
3AD-I3IA - FOXBORO
3ADI3IA - FOXBORO
3ASI3I - FOXBORO
3ASI3IA - FOXBORO
3AX-QD1 - FOXBORO
3AXLP1M1 - FOXBORO
3AXQD1 - FOXBORO
3***-D2KSB - FOXBORO
3***D2KS - FOXBORO
3***D2KSB - FOXBORO
3***D2VS - FOXBORO
3C8-C3D - FOXBORO
3C8C3D - FOXBORO
3C8D2CS - FOXBORO
3CLCBA - FOXBORO
3CLPAA - FOXBORO
3CLPBA - FOXBORO
3F4-D2KPA - FOXBORO
3F4-F2DA - FOXBORO
3F4-I2D1A - FOXBORO
3F4-I2D2A - FOXBORO
3F4D2KPA - FOXBORO
3F4F2DA - FOXBORO
3F4I2D1A - FOXBORO
3F4I2D2A - FOXBORO
3F8-D2KSA - FOXBORO
3F8-E2DA - FOXBORO
3F8-I2DA - FOXBORO
3F8-R2DPA1 - FOXBORO
3F8C2DCA - FOXBORO
3F8D2KSA - FOXBORO
3F8E2DA - FOXBORO
3F8I2DA - FOXBORO
3F8R2DPA1 - FOXBORO
3F8T2DA1 - FOXBORO
3F8T2DA2 - FOXBORO
3F8T2DA3 - FOXBORO
3F8T2DA4 - FOXBORO
3F8T2DA5 - FOXBORO
3F8T2DA6 - FOXBORO
3F8T2DA7 - FOXBORO
3FK1-CCN - FOXBORO
3FK1-CHN - FOXBORO
3FK1-CLN - FOXBORO
3FK1CCN - FOXBORO
3FK1CHN - FOXBORO
3FK1CLN - FOXBORO
43AP - FOXBORO
43AP-FA22N-TAIA-5FT-D-FS-SS - FOXBORO
43AP-FA42C/PB-PA-PES-SJ - FOXBORO
43AP-FA42D/PC - FOXBORO
43AP-FA42N/PC - FOXBORO
43APFA22NTAIA5FT - FOXBORO
43APFA42C - FOXBORO
43APFA42CPBPAPES - FOXBORO
43APFA42CPC00IAS - FOXBORO
43APFA42D - FOXBORO
43APFA42DPC - FOXBORO
43APFA42NPC - FOXBORO
43APFA45C - FOXBORO
43XPC - FOXBORO
43XPO - FOXBORO
44897 - FOXBORO
47AAA1A - FOXBORO
48AAA1A - FOXBORO
523196-T - FOXBORO
523196T - FOXBORO
53001-6TX - FOXBORO
530016TX - FOXBORO
530046TX - FOXBORO
53013T - FOXBORO
556-8-30 - FOXBORO
556-8-51 - FOXBORO
556830 - FOXBORO
556851 - FOXBORO
557 - FOXBORO
595-3065-01 - FOXBORO
595-3096-01 - FOXBORO
595306501 - FOXBORO
595309601 - FOXBORO
600-4497-01 - FOXBORO
600449701 - FOXBORO
62H-5E-OH - FOXBORO
62H4E - FOXBORO
62H5EOH - FOXBORO
63U-DC-OMFA-F - FOXBORO
63UDCOMFAF - FOXBORO
66DC-OH-1 - FOXBORO
66DCOH1 - FOXBORO
693AT-OJD-6 - FOXBORO
693ATOJD6 - FOXBORO
710D39112 - FOXBORO
740CAA3133CCA - FOXBORO
740RA-A3000CQ - FOXBORO
740RAA3000CQ - FOXBORO
740RAA3330ABQ - FOXBORO
743CB-AF - FOXBORO
743CBAF - FOXBORO
75BCA-FEEA - FOXBORO
75BCAFEEA - FOXBORO
75BCAFFEA - FOXBORO
75BCAPTEA - FOXBORO
75TUAPTE*** - FOXBORO
760CNA-AT - FOXBORO
760CNA-AT-1 - FOXBORO
760CNAAT - FOXBORO
760CNAAT1 - FOXBORO
760CNAAT2 - FOXBORO
760CSA-2A - FOXBORO
760CSA-3A - FOXBORO
760CSA2A - FOXBORO
760CSA3A - FOXBORO
760CSA3A1 - FOXBORO
760CSA3A2 - FOXBORO
760CSA3A3 - FOXBORO
760ISA-A - FOXBORO
760ISAA - FOXBORO
760ISB-A - FOXBORO
760ISBA - FOXBORO
760RNA2A6T - FOXBORO
761CNA-AT - FOXBORO
761CNAADT - FOXBORO
761CNAAT - FOXBORO
761CNAAT1 - FOXBORO
761CSA-2A - FOXBORO
761CSA-3A - FOXBORO
761CSA-3A-1 - FOXBORO
761CSA2A - FOXBORO
761CSA3A - FOXBORO
761CSA3A1 - FOXBORO
762CNA-AT - FOXBORO
762CNA-DT - FOXBORO
762CNAAT - FOXBORO
762CNADT - FOXBORO
762CSA-2A - FOXBORO
762CSA-3A - FOXBORO
762CSA2A - FOXBORO
762CSA3A - FOXBORO
8000PA10G - FOXBORO
8000PA13 - FOXBORO
8000PA13G - FOXBORO
8000PA15G - FOXBORO
8000SA15G - FOXBORO
808212 - FOXBORO