PKG_CONFIG_DEPENDS += \
CONFIG_SIGNED_PACKAGES CONFIG_TARGET_INIT_PATH CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE \
CONFIG_NAND_SUPPORT \
- CONFIG_SDCARD_SUPPORT \
+ CONFIG_LEGACY_SDCARD_SUPPORT \
CONFIG_CLEAN_IPKG \
CONFIG_PER_FEED_REPO \
$(foreach feed,$(FEEDS_AVAILABLE),CONFIG_FEED_$(feed))
endef
endif
-ifeq ($(CONFIG_SDCARD_SUPPORT),)
- define Package/base-files/sdcard-support
- rm -f $(1)/lib/upgrade/sdcard.sh
+ifeq ($(CONFIG_LEGACY_SDCARD_SUPPORT),)
+ define Package/base-files/legacy-sdcard-support
+ rm -f $(1)/lib/upgrade/legacy-sdcard.sh
endef
endif
$(CP) ./files/* $(1)/
$(Package/base-files/install-key)
$(Package/base-files/nand-support)
- $(Package/base-files/sdcard-support)
+ $(Package/base-files/legacy-sdcard-support)
if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \
$(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \
fi
--- /dev/null
+legacy_sdcard_check_image() {
+ local file="$1"
+ local diskdev partdev diff
+
+ export_bootdevice && export_partdevice diskdev 0 || {
+ v "Unable to determine upgrade device"
+ return 1
+ }
+
+ get_partitions "/dev/$diskdev" bootdisk
+
+ v "Extract boot sector from the image"
+ get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b
+
+ get_partitions /tmp/image.bs image
+
+ #compare tables
+ diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
+
+ rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image
+
+ if [ -n "$diff" ]; then
+ v "Partition layout has changed. Full image will be written."
+ ask_bool 0 "Abort" && exit 1
+ return 0
+ fi
+}
+
+legacy_sdcard_do_upgrade() {
+ local board=$(board_name)
+ local diskdev partdev diff
+
+ export_bootdevice && export_partdevice diskdev 0 || {
+ v "Unable to determine upgrade device"
+ return 1
+ }
+
+ sync
+
+ if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then
+ get_partitions "/dev/$diskdev" bootdisk
+
+ v "Extract boot sector from the image"
+ get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b
+
+ get_partitions /tmp/image.bs image
+
+ #compare tables
+ diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
+ else
+ diff=1
+ fi
+
+ if [ -n "$diff" ]; then
+ get_image_dd "$1" of="/dev/$diskdev" bs=4096 conv=fsync
+
+ # Separate removal and addtion is necessary; otherwise, partition 1
+ # will be missing if it overlaps with the old partition 2
+ partx -d - "/dev/$diskdev"
+ partx -a - "/dev/$diskdev"
+ else
+ v "Writing bootloader to /dev/$diskdev"
+ get_image_dd "$1" of="$diskdev" bs=512 skip=1 seek=1 count=2048 conv=fsync
+ #iterate over each partition from the image and write it to the boot disk
+ while read part start size; do
+ if export_partdevice partdev $part; then
+ v "Writing image to /dev/$partdev..."
+ get_image_dd "$1" of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync
+ else
+ v "Unable to find partition $part device, skipped."
+ fi
+ done < /tmp/partmap.image
+
+ v "Writing new UUID to /dev/$diskdev..."
+ get_image_dd "$1" of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync
+ fi
+
+ sleep 1
+}
+
+legacy_sdcard_copy_config() {
+ local partdev
+
+ if export_partdevice partdev 1; then
+ mkdir -p /boot
+ [ -f /boot/kernel.img ] || mount -o rw,noatime /dev/$partdev /boot
+ cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
+ sync
+ umount /boot
+ fi
+}
+++ /dev/null
-sdcard_check_image() {
- local file="$1"
- local diskdev partdev diff
-
- export_bootdevice && export_partdevice diskdev 0 || {
- v "Unable to determine upgrade device"
- return 1
- }
-
- get_partitions "/dev/$diskdev" bootdisk
-
- v "Extract boot sector from the image"
- get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b
-
- get_partitions /tmp/image.bs image
-
- #compare tables
- diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
-
- rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image
-
- if [ -n "$diff" ]; then
- v "Partition layout has changed. Full image will be written."
- ask_bool 0 "Abort" && exit 1
- return 0
- fi
-}
-
-sdcard_do_upgrade() {
- local board=$(board_name)
- local diskdev partdev diff
-
- export_bootdevice && export_partdevice diskdev 0 || {
- v "Unable to determine upgrade device"
- return 1
- }
-
- sync
-
- if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then
- get_partitions "/dev/$diskdev" bootdisk
-
- v "Extract boot sector from the image"
- get_image_dd "$1" of=/tmp/image.bs count=1 bs=512b
-
- get_partitions /tmp/image.bs image
-
- #compare tables
- diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
- else
- diff=1
- fi
-
- if [ -n "$diff" ]; then
- get_image_dd "$1" of="/dev/$diskdev" bs=4096 conv=fsync
-
- # Separate removal and addtion is necessary; otherwise, partition 1
- # will be missing if it overlaps with the old partition 2
- partx -d - "/dev/$diskdev"
- partx -a - "/dev/$diskdev"
- else
- v "Writing bootloader to /dev/$diskdev"
- get_image_dd "$1" of="$diskdev" bs=512 skip=1 seek=1 count=2048 conv=fsync
- #iterate over each partition from the image and write it to the boot disk
- while read part start size; do
- if export_partdevice partdev $part; then
- v "Writing image to /dev/$partdev..."
- get_image_dd "$1" of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync
- else
- v "Unable to find partition $part device, skipped."
- fi
- done < /tmp/partmap.image
-
- v "Writing new UUID to /dev/$diskdev..."
- get_image_dd "$1" of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync
- fi
-
- sleep 1
-}
-
-sdcard_copy_config() {
- local partdev
-
- if export_partdevice partdev 1; then
- mkdir -p /boot
- [ -f /boot/kernel.img ] || mount -o rw,noatime /dev/$partdev /boot
- cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
- sync
- umount /boot
- fi
-}
/^gpio$/ and $ret .= "\tselect GPIO_SUPPORT\n";
/^jffs2$/ and $ret .= "\tselect USES_JFFS2\n";
/^jffs2_nand$/ and $ret .= "\tselect USES_JFFS2_NAND\n";
+ /^legacy-sdcard$/ and $ret .= "\tselect LEGACY_SDCARD_SUPPORT\n";
/^low_mem$/ and $ret .= "\tselect LOW_MEMORY_FOOTPRINT\n";
/^minor$/ and $ret .= "\tselect USES_MINOR\n";
/^mips16$/ and $ret .= "\tselect HAS_MIPS16\n";
/^rfkill$/ and $ret .= "\tselect RFKILL_SUPPORT\n";
/^rootfs-part$/ and $ret .= "\tselect USES_ROOTFS_PART\n";
/^rtc$/ and $ret .= "\tselect RTC_SUPPORT\n";
- /^sdcard$/ and $ret .= "\tselect SDCARD_SUPPORT\n";
/^separate_ramdisk$/ and $ret .= "\tselect USES_INITRAMFS\n\tselect USES_SEPARATE_INITRAMFS\n";
/^small_flash$/ and $ret .= "\tselect SMALL_FLASH\n";
/^spe_fpu$/ and $ret .= "\tselect HAS_SPE_FPU\n";
config NAND_SUPPORT
bool
-config SDCARD_SUPPORT
+config LEGACY_SDCARD_SUPPORT
bool
config ARCH_64BIT
BOARD:=mvebu
BOARDNAME:=Marvell EBU Armada
-FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part sdcard
+FEATURES:=fpu usb pci pcie gpio nand squashfs ramdisk boot-part rootfs-part legacy-sdcard
SUBTARGETS:=cortexa9 cortexa53 cortexa72
KERNEL_PATCHVER:=5.4
globalscale,espressobin-ultra|\
globalscale,espressobin-v7|\
globalscale,espressobin-v7-emmc)
- sdcard_check_image "$1"
+ legacy_sdcard_check_image "$1"
;;
*)
return 0
globalscale,espressobin-ultra|\
globalscale,espressobin-v7|\
globalscale,espressobin-v7-emmc)
- sdcard_do_upgrade "$1"
+ legacy_sdcard_do_upgrade "$1"
;;
methode,udpu)
platform_do_upgrade_uDPU "$1"
globalscale,espressobin-ultra|\
globalscale,espressobin-v7|\
globalscale,espressobin-v7-emmc)
- sdcard_copy_config
+ legacy_sdcard_copy_config
;;
methode,udpu)
platform_copy_config_uDPU
case "$(board_name)" in
marvell,armada8040-mcbin-doubleshot|\
marvell,armada8040-mcbin-singleshot)
- sdcard_check_image "$1"
+ legacy_sdcard_check_image "$1"
;;
*)
return 0
case "$(board_name)" in
marvell,armada8040-mcbin-doubleshot|\
marvell,armada8040-mcbin-singleshot)
- sdcard_do_upgrade "$1"
+ legacy_sdcard_do_upgrade "$1"
;;
*)
default_do_upgrade "$1"
case "$(board_name)" in
marvell,armada8040-mcbin-doubleshot|\
marvell,armada8040-mcbin-singleshot)
- sdcard_copy_config
+ legacy_sdcard_copy_config
;;
esac
}
kobol,helios4|\
solidrun,clearfog-base-a1|\
solidrun,clearfog-pro-a1)
- sdcard_check_image "$1"
+ legacy_sdcard_check_image "$1"
;;
*)
return 0
kobol,helios4|\
solidrun,clearfog-base-a1|\
solidrun,clearfog-pro-a1)
- sdcard_do_upgrade "$1"
+ legacy_sdcard_do_upgrade "$1"
;;
linksys,wrt1200ac|\
linksys,wrt1900ac-v1|\
kobol,helios4|\
solidrun,clearfog-base-a1|\
solidrun,clearfog-pro-a1)
- sdcard_copy_config
+ legacy_sdcard_copy_config
;;
linksys,wrt1200ac|\
linksys,wrt1900ac-v1|\