写在前面
在QNX中镜像的编译是以build_file_tmpl(也就是以.build.tmpl为后缀的文件)为单元来实现的,且每个镜像对应一个img_name.build.tmpl。
一,QNX镜像编译
QNX的编译同样是由make来执行的,那么make的执行就离不开Makefile。在QNX中,镜像的编译还是从QNX/app/qnx_ap/target/hypervisor/host/Makefile开始的,在Makefile中通过“bash create_variant_images.sh",调用执行create_variant_images.sh的执行过程中,会通过下面的语句来build各个镜像。
1.1 编译除system分区外的其他所有分区
QNX/app/qnx_ap/target/hypervisor/host/Makefile
echo "./create_variant_images.sh --> Build all images(default)"
create_image $txt_file $2
apps/qnx_ap/target/hypervisor/host/create_images.sh
set_env()
{
...
.$(BSP_ROOT}/tools/build/image-builder.sh
...
}
那么如上,从入口的Makefile中我们看到,qnx通过调用image-builder.sh来开启镜像的编译,build_ifs2实际上时通过build_file_tmpl来编译一个个的分区,这些build_file_tmpl在Qnx/apps/qnx