mirror of
				https://github.com/hzyitc/openwrt-redmi-ax3000
				synced 2025-10-30 07:50:32 +08:00 
			
		
		
		
	kernel: fix rootfs initramfs not updating on subsequent single build
There is currently a problem where the rootfs in an initramfs image for single target build is not updated on subsequent run. This is caused by a bug introduced ind78dec3e19("kernel: copy kernel build dir on Per-Device Initramfs compilation") where the initramfs_data.cpio rm was moved to PrepareConfigPerRootfs. This caused the side effect of dropping the rm call for single target build making the kernel reusing the previous generated initramfs_data.cpio. To correctly handle this, restore the original location of this call right after the touch /init call. This way the kernel will always regenerate the initramfs embedded rootfs ALSO for single target build. Fixes:d78dec3e19("kernel: copy kernel build dir on Per-Device Initramfs compilation") Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
		| @ -175,7 +175,6 @@ define Kernel/PrepareConfigPerRootfs | ||||
| 		[ ! -d "$(1)" ] || rm -rf $(1); \ | ||||
| 		mkdir $(1) && $(CP) -T $(LINUX_DIR) $(1); \ | ||||
| 		touch $(1)/.config; \ | ||||
| 		rm -rf $(1)/usr/initramfs_data.cpio*; \ | ||||
| 	} | ||||
| endef | ||||
|  | ||||
| @ -190,6 +189,7 @@ define Kernel/CompileImage/Initramfs | ||||
| 		$(call Kernel/Configure/Initramfs,$(if $(1),$(1),$(TARGET_DIR)),$(LINUX_DIR)$(2)); \ | ||||
| 		$(CP) $(GENERIC_PLATFORM_DIR)/other-files/init $(if $(1),$(1),$(TARGET_DIR))/init; \ | ||||
| 		$(if $(SOURCE_DATE_EPOCH),touch -hcd "@$(SOURCE_DATE_EPOCH)" $(if $(1),$(1),$(TARGET_DIR)) $(if $(1),$(1),$(TARGET_DIR))/init;) \ | ||||
| 		rm -rf $(LINUX_DIR)$(2)/usr/initramfs_data.cpio*; \ | ||||
| 		$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE), \ | ||||
| 			$(call locked,{ \ | ||||
| 				$(if $(call qstrip,$(CONFIG_EXTERNAL_CPIO)), \ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Christian Marangi
					Christian Marangi