TiVoCommunity.com
(c)opyright 1995-2005 All rights reserved
indexcheckTC
This area is a static history of posts in the TiVo Community Forum Archive.
This archive history was made for the simple indexing of search sites like Google.



Pages:1



using mac os x

(Click here to view the original thread with full colors/images)



Posted by: macattak

newbie q here so please play nice...
in terms of networking with the tivo, installing backdoor,ghosting a new hard drive etc- can this stuff be done using mac os x or does it require a pc?? I have a linux box also that is currently dead- I may resurrect it if it is my only choice here...
thanks for any help



Posted by: Captain Bob

quote:
Originally posted by macattak
in terms of networking with the tivo, installing backdoor,ghosting a new hard drive etc- can this stuff be done using mac os x or does it require a pc?? I have a linux box also that is currently dead- I may resurrect it if it is my only choice here...
thanks for any help



MacTivo Blesser can do some of what you might want to do:

http://www.weaknees.com/mactivo.php

From that page: "MacTiVo Blesser is a collection of software written by Eric Wagner for free distribution. MacTiVo Blesser is a formatting utility that sets Linux partitions on IDE drives for use in TiVos as "B" drives. In many cases, TiVos with one hard drive can simply "Bless" their new drive and add it - then the TiVo automatically uses it for extra recording capacity. MacTiVo Blesser performs the same function as the Linux BlessTiVo does."

As you can see, that's fine as far as it goes, but it's not nearly enough. I've been running Macs for twenty years, and I love them, so I regret having to tell you that there's no way to do the really gritty work of upgrading, copying, etc., with a Mac. I upgraded my SAT-T60s using mfstools on my wife's home-office PC, and when I had to replace one of the upgraded drives, I used the PC again and did the job with dd copy. I didn't have any trouble, despite the dangerous alien environment :D .



Posted by: wmcbrine

I believe someone here said he had mfstools working on the Mac, but I haven't seen it for download yet. dd should work just fine, for what it does.



Posted by: Ladd Morse

There continues to be hope that a Mac tools package will surface, but it's not here yet.

I ended up tracking down a friend of a friend who is a systems administrator and asked if he had any unused PCs sitting in his basement that I could have. He dug out a Dell Dimension 200 MHz mini-tower that was completely unusable to him but works just fine for doing TiVo upgrade work.

My Philips Series one now sports a 250GB hard disk. I haven't gotten the courage to try any serious software hacking yet, although I suspect a Cache Card and all its fixings will be next in line.

Finding a free PC isn't as easy as just going to the corner store, but they are out there ...



Posted by: v8q

There is hope!!

http://www.tivocommunity.com/tivo-v...threadid=169883

It looks like Loki has tigers mfstools basically working onder OS X.



Posted by: Loki

Well here it is. As far as I know I'm the only one who has used it but the Tivo has been working fine for the past few weeks. I'll also post the version with the DEBUG flags enabled.



Posted by: Loki

Here's the Debug version.



Posted by: Loki

Here's a small utility to determine what disk is what device.

If you are running with an encrypted home directory OS X treats that as a seprate disk drive. Just a warning if it seems like you have too many disks.

Edit: Changed the listing header to the correct units GB instead of MB



Posted by: sllerts

Woh! This is huge! So how would a typical Hinsdale style upgrade instruction go?

1) Remove drive(s) from Tivo.

2) Place in Mac tower (or Firewire cases).

3) Power on Mac (any concern with Mac writing anything to Tivo drives?). I'm assuming they won't mount.

4) Run devmapper app to figure out which drive is which.

5) Perform backup:

mfstool backup ....... (similar flags to what's in Hinsdale; device names called /dev/xxxx)

6) Perform restore or do a dd (would OS X dd work the same?)

7) Put back in Tivo and enjoy.

If this is the case, this is absolutely huge. I've been looking forward to the possibility of doing this for 3 years.

Steve



Posted by: HTH

Now we just need a switch to move drives between two sets of ATA cables, hook TiVo to the drives on A, hook Firewire interfaces to them on B (chained together over Firewire), put a Firewire port on the back of the TiVo, and you can access your drives with the Mac without taking them out of the TiVo. Maybe two Firewire ports so the TiVo doesn't have to be at the end of the chain.



Posted by: Loki

