On 07/08/2015 07:42 PM, Bruno Randolf wrote: > Hi! > > I have the below change to add rudimentary support for sysupgrade on the > Raspberry Pi. I looked at the way platform_copy_config() is implemented > for x86 and tried to do the same, but I get the following error on mount: > > mount: mounting /dev/mmcblk0p2 on /mnt failed: Device or resource busy > > I believe I'd need some way to re-read the partition table after the dd > command. How does it work on x86? Any ideas? > > Also would it be OK to gzip the sdcard image to save space? It > compresses from 76M to 11M.
I think it would be nice to put the gzip command into an ifneq ($(CONFIG_TARGET_IMAGES_GZIP),) check. CONFIG_TARGET_IMAGES_GZIP defaults to y, but is currently only respected on x86... I guess it would make sense to handle it on other targets with ext4 images as well. Matthias > > Below is the diff, but this is not a properly formatted patch, yet. > > bruno > > 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..95ade38 > --- /dev/null > +++ b/target/linux/brcm2708/base-files/lib/upgrade/platform.sh > @@ -0,0 +1,19 @@ > +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 > +} > + > +## mount does not work. I think I'd need to re-read the partition table! > +#platform_copy_config() { > +# echo "*** platform_copy_config called" > /dev/console > +# mount -t ext4 -o rw,noatime /dev/mmcblk0p2 /mnt > +# cp -af "$CONF_TAR" /mnt/ > +# umount /mnt > +# echo "*** platform_copy_config done" > /dev/console > +#} > diff --git a/target/linux/brcm2708/image/Makefile > b/target/linux/brcm2708/image/Makefile > index e70bdd0..095cf0d 100644 > --- a/target/linux/brcm2708/image/Makefile > +++ b/target/linux/brcm2708/image/Makefile > @@ -28,6 +28,7 @@ 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) > + gzip -k -f $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img > endef > > define Image/Build > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel