TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Underground Playground > TiVo Underground
TiVo Community
Forum Jump
Thread Tools
Old 05-06-2015, 07:29 AM   #1
Registered User
Join Date: Nov 2013
Posts: 1,503
Howto: Backup Roamio SW update from HDD (root/kernel)

YMMV, but this worked for me. Before the software update is installed on flash, it's stored on disk in MFS. Even with a lack of MFS tools, the SW update can be located using traditional data recovery techniques, bypassing the filesystem.

I don't know when it's deleted, but it would have to be on disk at least when "Pending Restart".

Hardware used:
Sata dock
Roamio HDD

Software used:

1) Get partition offsets, and isolate MFS app partition(s)
# pmdmp-static /dev/sdX
a) copy & paste the line with #10 MFS app region:
# losetup -f /dev/sdX --offset 180486095872 --sizelimit 838860800
or b) Use a Roamio aware linux kernel
or c) Use a Mac w/OS X (Premiere only)
or d) tivopart (Premiere only)

Grab, install, run photorec on MFS app partition(s)
# photorec /dev/loop0

3) Test integrity of all recovered gzip fragments.
# ls recup_dir*/*.gz | xargs -n1 zcat > /dev/null
You're looking for lines that look like:
gzip: recup_dir.2/f0998559.gz: decompression OK, trailing garbage ignored

4) Extract it
zcat recup_dir.2/f0998559.gz > f0998559.bin

5) Check file type
# file f0998559.bin

Options are:
f0998559.bin: ASCII cpio archive (SVR4 with CRC)
f0998559.bin: Squashfs filesystem, little endian, version 4.0, 320783588 bytes...

The first example would be a kernel or root filesystem fragment when built piecemeal.
The second example would be a complete root filesystem image.

6a) If cpio, Extract
# cpio ... f0998559.bin
# ls -la
-rw-r--r--  1 root root      89 May  6 06:52 .jpminstall
-rw-r--r--  1 root root 4537336 May  6 06:52 vmlinux.px
6b) If squashfs, Mount root filesystem and take a look around
# mount -oro f0998559.bin /mnt/
# ls /mnt
bin     db   dist  fuse    install  mnt  platform  product  sys  tvbin  tvres  var
cgroup  dev  etc   initrd  lib      opt  proc      sbin     tmp  tvlib  usr    volatile
* More options:
PhotoRec exists for Win / Mac / Linux.
Whether the OS can get at the partition map will determine whether you have to scan MB's vs the whole drive.

** To run against MFS app 2, use partition #12 and
# photorec /dev/loop1

Last edited by telemark; 05-13-2015 at 01:13 PM.
telemark is offline   Reply With Quote
Forum Jump

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


TiVo Community
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2015 DBNet - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVoŽ is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 07:56 AM.
Page generated in 0.04468894 seconds (67.11% PHP - 32.89% MySQL) with 18 queries