The Mac will notice the new drive and offer to format it if its from a Series 1. For a series 2 it will recognize the partition layout since Tivo uses the same as Apple's. If you have the ext2 KEXT installed in your system it may mount the ext2 based partitions depending on how you have the extension configured. Unless you take up the offer to format the drive the system will not write anything to the disk.

dd and the mfstool parameters are all the same with the exception that I haven't really tested all the different environmental variable testing and it expects the /dev file to be of the format /dev/disk# where # is the Tivo disk.

You do need to run it with sudo or as root. If you are really paranoid and know what dev your Tivo is you can add yourself to the operator group and add write permission for the operator group for that /dev.

Also the /dev/disk #'s can change between reboots. So make sure to run the devmapper after you've rebooted with the Tivo disk in attached.



Posted by: v8q

quote:
Originally posted by Loki

snip

If you have the ext2 KEXT installed in your system it may mount the ext2 based partitions depending on how you have the extension configured.



So Loki - are you saying that this will run without the EXT2 Kext installed?



Posted by: Loki

Yes, I didn't have it installed when I modified my Series II. The mfstools reads the partition map itself to get the offsets, ext2 KEXT is only required if you want modify any specific ext2 files.



Posted by: steve90071

Thanks Loki for making it possible to do some of this stuff on a Mac. Now, can you tell me what program I use to open devmapper 1.1 and mfstool. I am very familiar with Mac's, but know nothing about linux.



Posted by: sllerts

They're terminal applications. You need to run them from the terminal. The easiest way would be to start terminal and drag and drop the app to the terminal window. Add a '-h' and hit return to see the help commands for either app.

Steve



Posted by: Loki

First you need to decompress them if its not done automatically. If you are running panther all you need to do is double click the zip icon for the file.

They both need to run with privileges. Log in with an administrator account. Put the program you want to run that account's Desktop. Start up the Terminal program, usually located in Applications/Utilities; or the X11 program. Type at the prompt:
sudo Desktop/devmapper1.1
It may ask for your password again to confirm that you are an administrator
You should get something like:
[Lokis-Computer:~] Loki% sudo Desktop/devMapper1.1
Password:

Version 1.1
Device Endian Type Size (GiB) Size (GB)
------ ------ ---- ---------- ---------
/dev/disk0 Big Mac 9.57 10.27
/dev/disk1 Big Mac 74.53 80.03
/dev/disk2 Big Mac 11.00 11.81
/dev/disk3 Little Unknown 0.61 0.66

[Lokis-Computer:~] Loki%

The first two drives are real, the third is an encrypted image mounted as part of the file vault system, and the fourth is an audio CD that I'll now make a version 1.2 to identify.

For mfstools its:
sudo Desktop/mfstool

with options same as the linux commands. Here's an expected output :
% sudo Desktop/mfstool
MFSTools 2.0.DARWIN
Usage: Desktop/mfstool <function> <args> or <function> <args>
Available functions:
backup Backup TiVo drive fast and small.
restore Restore mfstool backups to TiVo drive.
add Add partitions to your TiVo MFS volume.
mls List files in the MFS volume.
d Dump raw data from MFS volume.
info Display information about MFS volume.
For help on a particular function: Desktop/mfstool <function> -h



Posted by: steve90071

Loki and Steve, thanks for the help. I have been able to mount DevMapper 1.1 and mfstool. However, I guess I need to know more about using linux commands. For example, after opening mfstool, when I enter <function> -h for "backup", "restore", "add", and "d" I get an explanation. But when I enter "mls" or "info" as the function, I get the following:

-h: Invalid argument
mfs_load_volume_header: mfsvol_read_data: Input/output error
*** malloc[426]: Deallocation of a pointer not malloced: 0x3001e0; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug

Could you suggest a website that might give me more info on using linux? My operating system is OSX v10.3.3 on a Cube.



Posted by: Loki

Short answer is that info and mls don't have help so it ignores the -h flag and tries to open the default drive. Since the default drive wasn't a Tivo or it didn't have permission to read it you get the error message. You'd have the same problem on the Linux side except the error message would probably be just Bus Error for the second line.

As for website suggestions, linux and the BSD OS X are very similar but there are many subtlties. First I'd suggest doing a google search for Introduction to UNIX. That'll take you a long way. After that start looking at the BSD documentation available on the web.



Posted by: steve90071

