mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 00:11:13 +00:00
b56f7407d9
The rockchip platform supports squashfs SD card images. However, the resulting image is not padded to completely fill the rootfs partition. Because of that, the f2fs overlay might not be erased, resulting in uci-defaults not bing executed or the configuration not being erased, even though drop config was selected. Modify the image generation process so the image is padded to cover the entire root filesystem partition. Signed-off-by: David Bauer <mail@david-bauer.net>
59 lines
1.7 KiB
Makefile
59 lines
1.7 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
DEVICE_VARS += UBOOT_DEVICE_NAME
|
|
|
|
define Build/Compile
|
|
$(CP) $(LINUX_DIR)/COPYING $(KDIR)/COPYING.linux
|
|
endef
|
|
|
|
### Image scripts ###
|
|
define Build/boot-common
|
|
# This creates a new folder copies the dtb (as rockchip.dtb)
|
|
# and the kernel image (as kernel.img)
|
|
rm -fR $@.boot
|
|
mkdir -p $@.boot
|
|
|
|
$(CP) $(DTS_DIR)/$(DEVICE_DTS).dtb $@.boot/rockchip.dtb
|
|
$(CP) $(IMAGE_KERNEL) $@.boot/kernel.img
|
|
endef
|
|
|
|
define Build/boot-script
|
|
# Make an U-boot image and copy it to the boot partition
|
|
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $(if $(1),$(1),mmc).bootscript $@.boot/boot.scr
|
|
endef
|
|
|
|
define Build/pine64-img
|
|
# Creates the final SD/eMMC images,
|
|
# combining boot partition, root partition as well as the u-boot bootloader
|
|
|
|
# Generate a new partition table in $@ with 32 MiB of
|
|
# alignment padding for the idbloader and u-boot to fit:
|
|
# http://opensource.rock-chips.com/wiki_Boot_option#Boot_flow
|
|
#
|
|
# U-Boot SPL expects the U-Boot ITB to be located at sector 0x4000 (8 MiB) on the MMC storage
|
|
PADDING=1 $(SCRIPT_DIR)/gen_image_generic.sh \
|
|
$@ \
|
|
$(CONFIG_TARGET_KERNEL_PARTSIZE) $@.boot \
|
|
$(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS) \
|
|
32768
|
|
|
|
# Copy the idbloader and the u-boot image to the image at sector 0x40 and 0x4000
|
|
dd if="$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME)-idbloader.img of="$@" seek=64 conv=notrunc
|
|
dd if="$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME)-u-boot.itb of="$@" seek=16384 conv=notrunc
|
|
endef
|
|
|
|
### Devices ###
|
|
define Device/Default
|
|
PROFILES := Default
|
|
KERNEL := kernel-bin
|
|
IMAGES := sysupgrade.img.gz
|
|
DEVICE_DTS = rockchip/$$(SOC)-$(lastword $(subst _, ,$(1)))
|
|
endef
|
|
|
|
include $(SUBTARGET).mk
|
|
|
|
$(eval $(call BuildImage))
|