TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Main TiVo Forums > TiVo Coffee House - TiVo Discussion
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 04-26-2012, 12:00 PM   #1
xemand
Registered User
 
Join Date: Apr 2012
Posts: 1
The new hard drives.

Has anyone tried to use one of the new Solid State Hard Drives in a Tivo?
xemand is offline   Reply With Quote
Old 04-26-2012, 12:30 PM   #2
GoEagles
Registered User
 
Join Date: Dec 2006
Posts: 125
Quote:
Originally Posted by xemand View Post
Has anyone tried to use one of the new Solid State Hard Drives in a Tivo?
Most SSD driives are 2.5" SATA drives, the drives in TiVo are 3.5" SATA drives. It wouldn't work out, plus most SSD drives at a good price are $1/GB, not good pricing if you wanted to store lots of recordings.
GoEagles is offline   Reply With Quote
Old 04-26-2012, 01:08 PM   #3
ncted
A leaf on the wind
 
ncted's Avatar
 
Join Date: May 2007
Location: Durham, NC
Posts: 454
It should theoretically work fine, except there is no way to know whether the OS will recognize the need to enable TRIM. Without this, the drive would suffer from corruption in time. As the drive would constantly be written to, this would probably happen sooner than you might think.

-Ted
__________________
Slogging along with Dish Hopper for now. Trying out Roamio OTA and Mini. So far, so good.
ncted is offline   Reply With Quote
Old 04-26-2012, 03:20 PM   #4
trip1eX
Registered User
 
Join Date: Apr 2005
Posts: 1,398
Don't see the point of using a SSD for a Tivo when a standard hard drive has at least enough speed to keep up with 4 shows being recorded at the same time while also playing a show and streaming a show. And of course SSDs have low storage capacites and much higher per GB costs.

Now the design of a Tivo might benefit from a small SSD to house the OS and guide data and show directory etc. But it wouldn't have to be more than a few GBs. And it would be something Tivo would have to build into the device.
trip1eX is offline   Reply With Quote
Old 04-26-2012, 05:44 PM   #5
vman41
Omega Consumer
 
vman41's Avatar
 
Join Date: Jun 2002
Posts: 8,438
Quote:
Originally Posted by trip1eX View Post
Don't see the point of using a SSD for a Tivo when a standard hard drive has at least enough speed to keep up with 4 shows being recorded at the same time while also playing a show and streaming a show. And of course SSDs have low storage capacites and much higher per GB costs.

Now the design of a Tivo might benefit from a small SSD to house the OS and guide data and show directory etc. But it wouldn't have to be more than a few GBs. And it would be something Tivo would have to build into the device.
They make combination drives that combine an SSD with a conventional hard drive, with that SSD being used by the drive as a fast cache. It would be good if you could get custom software to permanently map the SSD to a known block range and put your OS partition there.
vman41 is offline   Reply With Quote
Old 04-26-2012, 06:03 PM   #6
lillevig
Hot in West Texas
 
Join Date: Dec 2010
Location: San Angelo, TX
Posts: 1,760
If you search this community you will find that there are a couple of threads on this topic.
__________________
"I'm just one story in a two story town." Bon Jovi
lillevig is offline   Reply With Quote
Old 04-26-2012, 06:35 PM   #7
steve614
what ru lookin at?
 
steve614's Avatar
 
Join Date: May 2006
Location: Dallas, TX
Posts: 10,722
I'll help. AFAIK, this guy was the first to try it.

http://www.tivocommunity.com/tivo-vb...d.php?t=454580
__________________
The Man Prayer: I'm a man ...... I can change ...... If I have to ...... I guess.



To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

F*CK CANCER!
steve614 is offline   Reply With Quote
Old 04-26-2012, 10:28 PM   #8
mattack
Registered User
 
Join Date: Apr 2001
Location: sunnyvale
Posts: 17,468
Quote:
Originally Posted by trip1eX View Post
And it would be something Tivo would have to build into the device.
I know someone mentioned other threads.. but as far as this part, I don't think it's true.. I think people can manually set up partitions so that the OS would be on the SSD, and the show partition(s) would be on a hard drive.

I wonder how much this would speed up the glacially slow rebooting of a TivoHD.
mattack is offline   Reply With Quote
Old 04-27-2012, 12:54 AM   #9
Soapm
Registered User
 
Soapm's Avatar
 
Join Date: May 2007
Location: So close, yet too far away
Posts: 1,477
Quote:
Originally Posted by mattack View Post
I know someone mentioned other threads.. but as far as this part, I don't think it's true.. I think people can manually set up partitions so that the OS would be on the SSD, and the show partition(s) would be on a hard drive.

I wonder how much this would speed up the glacially slow rebooting of a TivoHD.
You would be separating the MFS partitions from the others. I haven't seen a place to indicate /dev/hdx = something different but I'm sure it's possible.
Soapm is offline   Reply With Quote
Old 04-27-2012, 02:18 AM   #10
Series3Sub
Registered User
 
Join Date: Mar 2010
Posts: 681
Don't SSD's have terrible wear and life with multiple re-writes, and is that not EXACTLY what a DVR does a lot: Record (Write)->Erase (not really, but you know what I mean)->Record over again (Rewrite). I think, in the long run, one is better off with an HDD. SDD's have much better life as a boot disk.
Series3Sub is offline   Reply With Quote
Old 04-27-2012, 04:43 AM   #11
Thinkdiff
Registered User
 
Join Date: Oct 2003
Posts: 56
The OS partition is quite small and only really read at start-up. Putting it on a SSD Hybrid HD would be pointless, imo. The startup procedure is painfully slow for other reasons. If the entire drive was SSD, it may help, but as others have pointed out, the rewrite cycles would undoubtedly shorten the life of the drive. Even advanced drives that do their own TRIM-type algorithms to reduce wear would most likely degrade much more quickly than in a normal PC. Spend a lot of money, save some power/heat, minimal to no noticeable speed improvement, and have to replace the drive more often. Doesn't seem like a win to me.
Thinkdiff is offline   Reply With Quote
Old 04-28-2012, 02:16 AM   #12
Worf
Registered User
 
Join Date: Sep 2000
Posts: 1,694
Quote:
Originally Posted by ncted View Post
It should theoretically work fine, except there is no way to know whether the OS will recognize the need to enable TRIM. Without this, the drive would suffer from corruption in time. As the drive would constantly be written to, this would probably happen sooner than you might think.

-Ted
incorrect, TRIM is just a performance optimization.

The thing with SSDs is that they need to be erased before writing, and the erase size is much bigger than the sector size. When an SSD gets a request to write a sector, the sector in the SSD array is marked as "dirty" and the new sector written in a new area (as part of wear-levelling).

Now, when all the empty blocks are gone, the SSD has to erase one. It does this by moving the non-dirty sectors to a new block so the data is still preserved. Dirty sectors are not moved because a clean version exists elsewhere in the array. Then the block is erased and ready for use again.

Now, let's say a sector contains data that the OS doesn't care about anymore (i.e., deleted file). If the OS never writes to that sector, the SSD will still dutifully copy the sector to a new flash block even though the OS will not request it (the SSD doesn't know any better). What TRIM does is form a way for the OS to tell the SSD that the sector is no longer needed. That way, when the file is deleted, the OS then TRIMs the sectors so the SSD will simply not move the contents of those sectors to a new block when it comes time to erase. This obviously speeds up operations as the SSD is not moving sectors around that the OS will never request. (If the OS does request it, it returns all zeros as the SSD has marked it as TRIMmed).

So no, you won't get data corruption. Early reports of data corruption have been due to firmware bugs in the quest for more speed from an SSD. After all, the largest users of SSDs would be companies like Apple and Dell who use millions of the things a year. If there was a problem, it would hit one of these machines first (especially if it was an Apple - you'd hear about it seconds after it happened). Instead, the reports come from the enthusiast sector buying up the latest and greatest SSDs often with very beta and buggy firmware. The PC manufacturers use more conservative SSDs from manufacturers like Toshiba and Samsung (vs. enthusiast SSDs from OCZ, Corsair and other companies) running more stable firmware. As a result, you'll only get 100MB/sec write speeds and 150MB/s read speeds - slower, but less risk of data loss.

