openwrt最终rootfs生成流程

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/stampinstall)以及(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/stampinstall)最终调用(target/stamp-install)将root-xxx打包到bin/target目录下

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值