rockchip: use LZMA FIT for kernel image
authorChuanhong Guo <gch981213@gmail.com>
Sun, 13 Nov 2022 13:29:26 +0000 (21:29 +0800)
committerChuanhong Guo <gch981213@gmail.com>
Mon, 14 Nov 2022 14:50:21 +0000 (22:50 +0800)
Use LZMA compressed kernel to save some space in boot partition.

Fixes: #11197
Tested-by: Tianling Shen <cnsztl@immortalwrt.org> [NanoPi R2S]
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
target/linux/rockchip/image/Makefile
target/linux/rockchip/image/armv8.mk
target/linux/rockchip/image/mmc.bootscript
target/linux/rockchip/image/nanopi-r2s.bootscript
target/linux/rockchip/image/nanopi-r4s.bootscript

index e4db1e5d58c62bbacb2382c95d9999f0e4fddb04..e232166e51ee9bd08909e44ac1aeb602a724b63f 100644 (file)
@@ -16,7 +16,6 @@ define Build/boot-common
        rm -fR $@.boot
        mkdir -p $@.boot
 
-       $(CP) $(DTS_DIR)/$(DEVICE_DTS).dtb $@.boot/rockchip.dtb
        $(CP) $(IMAGE_KERNEL) $@.boot/kernel.img
 endef
 
@@ -48,7 +47,7 @@ endef
 ### Devices ###
 define Device/Default
   PROFILES := Default
-  KERNEL := kernel-bin
+  KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
   IMAGES := sysupgrade.img.gz
   DEVICE_DTS = rockchip/$$(SOC)-$(lastword $(subst _, ,$(1)))
 endef
index 6cc31f1d8c4cbe7a656c31dc4e938cc0d238f67d..f95416323ddadf923d3860e7413190273da9d883 100644 (file)
@@ -2,6 +2,9 @@
 #
 # Copyright (C) 2020 Tobias Maedel
 
+# FIT will be loaded at 0x02080000. Leave 16M for that, align it to 2M and load the kernel after it.
+KERNEL_LOADADDR := 0x03200000
+
 define Device/friendlyarm_nanopi-r2s
   DEVICE_VENDOR := FriendlyARM
   DEVICE_MODEL := NanoPi R2S
index b70a62c4c7426f2e9afc6a6f6a3edd7c211af63d..9269fda9cf8b6c8f294fd76b5bb9ef162030bf92 100644 (file)
@@ -2,7 +2,6 @@ part uuid mmc ${devnum}:2 uuid
 
 setenv bootargs "console=ttyS2,1500000 console=tty1 earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=${uuid} rw rootwait"
 
-load mmc ${devnum}:1 ${fdt_addr_r} rockchip.dtb
 load mmc ${devnum}:1 ${kernel_addr_r} kernel.img
 
-booti ${kernel_addr_r} - ${fdt_addr_r}
+bootm ${kernel_addr_r}
index 5198881a26851126e6513b3c3ac35b040817500e..8f961d37329095582bdff5279347eb186f0e5352 100644 (file)
@@ -2,7 +2,6 @@ part uuid mmc ${devnum}:2 uuid
 
 setenv bootargs "console=ttyS2,1500000 earlycon=uart8250,mmio32,0xff130000 root=PARTUUID=${uuid} rw rootwait"
 
-load mmc ${devnum}:1 ${fdt_addr_r} rockchip.dtb
 load mmc ${devnum}:1 ${kernel_addr_r} kernel.img
 
-booti ${kernel_addr_r} - ${fdt_addr_r}
+bootm ${kernel_addr_r}
index abe9c24ee330157288133cf31d1e6f1a628abee1..1e53200027adf001069d5017545cf3084284ecc8 100644 (file)
@@ -2,7 +2,6 @@ part uuid mmc ${devnum}:2 uuid
 
 setenv bootargs "console=ttyS2,1500000 earlycon=uart8250,mmio32,0xff1a0000 root=PARTUUID=${uuid} rw rootwait"
 
-load mmc ${devnum}:1 ${fdt_addr_r} rockchip.dtb
 load mmc ${devnum}:1 ${kernel_addr_r} kernel.img
 
-booti ${kernel_addr_r} - ${fdt_addr_r}
+bootm ${kernel_addr_r}