TiVo is probably a poor fit for an SSD as it's constantly writing so you get wear on the SSD (the wear comes from erase-write cycles) without much benefit. In fact, a TiVo is more suited to a SSD-HD hybrid - SSD for the main OS partitions, and HD for the media storage. Or include the MFS application partition as well to include the databases, but store all the video on the hard drive. This way doing all the normal TiVo housekeeping is fast, and the hard drive is there for mass storage (video is perfect for hard drives - not much seeking at all).

Maybe in the mean time one of those hybrid HD's from seagate might work. I've seen near-SSD like performance with those.
Worf is offline   Reply With Quote
Old 04-28-2012, 04:49 AM   #13
lrhorer
Registered User
 
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,882
Quote:
Originally Posted by trip1eX View Post
Now the design of a Tivo might benefit from a small SSD to house the OS and guide data and show directory etc. But it wouldn't have to be more than a few GBs. And it would be something Tivo would have to build into the device.
Not really. The TiVo implements a read-mostly OS, with nothing but a few log files being written. The aggregate load time for the entire OS is less than 10 seconds. There are hard drives available that have an SSD built in, and a few users have installed them in TiVos. These drives boast blazing speeds, but they offer almost no advantage in the TiVo.
lrhorer is offline   Reply With Quote
Old 04-28-2012, 04:51 AM   #14
lrhorer
Registered User
 
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,882
Quote:
Originally Posted by mattack View Post
I know someone mentioned other threads.. but as far as this part, I don't think it's true.. I think people can manually set up partitions so that the OS would be on the SSD, and the show partition(s) would be on a hard drive.
Surely. 'Not difficult, at all.

Quote:
Originally Posted by mattack View Post
I wonder how much this would speed up the glacially slow rebooting of a TivoHD.
Not even a tiny bit. The hard drive is not the bottleneck.
lrhorer is offline   Reply With Quote
Old 04-28-2012, 04:57 AM   #15
lrhorer
Registered User
 
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,882
Quote:
Originally Posted by Worf View Post
TiVo is probably a poor fit for an SSD
Extremely.

Quote:
Originally Posted by Worf View Post
In fact, a TiVo is more suited to a SSD-HD hybrid - SSD for the main OS partitions, and HD for the media storage.
No, not that, either.

Quote:
Originally Posted by Worf View Post
Or include the MFS application partition as well to include the databases, but store all the video on the hard drive.
This will help a small, but noticeable amount with the menus, but not a reasonable amount given the cost.


Quote:
Originally Posted by Worf View Post
Maybe in the mean time one of those hybrid HD's from seagate might work.
They work, but the performance increase is only marginal.

Quote:
Originally Posted by Worf View Post
I've seen near-SSD like performance with those.
Yes, but not in a TiVo.
lrhorer is offline   Reply With Quote
Old 04-28-2012, 08:52 AM   #16
ncted
A leaf on the wind
 
ncted's Avatar
 
Join Date: May 2007
Location: Durham, NC
Posts: 454
Quote:
Originally Posted by Worf View Post
incorrect, TRIM is just a performance optimization.

The thing with SSDs is that they need to be erased before writing, and the erase size is much bigger than the sector size. When an SSD gets a request to write a sector, the sector in the SSD array is marked as "dirty" and the new sector written in a new area (as part of wear-levelling).

Now, when all the empty blocks are gone, the SSD has to erase one. It does this by moving the non-dirty sectors to a new block so the data is still preserved. Dirty sectors are not moved because a clean version exists elsewhere in the array. Then the block is erased and ready for use again.

Now, let's say a sector contains data that the OS doesn't care about anymore (i.e., deleted file). If the OS never writes to that sector, the SSD will still dutifully copy the sector to a new flash block even though the OS will not request it (the SSD doesn't know any better). What TRIM does is form a way for the OS to tell the SSD that the sector is no longer needed. That way, when the file is deleted, the OS then TRIMs the sectors so the SSD will simply not move the contents of those sectors to a new block when it comes time to erase. This obviously speeds up operations as the SSD is not moving sectors around that the OS will never request. (If the OS does request it, it returns all zeros as the SSD has marked it as TRIMmed).

So no, you won't get data corruption. Early reports of data corruption have been due to firmware bugs in the quest for more speed from an SSD. After all, the largest users of SSDs would be companies like Apple and Dell who use millions of the things a year. If there was a problem, it would hit one of these machines first (especially if it was an Apple - you'd hear about it seconds after it happened). Instead, the reports come from the enthusiast sector buying up the latest and greatest SSDs often with very beta and buggy firmware. The PC manufacturers use more conservative SSDs from manufacturers like Toshiba and Samsung (vs. enthusiast SSDs from OCZ, Corsair and other companies) running more stable firmware. As a result, you'll only get 100MB/sec write speeds and 150MB/s read speeds - slower, but less risk of data loss.

TiVo is probably a poor fit for an SSD as it's constantly writing so you get wear on the SSD (the wear comes from erase-write cycles) without much benefit. In fact, a TiVo is more suited to a SSD-HD hybrid - SSD for the main OS partitions, and HD for the media storage. Or include the MFS application partition as well to include the databases, but store all the video on the hard drive. This way doing all the normal TiVo housekeeping is fast, and the hard drive is there for mass storage (video is perfect for hard drives - not much seeking at all).

Maybe in the mean time one of those hybrid HD's from seagate might work. I've seen near-SSD like performance with those.
I stand corrected. My SSD experience is largely in the Sun ZFS LogZilla/ReadZilla space. The Sun engineers explained to me how they had implemented TRIM to avoid data corruption, but they were not specific about how it worked.

-Ted
__________________
Slogging along with Dish Hopper for now. Trying out Roamio OTA and Mini. So far, so good.
ncted is offline   Reply With Quote
Old 04-28-2012, 01:57 PM   #17
rainwater
Registered User
 
Join Date: Sep 2004
Posts: 6,072
Quote:
Originally Posted by vman41 View Post
They make combination drives that combine an SSD with a conventional hard drive, with that SSD being used by the drive as a fast cache.
It would be of no benefit on a TiVo. The read speed of the hard drive is not really ever a factor on a TiVo. Reading a video file faster wouldn't make it play faster. Maybe you get a few seconds improvement in startup time when the OS partition is read but other than that, you get no benefit. Plus, the drive will certainly die a much quicker death as it would be written to 24/7 and this is not something SSD drives excel at.
rainwater is offline   Reply With Quote
Old 04-28-2012, 03:43 PM   #18
mattack
Registered User
 
Join Date: Apr 2001
Location: sunnyvale
Posts: 17,468
Quote:
Originally Posted by lrhorer View Post
Not even a tiny bit. The hard drive is not the bottleneck.
Then what is the bottleneck for boot time on a TiVo?

I know, you *shouldn't* need to reboot them, but things like power outages (yes, get a UPS), OS bugs (yes, one is due to me not re-pairing my cablecards), and heck, the OS eventually corrupting which happened to one of my drives, caused reboots..