Well, I've done some reading and have been able to work through my earlier problems. Now I have a new one. I am attempting to restore my Tivo image to an external firewire drive using mfstools for OSX by Loki. The drive is formatted in OSX Extended. I get the message:

"/dev/disk2: Devise busy" and "Restore failed: Unable to open destination device for writing."

I have checked permissions. They allow read/write by me, system, and admin. The disk is not locked. I have identified the disk as "Disk2" and also as "Disk2s3", which are the Disk Identifier as listed in Disk Utility for the Disk and the Volume.

Any suggestions as what to do next?



Posted by: Cheezmo

Is the Disk mounted? You need to make sure MacOS X isn't using it. Just drag it to the trash and try again.



Posted by: v8q

OK - I am trying mfstools, but it crashes I am pretty sure because my disk is locked.
I tried installing the ext2 kext but it also does not seem to unlock the disk.
It got late so I gave up but is there a OS X way to unlock a disk?
And what about the byte swapping thing?

I am considering first booting a linux kernal that does the unlocking and then booting OS X again as a work around but that seems a little kludgy.



Posted by: Loki

A few questions:
1) Exactly how does it crash, what is the command you typed in and the output
2) What is the output when you run the debug version
3) With the drive of interest installed what do you get with the df command and the devmapper command
4) Is this a new disk, Series I Tivo disk, or Series 2 Tivo disk

Assuming its a locked disk I know of two ways, one is intall the disk on one of the ide busses on your computer and run the old OS9 Blesser program and just run the unlock disk routine. Two is use a KEXT that could read Series I drives and unlock them. I don't know where to get a copy though.



Posted by: v8q

quote:
Originally posted by Loki
A few questions:
1) Exactly how does it crash, what is the command you typed in and the output
2) What is the output when you run the debug version
3) With the drive of interest installed what do you get with the df command and the devmapper command
4) Is this a new disk, Series I Tivo disk, or Series 2 Tivo disk

Assuming its a locked disk I know of two ways, one is intall the disk on one of the ide busses on your computer and run the old OS9 Blesser program and just run the unlock disk routine. Two is use a KEXT that could read Series I drives and unlock them. I don't know where to get a copy though.



I ran my linux 2.4.4 kernel to unlock the disk - and it reported success.
WIthout powering down, I rebooted into OS X (10.2.8) and tried this:

*******************************************************
*
dave% devmapper1.1

Version 1.1
Device Endian Type Size (GiB) Size (GB)
------ ------ ---- ---------- ---------
/dev/disk0 Little Unknown 0.01 0.01
/dev/disk1 Big Mac 9.51 10.21
/dev/disk2 Big Mac 114.50 122.94
/dev/disk3 Big Mac 20.98 22.53
/dev/disk4 Big Mac 8.54 9.17

dave% dd if=/dev/disk0 count=64 bs=512 conv=swab | strings
64+0 records in
64+0 records out
32768 bytes transferred in 0.044712 secs (732867 bytes/sec)
root=/dev/hda4 shondss=true
g=true
unnamed

f@e?
linux.px
?Apple
Apple_partition_map
Bootstrap 1
Image
Kernel 1
Image
Root 1
Ext2
Bootstrap 2
Image
Kernel 2
Image
Root 2
Ext2
Linux swap
Swap
/var
Ext2
MFS application region
MFS media region

root# ./mfstool
MFSTools 2.0.DARWIN
Usage: ./mfstool <function> <args> or <function> <args>
Available functions:
backup Backup TiVo drive fast and small.
restore Restore mfstool backups to TiVo drive.
add Add partitions to your TiVo MFS volume.
mls List files in the MFS volume.
d Dump raw data from MFS volume.
info Display information about MFS volume.
For help on a particular function: ./mfstool <function> -h

root# ./mfstool backup -h
Usage: backup [options] Adrive [Bdrive]
Options:
-h Display this help message
-o file Output to file, - for stdout
-1 .. -9 Compress backup, quick (-1) through best (-9)
-v Do not include /var in backup
-s Shrink MFS in backup
-q Do not display progress
-qq Do not display anything but error messages
-f max Backup only fsids below max
-l max Backup only streams less than max megabytes
-t Use total length of stream instead of used length
-T Backup total length of stream instead of used length
-a Backup all streams

