MG35Tool (mg35tool) is a tool for splitting and combining .upgrade files for the MG-35 media player.

Version: 1.3

Status: Done

Precompiled Windows binary:




mg35tool automatically removes all header information when splitting files and automatically recalculates it again when joining files.


This tool works on both Windows and Linux and this file contains both executables and source code.




mg35tool <split | join > [-v <version>] [-t <model>] [-b <boot_file>]

         [-k <kernel_file>] [-c <cramfs_file>] <upgrade_file>



Extract the individual pieces from an existing .upgrade file.


Combine several existing pieces into a new .upgrade file.

-b <boot_file>

Specifies name of boot loader file. Default when splitting

is boot.rom. When joining, the BOOT section of the update

file is only included if this option is specified.

-k <kernel_file>

Specify a compressed kernel file. Default is linux.gz

-c <cramfs_file>

Specify a compressed filing system file. Default is cramfs.img.

-v <version>

Specify the version of the .upgrade file in the format major.minor.patch

This information will be built into the upgrade file's header when

joining. This option has no effect when splitting.

-t  { MG25 | MG35 | MG350HD | MG350SHD | AUTO }

Specify the Mediagate hardware model.  Default is MG35 for join, AUTO for split.


The name of the .upgrade file to join or split.





mg35tool split MG35_1.4.3.upgrade

This will split the upgrade file and produce three files: boot.rom, linux.gz and cramfs.img



mg35tool join -k kernel.gz -c test.img MG35-test.upgrade

This will take kernel.gz and test.img and produce an upgrade file with a ROFS section but no BOOT section. All sizes and checksums will be calculated automatically as will the offset to the CramFS that is required to directly precede the kernel.


Note: .upgrade files without boot sections work very well on the MG-35 and are highly recommended!



Version 1.3 - John


Version 1.2 - Bitbasher


Version 1.1 - PBarette


Version 1.0 - PBarette