|
|
04-26-2012, 11:00 AM
|
#1
|
|
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?
|
|
|
04-26-2012, 11:30 AM
|
#2
|
|
Registered User
Join Date: Dec 2006
Posts: 124
|
Quote:
Originally Posted by xemand
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.
|
|
|
04-26-2012, 12:08 PM
|
#3
|
|
Registered User
Join Date: May 2007
Location: Raleigh, NC
Posts: 178
|
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 TWC Navigator for now.
|
|
|
04-26-2012, 02:20 PM
|
#4
|
|
Registered User
Join Date: Apr 2005
Posts: 516
|
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.
|
|
|
04-26-2012, 04:44 PM
|
#5
|
|
Omega Consumer
Join Date: Jun 2002
Posts: 7,612
|
Quote:
Originally Posted by trip1eX
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.
|
|
|
04-26-2012, 05:03 PM
|
#6
|
|
Hot in West Texas
Join Date: Dec 2010
Location: San Angelo, TX
Posts: 1,676
|
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
|
|
|
04-26-2012, 05:35 PM
|
#7
|
|
what ru lookin at?
Join Date: May 2006
Location: Dallas, TX
Posts: 9,722
|
__________________
The Man Prayer: I'm a man ...... I can change ...... If I have to ...... I guess.
|
|
|
04-26-2012, 09:28 PM
|
#8
|
|
Registered User
Join Date: Apr 2001
Location: sunnyvale
Posts: 13,877
|
Quote:
Originally Posted by trip1eX
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.
|
|
|
04-26-2012, 11:54 PM
|
#9
|
|
Registered User
Join Date: May 2007
Location: So close, yet too far away
Posts: 1,313
|
Quote:
Originally Posted by mattack
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.
|
|
|
04-27-2012, 01:18 AM
|
#10
|
|
Registered User
Join Date: Mar 2010
Posts: 493
|
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.
|
|
|
04-27-2012, 03:43 AM
|
#11
|
|
Registered User
Join Date: Oct 2003
Posts: 53
|
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.
|
|
|
04-28-2012, 01:16 AM
|
#12
|
|
Registered User
Join Date: Sep 2000
Posts: 1,358
|
Quote:
Originally Posted by ncted
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.
|
|
|
04-28-2012, 03:49 AM
|
#13
|
|
Registered User
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,806
|
Quote:
Originally Posted by trip1eX
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.
|
|
|
04-28-2012, 03:51 AM
|
#14
|
|
Registered User
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,806
|
Quote:
Originally Posted by mattack
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
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.
|
|
|
04-28-2012, 03:57 AM
|
#15
|
|
Registered User
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,806
|
Quote:
Originally Posted by Worf
TiVo is probably a poor fit for an SSD
|
Extremely.
Quote:
Originally Posted by Worf
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
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
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
I've seen near-SSD like performance with those.
|
Yes, but not in a TiVo.
|
|
|
04-28-2012, 07:52 AM
|
#16
|
|
Registered User
Join Date: May 2007
Location: Raleigh, NC
Posts: 178
|
Quote:
Originally Posted by Worf
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 TWC Navigator for now.
|
|
|
04-28-2012, 12:57 PM
|
#17
|
|
Registered User
Join Date: Sep 2004
Posts: 5,499
|
Quote:
Originally Posted by vman41
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.
|
|
|
04-28-2012, 02:43 PM
|
#18
|
|
Registered User
Join Date: Apr 2001
Location: sunnyvale
Posts: 13,877
|
Quote:
Originally Posted by lrhorer
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.
|
|
|
04-28-2012, 03:13 PM
|
#19
|
|
Registered User
Join Date: May 2003
Posts: 10,105
|
Quote:
Originally Posted by lrhorer
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?
__________________
2 Lifetime Premieres, 2 HDs, 2 S2DTs
1 Original Philips S1 from all the way back in 1999!
Disappointed in the still-incomplete Tivo Premiere, I will NOT be buying a Premiere Elite anytime soon!
|
|
|
04-28-2012, 03:15 PM
|
#20
|
|
Registered User
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,806
|
Quote:
Originally Posted by mattack
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
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.
|
|
|
04-28-2012, 03:20 PM
|
#21
|
|
Registered User
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,806
|
Quote:
Originally Posted by smbaker
What do you believe the bottleneck is in a Tivo boot cycle?
|
See above.
Quote:
Originally Posted by smbaker
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.
|
|
|
04-28-2012, 03:21 PM
|
#22
|
|
Registered User
Join Date: May 2003
Posts: 10,105
|
Quote:
Originally Posted by lrhorer
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?
__________________
2 Lifetime Premieres, 2 HDs, 2 S2DTs
1 Original Philips S1 from all the way back in 1999!
Disappointed in the still-incomplete Tivo Premiere, I will NOT be buying a Premiere Elite anytime soon!
|
|
|
04-28-2012, 07:27 PM
|
#23
|
|
Registered User
Join Date: Oct 2003
Posts: 53
|
Quote:
Originally Posted by smbaker
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.
|
|
|
04-28-2012, 09:52 PM
|
#24
|
|
Registered User
Join Date: Apr 2012
Location: States
Posts: 12
|
Very interesting and great topic/question.
|
|
|
04-29-2012, 11:46 AM
|
#25
|
|
Registered User
Join Date: Apr 2005
Posts: 516
|
Quote:
Originally Posted by mattack
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.
|
|
|
04-29-2012, 12:06 PM
|
#26
|
|
Registered User
Join Date: Apr 2005
Posts: 516
|
Quote:
Originally Posted by lrhorer
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.
|
|
|
04-30-2012, 11:24 AM
|
#27
|
|
Registered User
Join Date: Oct 2005
Posts: 931
|
Quote:
Originally Posted by xemand
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
|
|
|
04-30-2012, 12:38 PM
|
#28
|
|
Registered User
Join Date: Aug 2003
Location: San Antonio, Texas, USA
Posts: 6,806
|
Quote:
Originally Posted by smbaker
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
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
The cablecards?
|
No, not particularly, although they do of course take some time.
Quote:
Originally Posted by smbaker
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
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
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 06:34 PM.
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|