root# ./mfstool mls -h
-h: No such file or directory
mfs_load_volume_header: mfsvol_read_data: Input/output error
*** malloc[580]: Deallocation of a pointer not malloced: 0x5e4b0; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
mfs_init: Failed. Bailing.

*******************************************************
***

You can see by the dd command that disk0 is the tivo disk.
How do you tell mfstool which disk to look at?



Posted by: Loki

./mfstool mls /dev/disk0
Using -h its assuming h the name of the file.
The mls portion did have some problems earlier where I had to actually specifiy the partition of the MFS volume so I used ./mfstool mls /dev/disk0s4 where 4 was the partition number.



Posted by: v8q

quote:
Originally posted by Loki
./mfstool mls /dev/disk0
Using -h its assuming h the name of the file.
The mls portion did have some problems earlier where I had to actually specifiy the partition of the MFS volume so I used ./mfstool mls /dev/disk0s4 where 4 was the partition number.



root# ./mfstool mls /dev/disk0
mfs_load_volume_header: mfsvol_read_data: No such file or directory
*** malloc[674]: Deallocation of a pointer not malloced: 0x5e4c0; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
mfs_init: Failed. Bailing.


I dont get any disk slice numbers to try either - here is /dev/disk*

root# ls /dev/disk*
/dev/disk0 /dev/disk1s8 /dev/disk2s8 /dev/disk3s4 /dev/disk4s2
/dev/disk1 /dev/disk2 /dev/disk2s9 /dev/disk3s5 /dev/disk4s3
/dev/disk1s1 /dev/disk2s1 /dev/disk3 /dev/disk3s6 /dev/disk4s4
/dev/disk1s2 /dev/disk2s2 /dev/disk3s1 /dev/disk3s7 /dev/disk4s5
/dev/disk1s3 /dev/disk2s3 /dev/disk3s10 /dev/disk3s8 /dev/disk4s6
/dev/disk1s4 /dev/disk2s4 /dev/disk3s11 /dev/disk3s9 /dev/disk4s7
/dev/disk1s5 /dev/disk2s5 /dev/disk3s12 /dev/disk4 /dev/disk4s8
/dev/disk1s6 /dev/disk2s6 /dev/disk3s2 /dev/disk4s1 /dev/disk4s9
/dev/disk1s7 /dev/disk2s7 /dev/disk3s3 /dev/disk4s10



Posted by: Loki

Looking at the output of devmapper it appears the disk has locked itself again as its reporting the size as 10 MB. Looks like the restart is enough to reset the disk. You might want to follow up http://archive.tivocommunity.com/ti...light=KEXT+OS+X

I'm a little concerned that Devmapper didn't identify it as a Tivo.



Posted by: v8q

quote:
Originally posted by Loki
Looking at the output of devmapper it appears the disk has locked itself again as its reporting the size as 10 MB. Looks like the restart is enough to reset the disk. You might want to follow up http://archive.tivocommunity.com/ti...light=KEXT+OS+X

I'm a little concerned that Devmapper didn't identify it as a Tivo.



First off, I have an antique PPC8500 with a G4/400 processor and Acard IDE card. I think this card makes the IDE drives look like SCSI drives to the OS. Maybe this hoses it up? Does DevMapper look for swapped or unswapped drive magic?

I noticed that size thing too. I guess the thing to do is fix the ext2 kext to unlock the drive when it sees tivo magic and a Quantum drive - swapped or unswapped byte order.
I was able to do that for linux but have no idea where to start for Darwin.

I noticed your OS9 blesser has unlock code too. What did you use to compile this? I have an old version of CodeWarrior (4.04 I think) that does not like some of the GUI code so it would not compile.



Posted by: Loki

I'm not sure the OS9 code will work since you'd need to reboot and that appears to relock the drive. As a matter of fact I know it won't work because the OS 9 version doesn't work with IDE cards that act like SCSI. I'm not even sure the KEXT would work, I thought the challenge response code was an IDE protocol.

Unfortunately I'm out of town for the weekend so I won't be able to add any input to this until Tuesday night.



Posted by: mattack

I haven't read all of this yet, but here's a link to the ext2 filesystem project. I haven't used it yet, but others have gotten their Tivo drives mounted with it.
https://sourceforge.net/project/sho...lease_id=238624





vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Limited.
vB Easy Archive Final ©2000 - 2009 - Created by Stefan "Xenon" Kaeser Modified by Adam J. de Jaray