Is there a hack to make the reboot a lot faster? Heck, I wouldn't even mind if the time to RECORDING again still took ~10 minutes... but just being able to get back to now playing faster than ~5-6 minutes would be useful.
mattack is offline   Reply With Quote
Old 04-28-2012, 04:13 PM   #19
smbaker
Registered User
 
smbaker's Avatar
 
Join Date: May 2003
Posts: 15,931
Quote:
Originally Posted by lrhorer View Post
Not even a tiny bit. The hard drive is not the bottleneck.
What do you believe the bottleneck is in a Tivo boot cycle?

Assuming it's due to running cryptographic hashes to verify the filesystem is unmodified, is that CPU-bound instead of disk-bound?
__________________
1 Roamio Plus
2 Lifetime Premieres, 2 HDs, 2 S2DTs
1 Original Philips S1 from all the way back in 1999!
smbaker is offline   Reply With Quote
Old 04-28-2012, 04:15 PM   #20
lrhorer
Registered User
 
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,882
Quote:
Originally Posted by mattack View Post
Then what is the bottleneck for boot time on a TiVo?
The TiVo has to execute a ton of real-time processes during boot. The code (which is relatively tiny) loads in almost no time at all, but the system has to wait for each device to return a ready status.

Note the TiVo is not really all that slow at booting, especially when you consider the S3 only has a 300MHz single core processor. A Windows machine running 2+ GHz with 2 or more cores takes roughly the same amount of time to actually boot. Try putting a capture card like a Ceton in your workstation and a video file to be played in the startup folder of a Windows machine, and you will find it is about 4 - 5 minutes before the video starts playing and the capture card starts recording.


Quote:
Originally Posted by mattack View Post
Is there a hack to make the reboot a lot faster? Heck, I wouldn't even mind if the time to RECORDING again still took ~10 minutes... but just being able to get back to now playing faster than ~5-6 minutes would be useful.
Nope.
lrhorer is offline   Reply With Quote
Old 04-28-2012, 04:20 PM   #21
lrhorer
Registered User
 
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,882
Quote:
Originally Posted by smbaker View Post
What do you believe the bottleneck is in a Tivo boot cycle?
See above.

Quote:
Originally Posted by smbaker View Post
Assuming it's due to running cryptographic hashes to verify the filesystem is unmodified
Nope. Verifying the file structure only takes a few hundred milliseconds. When the "Almost there" screen pops up, the file system has been checked. All three of my TiVos are hacked so they no longer check the file system, and they do not boot substantially faster than when they are un-modified.
lrhorer is offline   Reply With Quote
Old 04-28-2012, 04:21 PM   #22
smbaker
Registered User
 
smbaker's Avatar
 
Join Date: May 2003
Posts: 15,931
Quote:
Originally Posted by lrhorer View Post
The TiVo has to execute a ton of real-time processes during boot. The code (which is relatively tiny) loads in almost no time at all, but the system has to wait for each device to return a ready status.
Someone has measured this, or is it just a guess?

Which devices are taking such a long time to return ready status? The cablecards? If I remove the cablecards, will the Tivo then boot in reasonable time?

I've skeptical of this. Do we have a link to the real-time processes and how long it took each one to execute?

Quote:
Originally Posted by lrhorer
Nope. Verifying the file structure only takes a few hundred milliseconds.
I thought they had to scan every binary and every library in the OS partition. What total size is the OS partition?
__________________
1 Roamio Plus
2 Lifetime Premieres, 2 HDs, 2 S2DTs
1 Original Philips S1 from all the way back in 1999!
smbaker is offline   Reply With Quote
Old 04-28-2012, 08:27 PM   #23
Thinkdiff
Registered User
 
Join Date: Oct 2003
Posts: 56
Quote:
Originally Posted by smbaker View Post
Someone has measured this, or is it just a guess?

Which devices are taking such a long time to return ready status? The cablecards? If I remove the cablecards, will the Tivo then boot in reasonable time?

I've skeptical of this. Do we have a link to the real-time processes and how long it took each one to execute?



I thought they had to scan every binary and every library in the OS partition. What total size is the OS partition?
The OS partition is tiny. Around 256MB on my TiVoHD (only 107MB used). Not sure if it's larger on Series4. As lrhoner said, the modification checks are very fast. I can't remember exactly how the checks are performed (and I'm too lazy to look into it right now, the information is out there if you're curious), but a modified TiVo (no checks) does not boot up any faster than a stock TiVo.
Thinkdiff is offline   Reply With Quote
Old 04-28-2012, 10:52 PM   #24
Shogun82
Registered User
 
Join Date: Apr 2012
Location: States
Posts: 12
Very interesting and great topic/question.
Shogun82 is offline   Reply With Quote
Old 04-29-2012, 12:46 PM   #25
trip1eX
Registered User
 
Join Date: Apr 2005
Posts: 1,398
Quote:
Originally Posted by mattack View Post
I know someone mentioned other threads.. but as far as this part, I don't think it's true.. I think people can manually set up partitions so that the OS would be on the SSD, and the show partition(s) would be on a hard drive.

I wonder how much this would speed up the glacially slow rebooting of a TivoHD.
Yeah I was talking about the off-the-shelf Tivo product. Not the do it yourself Tivo product.
trip1eX is offline   Reply With Quote
Old 04-29-2012, 01:06 PM   #26
trip1eX
Registered User
 
Join Date: Apr 2005
Posts: 1,398
Quote:
Originally Posted by lrhorer View Post
Not really. The TiVo implements a read-mostly OS, with nothing but a few log files being written. The aggregate load time for the entire OS is less than 10 seconds. There are hard drives available that have an SSD built in, and a few users have installed them in TiVos. These drives boast blazing speeds, but they offer almost no advantage in the TiVo.
Yeah an SSD would speed up any data being read from it compared to the same data being read from a hard drive.

You would probably get a snappier system if your guide data was on a SSD instead of a hard drive. SAme with your show listings and show descriptions and apps, etc. Although on the Premiere I think there are other reasons for its lack of "snappiness" related to its use of Flash and the processing power/ram on the Tivo.

An SSD wouldn't do anything for video playback or recording because it wouldn't benefit from more responsiveness (no cares if their 1 hour show starts a half-second later) and because a standard hard drive plays back and records multiple simultaneous video streams with room to spare as it is.
trip1eX is offline   Reply With Quote
Old 04-30-2012, 12:24 PM   #27
tootal2
Registered User
 
Join Date: Oct 2005
Posts: 951
Quote:
Originally Posted by xemand View Post
Has anyone tried to use one of the new Solid State Hard Drives in a Tivo?
seems like a waste of money to me. also i dont think tivo has sata 6 so it wont be any faster.

SSDs have a 'bleak' future, researchers say
http://www.computerworld.com/s/artic...esearchers_say
tootal2 is offline   Reply With Quote
Old 04-30-2012, 01:38 PM   #28
lrhorer
Registered User
 
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,882
Quote:
Originally Posted by smbaker View Post
Someone has measured this, or is it just a guess?
It is not a guess. Many people have posted their TiVo's boot output on the "other" TiVo forum. I suggest you browse there if you want details.

Quote:
Originally Posted by smbaker View Post
Which devices are taking such a long time to return ready status?
Mostly the video processors. Some time, of course, is taken up by initializing the Ethernet and other I/O subsystems.

Edit: OK, I'm back home. Here is a list of all the resident processes on one of my TiVos:

Code:
HD_Theater:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Mar07 ?        00:00:02 init
root         2     1  0 Mar07 ?        08:54:08 [keventd]
root         3     1  0 Mar07 ?        00:10:11 [ksoftirqd_CPU0]
root         4     1  0 Mar07 ?        00:03:46 [kswapd]
root         5     1  0 Mar07 ?        00:00:00 [bdflush]
root         6     1  0 Mar07 ?        00:00:26 [kupdated]
root         7     1  0 Mar07 ?        00:00:00 [khubd]
root        10     1  0 Mar07 ?        00:00:00 [swapper]
root        11     1  0 Mar07 ?        00:00:00 [swapper]
root        12     1  0 Mar07 ?        00:00:00 [swapper]
root        64     1  0 Mar07 ?        00:08:32 /sbin/syslogd -p /var/dev/log -m
root        66     1  0 Mar07 ?        00:00:03 /sbin/klogd -x
root        85     2  0 Mar07 ?        04:02:51 [b_event]
root        86     2  0 Mar07 ?        00:01:45 [b_idle]
root       107     1  0 Mar07 ?        00:00:01 /tvbin/podapp
root       112   107  0 Mar07 ?        00:00:09 /tvbin/podapp
root       114   112  0 Mar07 ?        00:00:00 /tvbin/podapp
root       115   112  0 Mar07 ?        00:43:22 /tvbin/podapp
root       116   112  0 Mar07 ?        00:41:48 /tvbin/podapp
root       117   112  0 Mar07 ?        00:30:15 /tvbin/podapp
root       118   112  0 Mar07 ?        01:28:20 /tvbin/podapp
root       119   112  0 Mar07 ?        00:20:46 /tvbin/podapp
root       120   112  0 Mar07 ?        01:28:51 /tvbin/podapp
root       125   112  0 Mar07 ?        00:03:41 /tvbin/podapp
root       126   112  0 Mar07 ?        00:04:03 /tvbin/podapp
root       148     1  0 Mar07 ?        00:00:00 swedishChef
root       151     1  0 Mar07 ?        00:10:31 /tvbin/fancontrol -background
root       154     1  0 Mar07 ?        00:00:00 /tvbin/TvLauncher -Foreground -p
root       155   154  0 Mar07 ?        00:00:07 /tvbin/TvLauncher -Foreground -p
root       156   155  0 Mar07 ?        00:00:00 /tvbin/TvLauncher -Foreground -p
root       157   155  0 Mar07 ?        00:00:00 /tvbin/TvLauncher -Foreground -p
root       158   155  0 Mar07 ?        00:00:00 /tvbin/TvLauncher -Foreground -p
root       159   155  0 Mar07 ?        00:00:00 /tvbin/TvLauncher -Foreground -p
root       161   155  0 Mar07 ?        00:00:02 /tvbin/TvLauncher -Foreground -p
root       168   155  0 Mar07 ?        00:00:00 /tvbin/TvLauncher -Foreground -p
root       169   148  0 Mar07 ?        00:43:00 swedishChef
root       170   169  0 Mar07 ?        00:00:07 swedishChef
root       171   170  0 Mar07 ?        00:02:58 swedishChef
root       172   170  0 Mar07 ?        00:00:00 swedishChef
root       173   170  0 Mar07 ?        00:03:58 swedishChef
root       175   170  0 Mar07 ?        00:00:00 swedishChef
root       223     1  0 Mar07 ?        00:00:01 /tvbin/nccpapp
root       228   148  0 Mar07 ?        00:00:00 swedishChef
root       229   228  0 Mar07 ?        00:00:07 swedishChef
root       230   229  0 Mar07 ?        00:00:01 swedishChef
root       231   229  0 Mar07 ?        00:00:01 swedishChef
root       234   229  0 Mar07 ?        00:00:10 swedishChef
root       235   229  0 Mar07 ?        00:03:28 swedishChef
root       236   148  0 Mar07 ?        00:00:03 swedishChef
root       237   236  0 Mar07 ?        00:00:15 swedishChef
root       238   237  0 Mar07 ?        00:02:22 swedishChef
root       239   237  0 Mar07 ?        00:09:15 swedishChef
root       250   148  0 Mar07 ?        00:00:00 swedishChef
root       251   250  0 Mar07 ?        00:00:06 swedishChef
root       252   251  0 Mar07 ?        00:08:53 swedishChef
root       253   251  0 Mar07 ?        00:00:00 swedishChef
root       254   251  0 Mar07 ?        00:32:42 swedishChef
root       258   251  0 Mar07 ?        00:00:00 swedishChef
root       259   148  0 Mar07 ?        00:00:00 swedishChef
root       260   259  0 Mar07 ?        00:00:15 swedishChef
root       262   260  0 Mar07 ?        00:00:35 swedishChef
root       263   260  0 Mar07 ?        00:00:01 swedishChef
root       264   260  0 Mar07 ?        00:00:03 swedishChef
root       275   148  0 Mar07 ?        00:00:00 swedishChef
root       277   275  0 Mar07 ?        00:00:07 swedishChef
root       278   277  0 Mar07 ?        00:00:00 swedishChef
root       279   277  0 Mar07 ?        00:01:19 swedishChef
root       280   277  0 Mar07 ?        00:02:22 swedishChef
root       281   277  0 Mar07 ?        00:00:00 swedishChef
root       282   277  0 Mar07 ?        00:02:20 swedishChef
root       283   148  0 Mar07 ?        00:00:00 swedishChef
root       284   283  0 Mar07 ?        00:00:38 swedishChef
root       286   284  0 Mar07 ?        00:13:19 swedishChef
root       287   284  0 Mar07 ?        00:00:04 swedishChef
root       291   284  0 Mar07 ?        00:00:09 swedishChef
root       292   148  0 Mar07 ?        00:00:00 swedishChef
root       293   292  0 Mar07 ?        00:00:15 swedishChef
root       294   293  0 Mar07 ?        00:10:49 swedishChef
root       295   293  0 Mar07 ?        00:00:18 swedishChef
root       298   293  0 Mar07 ?        00:00:00 swedishChef
root       304   293  0 Mar07 ?        00:00:25 swedishChef
root       305   293  0 Mar07 ?        00:00:25 swedishChef
root       306   148  0 Mar07 ?        00:00:04 swedishChef
root       307   306  0 Mar07 ?        00:09:52 swedishChef
root       308   307  0 Mar07 ?        00:08:16 swedishChef
root       309   307  0 Mar07 ?        00:18:23 swedishChef
root       316   307  0 Mar07 ?        00:00:00 swedishChef
root       323   307  0 Mar07 ?        00:03:12 swedishChef
root       329   307  0 Mar07 ?        03:54:54 swedishChef
root       330   307  0 Mar07 ?        00:10:33 swedishChef
root       331   307  0 Mar07 ?        00:00:15 swedishChef
root       332   307  0 Mar07 ?        00:04:03 swedishChef
root       345   307  0 Mar07 ?        00:12:33 swedishChef
root       350   307  0 Mar07 ?        01:43:44 swedishChef
root       358   307  0 Mar07 ?        00:21:41 swedishChef
root       362   307  0 Mar07 ?        00:12:18 swedishChef
root       365   307  0 Mar07 ?        02:29:52 swedishChef
root       366   307  0 Mar07 ?        02:21:13 swedishChef
root       367   307  0 Mar07 ?        02:31:11 swedishChef
root       368   307  0 Mar07 ?        00:04:14 swedishChef
root       369   307  0 Mar07 ?        00:00:03 swedishChef
root       372   307  0 Mar07 ?        01:10:40 swedishChef
root       373   307  0 Mar07 ?        01:06:47 swedishChef
root       374   307  0 Mar07 ?        02:52:12 swedishChef
root       375   307  1 Mar07 ?        13:17:54 swedishChef
root       376   307  0 Mar07 ?        00:00:03 swedishChef
root       377   307  0 Mar07 ?        00:00:03 swedishChef
root       378   307  1 Mar07 ?        13:23:45 swedishChef
root       379   307  0 Mar07 ?        02:43:02 swedishChef
root       380   307  0 Mar07 ?        00:00:00 swedishChef
root       381   307  0 Mar07 ?        00:00:00 swedishChef
root       382   307  0 Mar07 ?        00:05:06 swedishChef
root       383   307  0 Mar07 ?        00:00:01 swedishChef
root       384   237  0 Mar07 ?        00:00:54 swedishChef
root       385   148  0 Mar07 ?        00:00:00 swedishChef
root       386   385  0 Mar07 ?        00:00:08 swedishChef
root       387   386  0 Mar07 ?        00:00:36 swedishChef
root       388   386  0 Mar07 ?        00:00:03 swedishChef
root       389   386  0 Mar07 ?        02:38:05 swedishChef
root       392   386  0 Mar07 ?        00:00:00 swedishChef
root       393   148  0 Mar07 ?        00:00:00 swedishChef
root       394   393  0 Mar07 ?        00:00:10 swedishChef
root       395   394  0 Mar07 ?        00:00:24 swedishChef
root       396   394  0 Mar07 ?        00:00:00 swedishChef
root       400   394  0 Mar07 ?        00:00:46 swedishChef
root       408   148  0 Mar07 ?        00:00:00 swedishChef
root       409   408  0 Mar07 ?        00:00:13 swedishChef
root       410   409  0 Mar07 ?        00:01:56 swedishChef
root       411   409  0 Mar07 ?        00:05:34 swedishChef
root       414   409  0 Mar07 ?        01:04:29 swedishChef
root       418   307  0 Mar07 ?        00:12:05 swedishChef
root       438     1  0 Mar07 ?        00:00:04 /sbin/tnlited 23 /bin/bash -logi
root       440     1  0 Mar07 ?        00:00:25 /var/hack/utils/crond -l 9
root       445     1  0 Mar07 ?        00:00:00 /var/hack/utils/tivoftpd
root       446     1  0 Mar07 ?        00:35:09 /var/hack/utils/tserver
root       482     1  0 Mar07 ?        02:15:20 /tvbin/tivosh /var/hack/TivoWebP
root       483     1  0 Mar07 ?        00:00:00 /bin/bash /var/hack/TivoWebPlus/
root       489   482  0 Mar07 ?        00:00:07 /tvbin/tivosh /var/hack/TivoWebP
root       491   489  0 Mar07 ?        00:00:00 /tvbin/tivosh /var/hack/TivoWebP
root       492   489  0 Mar07 ?        00:00:00 /tvbin/tivosh /var/hack/TivoWebP
root       507   386  0 Mar07 ?        00:00:19 swedishChef
root       550   307  0 Mar07 ?        00:12:40 swedishChef
root      3243   307  0 Mar07 ?        00:13:43 swedishChef
root      5050   293  0 Mar07 ?        00:00:05 swedishChef
root      6579   307  0 Mar08 ?        00:05:24 swedishChef
root     26724   260  0 Mar11 ?        00:04:17 swedishChef
root     30235   394  0 Mar20 ?        00:00:01 swedishChef
root      6870   386  0 Apr14 ?        00:00:14 swedishChef
root     16466   409  0 Apr15 ?        00:05:37 swedishChef
root     22138   409  0 10:27 ?        00:00:00 swedishChef
root     23570   284  0 14:28 ?        00:00:01 swedishChef
root     24198   237  0 16:22 ?        00:00:01 swedishChef
root     24568   394  0 17:27 ?        00:00:00 swedishChef
root     25904   237  0 21:25 ?        00:00:00 swedishChef
root     26136   307  7 22:06 ?        00:03:07 swedishChef
root     26163   293  0 22:11 ?        00:00:00 swedishChef
root     26204   293  0 22:18 ?        00:00:00 swedishChef
root     26215   237  0 22:20 ?        00:00:00 swedishChef
root     26271   260  0 22:29 ?        00:00:00 swedishChef
root     26353   307  0 22:43 ?        00:00:00 swedishChef
Quote:
Originally Posted by smbaker View Post
The cablecards?
No, not particularly, although they do of course take some time.

