Message ID | 1437153513-28082-1-git-send-email-br1@einfach.org |
---|---|
State | Changes Requested |
Headers | show |
On 17/07/2015 19:18, Bruno Randolf wrote: > diff --git a/target/linux/brcm2708/Makefile b/target/linux/brcm2708/Makefile > index 30f6e1d..37ff204 100644 > --- a/target/linux/brcm2708/Makefile > +++ b/target/linux/brcm2708/Makefile > @@ -19,7 +19,8 @@ SUBTARGETS:=bcm2708 bcm2709 > KERNEL_PATCHVER:=3.18 > > include $(INCLUDE_DIR)/target.mk > -DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 > +DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 \ > + kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 > > define Target/Description > Build firmware image for Broadcom BCM2708/BCM2709 SoC devices. these changes are unrelated to sysupgrade. please split the patch up John
On 07/24/2015 08:12 AM, John Crispin wrote: > On 17/07/2015 19:18, Bruno Randolf wrote: >> diff --git a/target/linux/brcm2708/Makefile b/target/linux/brcm2708/Makefile >> index 30f6e1d..37ff204 100644 >> --- a/target/linux/brcm2708/Makefile >> +++ b/target/linux/brcm2708/Makefile >> @@ -19,7 +19,8 @@ SUBTARGETS:=bcm2708 bcm2709 >> KERNEL_PATCHVER:=3.18 >> >> include $(INCLUDE_DIR)/target.mk >> -DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 >> +DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 \ >> + kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 >> >> define Target/Description >> Build firmware image for Broadcom BCM2708/BCM2709 SoC devices. > > these changes are unrelated to sysupgrade. please split the patch up Hi John, This is necessary for sysupgrade, since it stores the sysupgrade.tgz in the FAT32 boot partition. Greetings, bruno
On 24/07/2015 11:24, Bruno Randolf wrote: > On 07/24/2015 08:12 AM, John Crispin wrote: >> On 17/07/2015 19:18, Bruno Randolf wrote: >>> diff --git a/target/linux/brcm2708/Makefile b/target/linux/brcm2708/Makefile >>> index 30f6e1d..37ff204 100644 >>> --- a/target/linux/brcm2708/Makefile >>> +++ b/target/linux/brcm2708/Makefile >>> @@ -19,7 +19,8 @@ SUBTARGETS:=bcm2708 bcm2709 >>> KERNEL_PATCHVER:=3.18 >>> >>> include $(INCLUDE_DIR)/target.mk >>> -DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 >>> +DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 \ >>> + kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 >>> >>> define Target/Description >>> Build firmware image for Broadcom BCM2708/BCM2709 SoC devices. >> >> these changes are unrelated to sysupgrade. please split the patch up > > Hi John, > > This is necessary for sysupgrade, since it stores the sysupgrade.tgz in > the FAT32 boot partition. > > Greetings, > bruno > of course, failed to see the obvious ..
diff --git a/target/linux/brcm2708/Makefile b/target/linux/brcm2708/Makefile index 30f6e1d..37ff204 100644 --- a/target/linux/brcm2708/Makefile +++ b/target/linux/brcm2708/Makefile @@ -19,7 +19,8 @@ SUBTARGETS:=bcm2708 bcm2709 KERNEL_PATCHVER:=3.18 include $(INCLUDE_DIR)/target.mk -DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 +DEFAULT_PACKAGES += brcm2708-gpu-fw kmod-usb-hid kmod-sound-core kmod-sound-arm-bcm2835 \ + kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 define Target/Description Build firmware image for Broadcom BCM2708/BCM2709 SoC devices. diff --git a/target/linux/brcm2708/base-files/lib/preinit/79_move_config b/target/linux/brcm2708/base-files/lib/preinit/79_move_config new file mode 100644 index 0000000..7bcea7b --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/preinit/79_move_config @@ -0,0 +1,18 @@ +#!/bin/sh +# Copyright (C) 2015 OpenWrt.org + +BOOTPART=/dev/mmcblk0p1 + +move_config() { + if [ -b $BOOTPART ]; then + insmod nls_cp437 + insmod nls_iso8859-1 + insmod fat + insmod vfat + mount -t vfat -o rw,noatime $BOOTPART /mnt + [ -f /mnt/sysupgrade.tgz ] && mv -f /mnt/sysupgrade.tgz / + umount /mnt + fi +} + +boot_hook_add preinit_mount_root move_config diff --git a/target/linux/brcm2708/base-files/lib/upgrade/platform.sh b/target/linux/brcm2708/base-files/lib/upgrade/platform.sh new file mode 100644 index 0000000..3e1ee00 --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/upgrade/platform.sh @@ -0,0 +1,17 @@ +platform_check_image() { + # i know no way to verify the image + return 0; +} + +platform_do_upgrade() { + sync + get_image "$1" | dd of=/dev/mmcblk0 bs=2M conv=fsync + sleep 1 +} + +platform_copy_config() { + mount -t vfat -o rw,noatime /dev/mmcblk0p1 /mnt + cp -af "$CONF_TAR" /mnt/ + sync + umount /mnt +}
The upgrade procedure works similar to the x86 platforms: The configuration files (sysupgrade.tgz) are saved in the boot partition and moved to the standard place in a preinit script. Since the boot partition is FAT32 we need the vfat modules and dependencies. Signed-off-by: Bruno Randolf <br1@einfach.org> --- target/linux/brcm2708/Makefile | 3 ++- .../brcm2708/base-files/lib/preinit/79_move_config | 18 ++++++++++++++++++ .../linux/brcm2708/base-files/lib/upgrade/platform.sh | 17 +++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 target/linux/brcm2708/base-files/lib/preinit/79_move_config create mode 100644 target/linux/brcm2708/base-files/lib/upgrade/platform.sh