diff --git a/airoha/base-files/lib/upgrade/platform.sh b/airoha/base-files/lib/upgrade/platform.sh
index 87924f6c639b3c693c16cae7f342cae92aa26d55..e864c67533d312d53419154c945d1922c4a6c6c9 100644
--- a/airoha/base-files/lib/upgrade/platform.sh
+++ b/airoha/base-files/lib/upgrade/platform.sh
@@ -49,7 +49,7 @@ platform_list_image_components() {
 	#		<type>			/configuration/<name>	<required>	<target device>
 	echo 	"pre_upgrade		upgrade_bundle		optional"
 	echo	"image				boot				required	boot\${next_bank_id}"
-	echo	"image				rootfs				required	rootfs\${next_bank_id}"
+	echo	"image				rootfs				optional	rootfs\${next_bank_id}"
 if  bootloader_upgrade_enabled 2>/dev/null "$image" "bootloader" "$boot_dev" ; then
 	echo	"bootloader			bootloader			optional	$boot_dev"
 fi
diff --git a/airoha/image/Makefile b/airoha/image/Makefile
index b2d0e1f5c6646ca949df59e6a8258fd123e7b57a..d654b57f7f136037f9d123b134a73be47ab14a6e 100755
--- a/airoha/image/Makefile
+++ b/airoha/image/Makefile
@@ -27,9 +27,10 @@ define Device/Default-airoha-common
   $(Device/Default-airoha-nand)
   PROFILES = Default
   DEVICE_VENDOR := IOPSYS
-  IMAGE/sysupgrade.itb := iopsys-fit-upgrade-image | iopsys-sign-image | create-last-link -squashfs-sysupgrade.itb last.itb
+  IMAGE/sysupgrade.itb := append-kernel | iowrt-kernel-fit lzma external-static-with-rootfs-with-u-boot-ram | \
+                          iopsys-fit-upgrade-image | iopsys-sign-image | create-last-link -squashfs-sysupgrade.itb last.itb
   IMAGES := sysupgrade.itb .img
-  KERNEL := kernel-bin | lzma | generate-uboot-images | iowrt-kernel-fit lzma external-static-with-u-boot-ram
+  KERNEL := kernel-bin | lzma | generate-uboot-images
   KERNEL_INITRAMFS := kernel-bin | lzma | iowrt-kernel-fit lzma external-static-with-initrd
   KERNEL_NAME := vmlinux
   DEVICE_UBI_LAYOUT := ubinize.cfg.in
diff --git a/airoha/image/iopsys-image-common.mk b/airoha/image/iopsys-image-common.mk
index fc75ca01cd5323aaf796287d9a9f98e2ec971ef4..87366a7e89d51fb553ee17c9bd3335a56a7b8faf 100644
--- a/airoha/image/iopsys-image-common.mk
+++ b/airoha/image/iopsys-image-common.mk
@@ -8,15 +8,13 @@ define Build/iopsys-fit-upgrade-image
 	@echo GenerateUpgradeFIT
 	$(call iopsys-fit-upgrade-image-prepare, $@, \
 		bootloader $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-$(DEVICE_NAME)-u-boot-nand.bin \
-		boot $(IMAGE_KERNEL) \
-		rootfs $(IMAGE_ROOTFS) \
+		boot $@ \
 		u-boot-env $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-env_dump_filtered.bin)
 	$(call iopsys-fit-upgrade-image-add-configs-same, $@.its, \
 		compat_versions:"1 0", \
 		first, \
 			bootloader \
 			boot \
-			rootfs \
 			u-boot-env \
 			$(if $(CONFIG_TARGET_UPGRADE_BUNDLE),upgrade_bundle) \
 	)