Quote:
Originally Posted by smbaker View Post
If I remove the cablecards, will the Tivo then boot in reasonable time?
Who says the time to boot now is unreasonable? A Windows workstation with a very much faster processor spawning only about haf the number of threads takes roughly the same amount of time. Microsoft just tries to make you THINK the process goes quickly by spalshing pretty pictures on the screen before the boot process is complete, and then claims to have a fast booting OS.

Quote:
Originally Posted by smbaker View Post
I've skeptical of this. Do we have a link to the real-time processes and how long it took each one to execute?
See above.

Quote:
Originally Posted by smbaker View Post
I thought they had to scan every binary and every library in the OS partition. What total size is the OS partition?
There are no libraries, and only a comparative handful of binaries. Mdsum takes very little time to run on a file. I'm not at home, right now, so I don't have the actual numbers, but the entire OS fills less than 150M. The kernel is under 4M, and the active OS partition on a stock TiVo is 256M, IIRC.

Edit: The OS binaries and scripts on this system take up 97M, including a large number of standard linux binaries (grep, gzip, ls, etc) and some hack binaries:

Code:
HD_Theater:/# df -h
Filesystem            Size  Used  Avail  Capacity Mounted on
/dev/hda7             248M   97M   138M     41%   /
/dev/hda9             248M   54M   181M     23%   /var
/dev/hda2             248M  103M   132M     44%   /var/hack
In an unmodified TiVo, the initrd is loaded and the filesystem scanned for the chain of trust verification. At this point, the initrd loads the init process and booting proceeds. This is when the "almost there" screen pops up. When that happens the user knows the file system checks are complete.

Edit: I don't have the list of files that are scanned by the chain of trust, but it isn't too many. I know the contents of /etc is one group:

Code:
HD_Theater:/etc# time md5sum *
d41d8cd98f00b204e9800998ecf8427e  HpkTmkOssInitLock
d41d8cd98f00b204e9800998ecf8427e  IpTablesLock
d41d8cd98f00b204e9800998ecf8427e  TeiSharedMemoryLock
d41d8cd98f00b204e9800998ecf8427e  TmkLinuxMempoolInitLock
0b4d36a5e920d57f544c9f8ff4a91c8e  TvFeatures
0e90cd54246e4d7737621f7a0cc7c0c9  build-version
d48c6268af11d5f25cc912f138ef4f0d  chat-script
088efe77d82755beacba99fec0e3dfe0  dhclient-script
de96af75a06cfe65da638b0b048da669  dhclient-script2
84d71e6b1a347973cfe1b93dce347208  fstab
80172d2a8084eecc65e9dbe24d9afe47  group
d41d8cd98f00b204e9800998ecf8427e  group.original
82d4a1126dd1958da54afbfe26ce4791  hosts
bd867127d102792192e8497453d3e957  inittab
796e4f1b5882269562f32731d5cceeb8  ircatch.profile
1636171eb302d632ee42b55e4c4487f6  mime.types
ba8c316b12d2a8af62dbfcae4ff9cd54  mtab
67b3c64de785cbc73357813d961e3829  netfilter-disable
a865b6849ac70736fa71ea9fff89593f  netfilter-enable
6217919869abdc0dbcd3708e78f28355  nsswitch.conf
6364768eaa4b516d0f90bc1c84f85433  passwd
d41d8cd98f00b204e9800998ecf8427e  passwd.original
374ad4cab7a79c6d120943d3541a21be  ppp-options
90e26a6f2bd82ef52fb9ff9c985fe419  profile
5856d65f1a05dd50641ba016b2aa4607  protocols
af621c9c3e7175e4afa7184788f36992  resolv.conf
b891cd6726f65ac7ec1fb80142ee2470  services
b030b540f9dc161998be96e25f1a4fa8  syslog.conf
f83d6830a360a618d5576f22869d1f09  tclient.conf
8deed498e8d9810ce3d4a438c217975f  termcap
b5b181afd548f188dd6051c11d8a8055  termcap.original

