Skip to content
Snippets Groups Projects
Commit 2de79101 authored by John Crispin's avatar John Crispin
Browse files

brcm2708: Implement sysupgrade


Implement sysupgrade for Raspberry Pi, similar to the way it is done on x86:
The config files are saved in the boot partition and moved to where they are
normally expected in preinit.

Also add optional gzip compression for the SD card image, since this can save
a lot of space (76M vs 6M), also similar to x86.

Signed-off-by: default avatarBruno Randolf <br1@einfach.org>

SVN-Revision: 46347
parent 1b737968
No related branches found
No related tags found
No related merge requests found
...@@ -19,7 +19,7 @@ SUBTARGETS:=bcm2708 bcm2709 ...@@ -19,7 +19,7 @@ SUBTARGETS:=bcm2708 bcm2709
KERNEL_PATCHVER:=3.18 KERNEL_PATCHVER:=3.18
include $(INCLUDE_DIR)/target.mk 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 define Target/Description
Build firmware image for Broadcom BCM2708/BCM2709 SoC devices. Build firmware image for Broadcom BCM2708/BCM2709 SoC devices.
......
#!/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
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
}
...@@ -40,6 +40,9 @@ endef ...@@ -40,6 +40,9 @@ endef
define Build/sdcard-img define Build/sdcard-img
./gen_rpi_sdcard_img.sh $@ $@.boot $(word 2,$^) \ ./gen_rpi_sdcard_img.sh $@ $@.boot $(word 2,$^) \
$(CONFIG_BRCM2708_SD_BOOT_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(CONFIG_BRCM2708_SD_BOOT_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE)
ifneq ($(CONFIG_TARGET_IMAGES_GZIP),)
gzip -k -f9 $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img
endif
endef endef
### Device macros ### ### Device macros ###
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment