1、主Makefile定义
rootfs最直接和
(
p
a
c
k
a
g
e
/
s
t
a
m
p
−
i
n
s
t
a
l
l
)
以及
(package/stamp-install)以及
(package/stamp−install)以及(target/stamp-install)相关联
其中$(package/stamp-install)通过opkg工具安装到root目录下
$(target/stamp-install)使用mksquashfs4将root压缩。
world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE
2、$(package/stamp-install)
$(package/stamp-install)最终会执行make package/Install
通过这句利用生成的ipk文件将其安装到build_dir/target_xxx/root目录下
$(call opkg,$(TARGET_DIR)) install \
$(call opkg_package_files,$(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES)
$(curdir)/install: $(TMP_DIR)/.build $(curdir)/merge $(if $(CONFIG_TARGET_PER_DEVICE_ROOTFS),$(curdir)/merge-index)
- find $(STAGING_DIR_ROOT) -type d | $(XARGS) chmod 0755
rm -rf $(TARGET_DIR) $(TARGET_DIR_ORIG)
mkdir -p $(TARGET_DIR)/tmp
$(call opkg,$(TARGET_DIR)) install \
$(call opkg_package_files,$(foreach pkg,$(shell cat $(PACKAGE_INSTALL_FILES) 2>/dev/null),$(pkg)$(call GetABISuffix,$(pkg))))
@for file in $(PACKAGE_INSTALL_FILES); do \
[ -s $$file.flags ] || continue; \
for flag in `cat $$file.flags`; do \
$(call opkg,$(TARGET_DIR)) flag $$flag `cat $$file`; \
done; \
done || true
$(CP) $(TARGET_DIR) $(TARGET_DIR_ORIG)
$(call prepare_rootfs,$(TARGET_DIR),$(TOPDIR)/files)
3、 ( t a r g e t / s t a m p − i n s t a l l ) 最终调用 (target/stamp-install) 最终调用 (target/stamp−install)最终调用(target/stamp-install)将root-xxx打包到bin/target目录下