real	0m0.174s
user	0m0.030s
sys	0m0.030s
As you can see, it doesn't take very long, even when slowed considerably by writing to a telnet terminal. Come to think of it, though, I'm certain it does scan tivoapp, which takes about 5 - 7 seconds. Still, it's not very long, and as stated, bypassing the chain of trust only shaves at most a few seconds off the boot times. Here is the list of scripts that run:

Code:
HD_Theater:/etc/rc.d/StageA_PreKickstart# ll
total 62
-rw-r--r--   1 0        0             764 Feb 21  2011 rc.Sequence_000.SourceLocalConf.sh
-rw-r--r--   1 0        0            3216 Feb 21  2011 rc.Sequence_050.SetupCoreEnvironement.sh
-rw-r--r--   1 0        0             414 Feb 21  2011 rc.Sequence_075.MountProc.sh
-rw-r--r--   1 0        0             905 Feb 21  2011 rc.Sequence_100.CheckSysgen.sh
-rw-r--r--   1 0        0             859 Feb 21  2011 rc.Sequence_150.SetHpkImplementation.sh
-rw-r--r--   1 0        0             653 Feb 21  2011 rc.Sequence_200.InitializeHpk.Implementation_Gen04.sh
-rw-r--r--   1 0        0             653 Feb 21  2011 rc.Sequence_200.InitializeHpk.Implementation_Gen05.sh
-rw-r--r--   1 0        0             653 Feb 21  2011 rc.Sequence_200.InitializeHpk.Implementation_Gen06.sh
-rw-r--r--   1 0        0             653 Feb 21  2011 rc.Sequence_200.InitializeHpk.Implementation_Sample.sh
-rw-r--r--   1 0        0             653 Feb 21  2011 rc.Sequence_200.InitializeHpk.Implementation_Series2.sh
-rw-r--r--   1 0        0             653 Feb 21  2011 rc.Sequence_200.InitializeHpk.Implementation_Series2T.sh
-rw-r--r--   1 0        0             653 Feb 21  2011 rc.Sequence_200.InitializeHpk.Implementer_TGC.sh
-rw-r--r--   1 0        0            1370 Feb 21  2011 rc.Sequence_300.SetHpkPlatform.sh
-rw-r--r--   1 0        0             957 Feb 21  2011 rc.Sequence_350.DefaultToPlatformTakara.Implementation_Series2.sh
-rw-r--r--   1 0        0             957 Feb 21  2011 rc.Sequence_350.DefaultToPlatformTakara.Implementation_Series2T.sh
-rw-r--r--   1 0        0             603 Feb 21  2011 rc.Sequence_400.CleanupRamdiskAndStartSwap.sh
-rw-r--r--   1 0        0             578 Feb 21  2011 rc.Sequence_500.LoadEarlyCoreDrivers.Implementation_Gen04.sh
-rw-r--r--   1 0        0             598 Feb 21  2011 rc.Sequence_500.LoadEarlyCoreDrivers.Implementation_Gen05.sh
-rw-r--r--   1 0        0             835 Feb 21  2011 rc.Sequence_500.LoadEarlyCoreDrivers.Implementation_Gen06.sh
-rw-r--r--   1 0        0             685 Feb 21  2011 rc.Sequence_500.LoadEarlyCoreDrivers.Implementation_Series2.sh
-rw-r--r--   1 0        0             685 Feb 21  2011 rc.Sequence_500.LoadEarlyCoreDrivers.Implementation_Series2T.sh
-rw-r--r--   1 0        0             614 Feb 21  2011 rc.Sequence_500.LoadEarlyCoreDrivers.Implementer_TGC.sh
-rw-r--r--   1 0        0             893 Feb 21  2011 rc.Sequence_525.InitLedState.Platform_jyounetsu.sh
-rw-r--r--   1 0        0             510 Feb 21  2011 rc.Sequence_525.LoadI2CDrivers.Implementation_Gen06.sh
-rw-r--r--   1 0        0             809 Feb 21  2011 rc.Sequence_525.LoadI2CDrivers.Platform_eiger.sh
-rw-r--r--   1 0        0             761 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Implementation_Gen06.sh
-rw-r--r--   1 0        0            1277 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_bryce.sh
-rw-r--r--   1 0        0            1516 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_eiger.sh
-rw-r--r--   1 0        0            1360 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_elmo.sh
-rw-r--r--   1 0        0            1052 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_falcon.sh
-rw-r--r--   1 0        0            1005 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_falconus.sh
-rw-r--r--   1 0        0             703 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_gemini.sh
-rw-r--r--   1 0        0             730 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_ibis.sh
-rw-r--r--   1 0        0            1190 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_jyounetsu.sh
-rw-r--r--   1 0        0             984 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_other.Implementation_Series2.sh
-rw-r--r--   1 0        0             972 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_phoenix.sh
-rw-r--r--   1 0        0             986 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_takara.sh
-rw-r--r--   1 0        0            1029 Feb 21  2011 rc.Sequence_550.LoadIrReceiveDriver.Platform_yukon.sh
-rw-r--r--   1 0        0             631 Feb 21  2011 rc.Sequence_600.DetermineModemType.Implementation_Gen04.sh
-rw-r--r--   1 0        0             631 Feb 21  2011 rc.Sequence_600.DetermineModemType.Implementation_Gen05.sh
-rw-r--r--   1 0        0             631 Feb 21  2011 rc.Sequence_600.DetermineModemType.Implementation_Gen06.sh
-rw-r--r--   1 0        0             631 Feb 21  2011 rc.Sequence_600.DetermineModemType.Implementation_Sample.sh
-rw-r--r--   1 0        0             631 Feb 21  2011 rc.Sequence_600.DetermineModemType.Implementation_Series2.sh
-rw-r--r--   1 0        0             631 Feb 21  2011 rc.Sequence_600.DetermineModemType.Implementation_Series2T.sh
-rw-r--r--   1 0        0             631 Feb 21  2011 rc.Sequence_600.DetermineModemType.Implementer_TGC.sh
-rw-r--r--   1 0        0            2968 Feb 21  2011 rc.Sequence_650.LoadEarlyCoreDrivers.Platform_elmo.sh
-rw-r--r--   1 0        0            3148 Feb 21  2011 rc.Sequence_700.CheckForPanic.sh

