CC: brcm2708: Add sysupgrade support for Raspberry Pi
authorJohn Crispin <blogic@openwrt.org>
Mon, 23 Nov 2015 07:14:38 +0000 (07:14 +0000)
committerJohn Crispin <blogic@openwrt.org>
Mon, 23 Nov 2015 07:14:38 +0000 (07:14 +0000)
Also create .gz images if configured to do so.

This is equivalent, but different to what we have in trunk, as the image
creation has been rewritten there.

Signed-off-by: Bruno Randolf <br1@einfach.org>
git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@47604 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/brcm2708/base-files/lib/preinit/79_move_config [new file with mode: 0644]
target/linux/brcm2708/base-files/lib/upgrade/platform.sh [new file with mode: 0644]
target/linux/brcm2708/image/Makefile

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 (file)
index 0000000..7bcea7b
--- /dev/null
@@ -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 (file)
index 0000000..3e1ee00
--- /dev/null
@@ -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
+}
index e70bdd0..633ed88 100644 (file)
@@ -28,6 +28,9 @@ define Image/Build/RaspberryPi
        mcopy -i $(KDIR)/boot.img $(KDIR)/Image ::kernel.img  # Copy OpenWrt built kernel
        ./gen_rpi_sdcard_img.sh $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img $(KDIR)/boot.img $(KDIR)/root.$(1) \
                $(CONFIG_BRCM2708_SD_BOOT_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE)
+  ifneq ($(CONFIG_TARGET_IMAGES_GZIP),)
+       gzip -9n -c $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img > $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img.gz
+  endif
 endef
 
 define Image/Build