MX-760HD ROMFSExtraction

From MvixCommunity

Jump to: navigation, search

Here's how to extract a ROMFS filesystem image file from a firmware package file (.pkg) and to repackage a modified firmware into a ROMFS file and back to a firmware pkg file.

Extraction

If you are starting from a .pkg firmware file then you need to strip the headers and decompress the ROMFS:

   dd bs=108 if=mvix-fw-1.1.17.pkg skip=1 | gunzip > mvix-fw-1.1.17.romfs

This file contains a complete filesystem. You can look inside the file system (readonly) by mounting it. You may need to be root to do this:

   mkdir romfs.mountpoint
   mount -o loop -t romfs mvix-fw-1.1.17.romfs romfs.mountpoint
   cd romfs.mountpoint
   ls -l

Now you can have a look around. It's all read only, because you are still actually inside the firmware file.


(Re)Packaging

To make changes to the firmware, you need to copy it and then repack it once the changes are made.

   cp -a -r romfs.mountpoint romfs.mycopy
   cd romfs.mycopy

Now you can edit files. Interesting places to look are:

  • etc/ - contains setup files. you can change the passwords in etc/shadow - use /usr/sbin/grub-md5-crypt to create a new password.
  • usr/curacao/ - contains the GUI files - images etc..


Now that you've made your changes, you need to repack it into a ROMFS and then into a .pkg firmware file.

   genromfs -V "mambo" -d romfs.mycopy -f myfw.romfs

(You can get genromfs from: http://romfs.sourceforge.net)

Finally, pack the ROMFS into a .pkg file using makeFirmware.pl.

   perl makeFirmware.pl myfw.romfs -o myfw.pkg

You can now load this onto your player via the GUI.

Cygwin notes: genromfs compiles and works fine under cygwin, for extracting the romfs, perform a Google search for "romfs-tools.zip"

Personal tools