HD_Theater:/etc/rc.d/StageB_PostKickstart# ll
total 56
-rw-r--r--   1 0        0             540 Feb 21  2011 rc.Sequence_050.CheckForTrayOpen.Platform_elmo.sh
-rw-r--r--   1 0        0            1285 Feb 21  2011 rc.Sequence_100.MountVar.sh
-rw-r--r--   1 0        0            2317 Feb 21  2011 rc.Sequence_110.SetupLocale.sh
-rw-r--r--   1 0        0            4319 Feb 21  2011 rc.Sequence_150.CleanupVar.sh
-rw-r--r--   1 0        0             799 Feb 21  2011 rc.Sequence_180.NetworkKickstart.sh
-rw-r--r--   1 0        0             617 Feb 21  2011 rc.Sequence_200.StartLoggerDaemons.sh
-rw-r--r--   1 0        0             872 Feb 21  2011 rc.Sequence_225.CheckPanicLog.sh
-rw-r--r--   1 0        0             488 Feb 21  2011 rc.Sequence_250.StartPerformanceMonitoring.sh
-rw-r--r--   1 0        0            2711 Feb 21  2011 rc.Sequence_300.PatchModem.Implementation_Gen04.sh
-rw-r--r--   1 0        0            2711 Feb 21  2011 rc.Sequence_300.PatchModem.Implementation_Gen05.sh
-rw-r--r--   1 0        0            2711 Feb 21  2011 rc.Sequence_300.PatchModem.Implementation_Gen06.sh
-rw-r--r--   1 0        0            2711 Feb 21  2011 rc.Sequence_300.PatchModem.Implementation_Series2.sh
-rw-r--r--   1 0        0            2711 Feb 21  2011 rc.Sequence_300.PatchModem.Implementation_Series2T.sh
-rw-r--r--   1 0        0            2711 Feb 21  2011 rc.Sequence_300.PatchModem.Implementer_TGC.sh
-rw-r--r--   1 0        0            1333 Feb 21  2011 rc.Sequence_400.RunmePhase1.sh
-rw-r--r--   1 0        0            6222 Feb 21  2011 rc.Sequence_990.Diag.Implementation_Gen05.sh
-rw-r--r--   1 0        0            6687 Feb 21  2011 rc.Sequence_990.Diag.Implementation_Gen06.sh
-rw-r--r--   1 0        0            6733 Feb 21  2011 rc.Sequence_990.Diag.Implementation_TGC01.sh

HD_Theater:/etc/rc.d/StageC_MediaInitialization# ll
total 60
-rw-r--r--   1 0        0            1068 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_bryce.sh
-rw-r--r--   1 0        0            2783 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_eiger.sh
-rw-r--r--   1 0        0            1073 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_elmo.sh
-rw-r--r--   1 0        0             609 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_falcon.sh
-rw-r--r--   1 0        0             602 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_falconus.sh
-rw-r--r--   1 0        0            1422 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_fusion.sh
-rw-r--r--   1 0        0            1623 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_gemini.sh
-rw-r--r--   1 0        0             602 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_gryphon.sh
-rw-r--r--   1 0        0             671 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_ibis.sh
-rw-r--r--   1 0        0             910 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_jyounetsu.sh
-rw-r--r--   1 0        0             486 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_other.sh
-rw-r--r--   1 0        0             847 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_phoenix.sh
-rw-r--r--   1 0        0             984 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_provo.sh
-rw-r--r--   1 0        0             680 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_takara.sh
-rw-r--r--   1 0        0             984 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_trinity.sh
-rw-r--r--   1 0        0            1045 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_troy.sh
-rw-r--r--   1 0        0             538 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_unknown.Implementation_Series2.sh
-rw-r--r--   1 0        0             538 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_unknown.Implementation_Series2T.sh
-rw-r--r--   1 0        0             602 Feb 21  2011 rc.Sequence_200.DefineLoadInput.Platform_yukon.sh
-rw-r--r--   1 0        0            1098 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_bryce.sh
-rw-r--r--   1 0        0            2475 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_eiger.sh
-rw-r--r--   1 0        0            1277 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_elmo.sh
-rw-r--r--   1 0        0            1005 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_falcon.sh
-rw-r--r--   1 0        0            1005 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_falconus.sh
-rw-r--r--   1 0        0            2628 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_fusion.sh
-rw-r--r--   1 0        0            1339 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_gemini.sh
-rw-r--r--   1 0        0            1005 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_gryphon.sh
-rw-r--r--   1 0        0            1323 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_ibis.sh
-rw-r--r--   1 0        0            1668 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_jyounetsu.sh
-rw-r--r--   1 0        0             489 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_other.sh
-rw-r--r--   1 0        0            1760 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_phoenix.sh
-rw-r--r--   1 0        0             956 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_provo.sh
-rw-r--r--   1 0        0            1206 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_takara.sh
-rw-r--r--   1 0        0             956 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_trinity.sh
-rw-r--r--   1 0        0            2554 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_troy.sh
-rw-r--r--   1 0        0            1005 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_unknown.Implementation_Series2.sh
-rw-r--r--   1 0        0            1005 Feb 21  2011 rc.Sequence_300.DefineLoadOutput.Platform_yukon.sh
-rw-r--r--   1 0        0             615 Feb 21  2011 rc.Sequence_400.LoadMediaDrivers.sh
-rw-r--r--   1 0        0             949 Feb 21  2011 rc.Sequence_475.SataPmFwUpgrade.Platform_fusion.sh
-rw-r--r--   1 0        0             597 Feb 21  2011 rc.Sequence_500.SplashScreen.sh
Note that last script in Stage C. That is where the "Almost there" screen is displayed:

Code:
# cat rc.Sequence_500.SplashScreen
##############################################################################
#
#   File: rc.SplashScreen.sh
#
#   Description: Stage C system startup script fragment
#                Splash the screen with a full-screen OSD, to indicate
#                boot progress
#
#   Copyright 2008 TiVo Inc. All Rights Reserved.
#
#############################################################################

locale=$TV_LOCALE
if [ "$locale" = "" ]; then
    locale=en_US
    #echo "TV_LOCALE NOT SET, DEFAULT to $locale"
fi

echo "Splash the screen ($locale)"

/tvbin/osdwriter /tvbin/AlmostThere.png
Then the boot proceeds:

