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: Bruno Randolf <br1@einfach.org> SVN-Revision: 46347
This commit is contained in:
parent
1b73796895
commit
2de7910102
4 changed files with 39 additions and 1 deletions
|
@ -19,7 +19,7 @@ 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.
|
||||
|
|
18
target/linux/brcm2708/base-files/lib/preinit/79_move_config
Normal file
18
target/linux/brcm2708/base-files/lib/preinit/79_move_config
Normal file
|
@ -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
|
17
target/linux/brcm2708/base-files/lib/upgrade/platform.sh
Normal file
17
target/linux/brcm2708/base-files/lib/upgrade/platform.sh
Normal file
|
@ -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
|
||||
}
|
|
@ -40,6 +40,9 @@ endef
|
|||
define Build/sdcard-img
|
||||
./gen_rpi_sdcard_img.sh $@ $@.boot $(word 2,$^) \
|
||||
$(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
|
||||
|
||||
### Device macros ###
|
||||
|
|
Loading…
Reference in a new issue