Code:
HD_Theater:/etc/rc.d/StageD_PreMfs# ll
total 52
-rw-r--r--   1 0        0            1779 Feb 21  2011 rc.Sequence_050.SetupApplicationEnvironment.sh
-rw-r--r--   1 0        0            1269 Feb 21  2011 rc.Sequence_075.SetResourceLocale.sh
-rw-r--r--   1 0        0             538 Feb 21  2011 rc.Sequence_100.StartDssProcessor.Platform_bryce.sh
-rw-r--r--   1 0        0             434 Feb 21  2011 rc.Sequence_100.StartDssProcessor.Platform_other.Implementation_Series2.sh
-rw-r--r--   1 0        0             434 Feb 21  2011 rc.Sequence_100.StartDssProcessor.Platform_other.Implementation_Series2T.sh
-rw-r--r--   1 0        0             537 Feb 21  2011 rc.Sequence_100.StartDssProcessor.Platform_phoenix.sh
-rw-r--r--   1 0        0             532 Feb 21  2011 rc.Sequence_100.StartDssProcessor.Platform_provo.sh
-rw-r--r--   1 0        0             538 Feb 21  2011 rc.Sequence_100.StartDssProcessor.Platform_trinity.sh
-rw-r--r--   1 0        0            2041 Feb 21  2011 rc.Sequence_150.CheckForDebug.sh
-rw-r--r--   1 0        0             432 Feb 21  2011 rc.Sequence_150.StartAtscProcessor.Platform_eiger.sh
-rw-r--r--   1 0        0             428 Feb 21  2011 rc.Sequence_150.StartAtscProcessor.Platform_fusion.sh
-rw-r--r--   1 0        0             445 Feb 21  2011 rc.Sequence_150.StartAtscProcessor.Platform_other.sh
-rw-r--r--   1 0        0             529 Feb 21  2011 rc.Sequence_150.StartAtscProcessor.Platform_phoenix.sh
-rw-r--r--   1 0        0             615 Feb 21  2011 rc.Sequence_150.StartAtscProcessor.Platform_troy.sh
-rw-r--r--   1 0        0             700 Feb 21  2011 rc.Sequence_175.CheckFailedModule.sh
-rw-r--r--   1 0        0             458 Feb 21  2011 rc.Sequence_200.LoadIrBlaster.Platform_falcon.sh
-rw-r--r--   1 0        0             458 Feb 21  2011 rc.Sequence_200.LoadIrBlaster.Platform_falconus.sh
-rw-r--r--   1 0        0             513 Feb 21  2011 rc.Sequence_200.LoadIrBlaster.Platform_other.Implementation_Series2.sh
-rw-r--r--   1 0        0             513 Feb 21  2011 rc.Sequence_200.LoadIrBlaster.Platform_other.Implementation_Series2T.sh
-rw-r--r--   1 0        0             458 Feb 21  2011 rc.Sequence_200.LoadIrBlaster.Platform_yukon.sh
-rw-r--r--   1 0        0             609 Feb 21  2011 rc.Sequence_250.LoadOtherDrivers.Implementation_Gen04.sh
-rw-r--r--   1 0        0             967 Feb 21  2011 rc.Sequence_250.LoadOtherDrivers.Implementation_Gen05.sh
-rw-r--r--   1 0        0             963 Feb 21  2011 rc.Sequence_250.LoadOtherDrivers.Implementation_Gen06.sh
-rw-r--r--   1 0        0             596 Feb 21  2011 rc.Sequence_250.LoadOtherDrivers.Implementation_Sample.sh
-rw-r--r--   1 0        0             596 Feb 21  2011 rc.Sequence_250.LoadOtherDrivers.Implementation_Series2.sh
-rw-r--r--   1 0        0             596 Feb 21  2011 rc.Sequence_250.LoadOtherDrivers.Implementation_Series2T.sh
-rw-r--r--   1 0        0            1244 Feb 21  2011 rc.Sequence_250.LoadOtherDrivers.Implementer_TGC.sh
-rw-r--r--   1 0        0            1191 Feb 21  2011 rc.Sequence_300.LoadAdditionalMediaDrivers.Platform_elmo.sh
-rw-r--r--   1 0        0            3577 Feb 21  2011 rc.Sequence_300.LoadAdditionalMediaDrivers.Platform_takara.sh
-rw-r--r--   1 0        0             447 Feb 21  2011 rc.Sequence_300.LoadIrBlaster.Implementation_Gen04.sh
-rw-r--r--   1 0        0             446 Feb 21  2011 rc.Sequence_300.LoadIrBlaster.Implementation_TGC01.sh
-rw-r--r--   1 0        0             540 Feb 21  2011 rc.Sequence_320.CheckForTrayOpen.Platform_takara.sh
-rw-r--r--   1 0        0             847 Feb 21  2011 rc.Sequence_350.CheckForPromUpdate.sh
-rw-r--r--   1 0        0             589 Feb 21  2011 rc.Sequence_400.SetSystemClock.sh
-rw-r--r--   1 0        0             848 Feb 21  2011 rc.Sequence_450.SetupNetwork.sh
-rw-r--r--   1 0        0             997 Feb 21  2011 rc.Sequence_500.LogCleanupActivity.sh
-rw-r--r--   1 0        0             438 Feb 21  2011 rc.Sequence_525.StartProxyLauncher.sh
-rw-r--r--   1 0        0             790 Feb 21  2011 rc.Sequence_550.MfsMaintenance.sh
-rw-r--r--   1 0        0             832 Feb 21  2011 rc.Sequence_575.StartFancontrol.sh
-rw-r--r--   1 0        0             603 Feb 21  2011 rc.Sequence_600.StartLauncher.sh
-rw-r--r--   1 0        0             475 Feb 21  2011 rc.Sequence_650.CheckMfsAssert.sh
-rw-r--r--   1 0        0             820 Feb 21  2011 rc.Sequence_750.CheckFactoryReset.sh
-rw-r--r--   1 0        0             576 Feb 21  2011 rc.Sequence_775.rc.StartTzToVixs.Platform_fusion.sh
-rw-r--r--   1 0        0             441 Feb 21  2011 rc.Sequence_800.RunmePhase2.sh

HD_Theater:/etc/rc.d/StageE_PreApplication# ll
total 29
-rw-r--r--   1 0        0            3350 Feb 21  2011 rc.Sequence_100.CheckFactoryDiags.sh
-rw-r--r--   1 0        0            1212 Feb 21  2011 rc.Sequence_200.InvokeStressDiags.sh
-rw-r--r--   1 0        0            1215 Feb 21  2011 rc.Sequence_300.LogSystemStats.sh
-rw-r--r--   1 0        0             536 Feb 21  2011 rc.Sequence_350.ConfirmProgressive.Platform_elmo.sh
-rw-r--r--   1 0        0             648 Feb 21  2011 rc.Sequence_400.ConvertDb.sh
-rw-r--r--   1 0        0            2491 Feb 21  2011 rc.Sequence_450.CheckForUpgradeDisc.sh
-rw-r--r--   1 0        0             851 Feb 21  2011 rc.Sequence_500.CheckForSoftwareUpgrade.sh
-rw-r--r--   1 0        0             725 Feb 21  2011 rc.Sequence_525.CheckWriteBandwidth.sh
-rw-r--r--   1 0        0             941 Feb 21  2011 rc.Sequence_550.CheckSMART.sh
-rw-r--r--   1 0        0             929 Feb 21  2011 rc.Sequence_600.CheckForDvdFirmwareUpdate.Platform_elmo.sh
-rw-r--r--   1 0        0             782 Feb 21  2011 rc.Sequence_600.CheckForDvdFirmwareUpdate.Platform_takara.sh
-rw-r--r--   1 0        0            2102 Feb 21  2011 rc.Sequence_600.PerformForensic.sh
-rw-r--r--   1 0        0             747 Feb 21  2011 rc.Sequence_650.CleanupPlanetX.sh
-rw-r--r--   1 0        0             532 Feb 21  2011 rc.Sequence_675.StartNccpapp.sh
-rw-r--r--   1 0        0            1223 Feb 21  2011 rc.Sequence_700.CheckCpuRevision.Implementation_Series2.sh
-rw-r--r--   1 0        0            1223 Feb 21  2011 rc.Sequence_700.CheckCpuRevision.Implementation_Series2T.sh
-rw-r--r--   1 0        0             462 Feb 21  2011 rc.Sequence_800.RunmePhase3.sh
-rw-r--r--   1 0        0             683 Feb 21  2011 rc.Sequence_900.PostUpgrade.sh

HD_Theater:/etc/rc.d/StageF_ApplicationLaunch# ll
total 3
-rw-r--r--   1 0        0             641 Feb 21  2011 rc.Sequence_100.CheckPerfLog.sh
-rw-r--r--   1 0        0             667 Feb 21  2011 rc.Sequence_200.StartApplication.sh
-rw-r--r--   1 0        0             465 Feb 21  2011 rc.Sequence_300.RunmePhase4.sh

HD_Theater:/etc/rc.d/StageG_PostApplication# ll
total 6
-rw-r--r--   1 0        0            1700 Feb 21  2011 rc.Sequence_100.InvokeLateStressDiags.sh
-rw-r--r--   1 0        0            1931 Feb 21  2011 rc.Sequence_200.StartListeners.Feature_AUTHORING.sh
-rw-r--r--   1 0        0             518 Feb 21  2011 rc.Sequence_300.CheckForDvdBurnTest.sh
-rw-r--r--   1 0        0             545 Feb 21  2011 rc.Sequence_400.SourcePostConf.sh


Last edited by lrhorer : 04-30-2012 at 07:34 PM.
lrhorer is offline   Reply With Quote
Reply
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

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

Advertisements

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

(C) 2013 Magenium Solutions - 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 05:27 PM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |