<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.exploitee.rs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jbjonesjr</id>
	<title>Exploitee.rs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.exploitee.rs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jbjonesjr"/>
	<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Special:Contributions/Jbjonesjr"/>
	<updated>2026-05-08T01:55:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.0-alpha</generator>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=380</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=380"/>
		<updated>2011-01-22T22:26:51Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== Still Needs ==&lt;br /&gt;
* Finishing  merging update information from the [[ Logitech_Revue_Technical]] page including proper truncation and hex editting steps.  also mentions odex.&lt;br /&gt;
* Description of how the Update Signing process works and how it works (And why we can&#039;t just copy an edited zip to a usb key and root the box).  This is a common noob question.&lt;br /&gt;
* Description of the seperation between the boot loader steps, recovery kernel, and the actual &amp;quot;device&amp;quot; file system/kernel.  This can be key for explaining how the UART1 console was used and when it was used.  There is often discussion on &amp;quot;I was looking for output during X boot stage&amp;quot; that this data could provide a definition for.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader. It&#039;s Data - Wouldn&#039;t say it is encrypted, but no strings visible.   It may contain a console&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Splash image, [ http://img413.imageshack.us/img413/3144/splashc.png visible here] .  It reports itself as a BMP even though it is a PNG &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Flash Transaction Key/Value Storage. (Contents seem to be just seems to be just: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| Holds most of the crucial system files (including the Kernel). It&#039;s YAFFS&lt;br /&gt;
| /system&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Kernel ==&lt;br /&gt;
Information on the Kernel can be found at [[Logitech Revue Kernel]].  Important to note that the Revue Kernel has been modified from what is available in the Google Open Sourced GTV Source.&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
The Google TV software uses the [[com.google.android.systemupdater]] activity to periodically query Google&#039;s servers looking for available updates based on the devices serial number.  Under normal circumstances, during initial setup of a device (i.e. configuring from a wiped or factory default state), the [[com.google.android.systemupdater]] activity will prevent completion of first time setup until any available updates have been downloaded and applied. This can be bypassed by removing the files /system/app/SystemUpdater.{apk,odex} from the file system.  If a previously configured device finds an available update at boot, it will display a prompt asking the user if they wish to install or defer the update.  If the system is not in use at this time, the update will be applied without user interaction.  Based on network traffic it appears that the Logitech Revue is configured to check for updates in the early AM hours.  The currently installed build number can be checked through &#039;&#039;&#039;Applications &amp;gt; Settings &amp;gt; About&#039;&#039;&#039;.  (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including [[boot.img]], [[kernel.img]], [[ota.prop]], updated content, and meta-information (signing data, install scripts, etc).&lt;br /&gt;
&lt;br /&gt;
Until a new recovery image with is prepared for Google TV devices, it is unlikely that anyone will be able to prepare homebrew updates since it is computationally infeasible to produce signatures matching Google&#039;s private key.  This same logic applies when considering modification of a properly signed update.&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
* boot.img: A file system including the root file system for the device.&amp;lt;&lt;br /&gt;
* The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
*  META-INF directory: Includes the manifest and other certificates shipped with the device for authentication.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Contribute]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=351</id>
		<title>Revue Update b42732</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=351"/>
		<updated>2011-01-14T09:19:09Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes update b42732 for the Logitech Revue, first appearing on 1/12/2010.&lt;br /&gt;
&lt;br /&gt;
===Update Official Release Notes ===&lt;br /&gt;
Purpose: Security Updates per [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Release]&lt;br /&gt;
&lt;br /&gt;
=== Build Properties Diff ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
3,5c3,5&lt;br /&gt;
&amp;lt; ro.build.id=KA1X-20101208.224639&lt;br /&gt;
&amp;lt; ro.build.display.id=KA1X-20101208.224639.user-b42449&lt;br /&gt;
&amp;lt; ro.build.version.incremental=user-b42449&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; ro.build.id=KA1X-20101215.164651&lt;br /&gt;
&amp;gt; ro.build.display.id=KA1X-20101215.164651.user-b42732&lt;br /&gt;
&amp;gt; ro.build.version.incremental=user-b42732&lt;br /&gt;
9,10c9,10&lt;br /&gt;
&amp;lt; ro.build.date=Wed Dec  8 22:47:18 MST 2010&lt;br /&gt;
&amp;lt; ro.build.date.utc=1291873638&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; ro.build.date=Wed Dec 15 16:47:55 MST 2010&lt;br /&gt;
&amp;gt; ro.build.date.utc=1292456875&lt;br /&gt;
29,30c29,30&lt;br /&gt;
&amp;lt; ro.build.description=ka-user 2.1-update1 KA1X-20101208.224639 user-b42449 release-keys&lt;br /&gt;
&amp;lt; ro.build.fingerprint=logitech/ka/ka/:2.1-update1/KA1X-20101208.224639/user-b42449:user/release-keys&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; ro.build.description=ka-user 2.1-update1 KA1X-20101215.164651 user-b42732 release-keys&lt;br /&gt;
&amp;gt; ro.build.fingerprint=logitech/ka/ka/:2.1-update1/KA1X-20101215.164651/user-b42732:user/release-keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Update Changeset===&lt;br /&gt;
&lt;br /&gt;
*Plaintext Files:*&lt;br /&gt;
META-INF/CERT.SF&lt;br /&gt;
&lt;br /&gt;
META-INF/MANIFEST.MF&lt;br /&gt;
&lt;br /&gt;
Binary (or JAR) files:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Differences of note ===&lt;br /&gt;
&lt;br /&gt;
system/bin/create_fses&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
11,12c11,12&lt;br /&gt;
&amp;lt;     CACHE_PARTITION=/dev/sda1&lt;br /&gt;
&amp;lt;     CHROME_PARTITION=/dev/sda2&lt;br /&gt;
---&lt;br /&gt;
&amp;gt;     CACHE_PARTITION=/dev/disk/by-topology/internal-usb0-part1&lt;br /&gt;
&amp;gt;     CHROME_PARTITION=/dev/disk/by-topology/internal-usb0-part2&lt;br /&gt;
16,17c16,17&lt;br /&gt;
&amp;lt;     CACHE_PARTITION=/dev/sda1&lt;br /&gt;
&amp;lt;     CHROME_PARTITION=/dev/sda2&lt;br /&gt;
---&lt;br /&gt;
&amp;gt;     CACHE_PARTITION=/dev/disk/by-topology/internal-usb0-part1&lt;br /&gt;
&amp;gt;     CHROME_PARTITION=/dev/disk/by-topology/internal-usb0-part2&lt;br /&gt;
21,22c21,22&lt;br /&gt;
&amp;lt;     CACHE_PARTITION=/dev/sda1&lt;br /&gt;
&amp;lt;     CHROME_PARTITION=/dev/sda2&lt;br /&gt;
---&lt;br /&gt;
&amp;gt;     CACHE_PARTITION=/dev/disk/by-topology/internal-usb0-part1&lt;br /&gt;
&amp;gt;     CHROME_PARTITION=/dev/disk/by-topology/internal-usb0-part2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Libraries to inspect ===&lt;br /&gt;
&lt;br /&gt;
===How to dump libraries ===&lt;br /&gt;
objdump -Sdl libname.so &amp;gt; libname.so.dumpc99&#039; &lt;br /&gt;
&#039;objdump -Sdl libname.so.dump950&lt;br /&gt;
then start diffing the dumps for internal library changes&lt;br /&gt;
&lt;br /&gt;
=== Inspection Results ===&lt;br /&gt;
*keep in mind however that checksums can change without a functional change just due to a different build system being used*&lt;br /&gt;
libprotobuf.so  - Changes: [ http://dl.dropbox.com/u/1886948/updates.diff ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;br /&gt;
[[Category:Contribute]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=350</id>
		<title>Revue Update b42732</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=350"/>
		<updated>2011-01-14T08:59:37Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes update b42732 for the Logitech Revue, first appearing on 1/12/2010.&lt;br /&gt;
&lt;br /&gt;
===Update Official Release Notes ===&lt;br /&gt;
Purpose: Security Updates per [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Release]&lt;br /&gt;
&lt;br /&gt;
=== Build Properties Diff ===&lt;br /&gt;
3,5c3,5&lt;br /&gt;
&amp;lt; ro.build.id=KA1X-20101208.224639&lt;br /&gt;
&amp;lt; ro.build.display.id=KA1X-20101208.224639.user-b42449&lt;br /&gt;
&amp;lt; ro.build.version.incremental=user-b42449&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; ro.build.id=KA1X-20101215.164651&lt;br /&gt;
&amp;gt; ro.build.display.id=KA1X-20101215.164651.user-b42732&lt;br /&gt;
&amp;gt; ro.build.version.incremental=user-b42732&lt;br /&gt;
9,10c9,10&lt;br /&gt;
&amp;lt; ro.build.date=Wed Dec  8 22:47:18 MST 2010&lt;br /&gt;
&amp;lt; ro.build.date.utc=1291873638&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; ro.build.date=Wed Dec 15 16:47:55 MST 2010&lt;br /&gt;
&amp;gt; ro.build.date.utc=1292456875&lt;br /&gt;
29,30c29,30&lt;br /&gt;
&amp;lt; ro.build.description=ka-user 2.1-update1 KA1X-20101208.224639 user-b42449 release-keys&lt;br /&gt;
&amp;lt; ro.build.fingerprint=logitech/ka/ka/:2.1-update1/KA1X-20101208.224639/user-b42449:user/release-keys&lt;br /&gt;
---&lt;br /&gt;
&amp;gt; ro.build.description=ka-user 2.1-update1 KA1X-20101215.164651 user-b42732 release-keys&lt;br /&gt;
&amp;gt; ro.build.fingerprint=logitech/ka/ka/:2.1-update1/KA1X-20101215.164651/user-b42732:user/release-keys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Update Changeset===&lt;br /&gt;
&lt;br /&gt;
Plaintext Files:&lt;br /&gt;
META-INF/CERT.SF&lt;br /&gt;
META-INF/MANIFEST.MF&lt;br /&gt;
&lt;br /&gt;
system/bin/create_fses&lt;br /&gt;
11,12c11,12&lt;br /&gt;
&amp;lt;     CACHE_PARTITION=/dev/sda1&lt;br /&gt;
&amp;lt;     CHROME_PARTITION=/dev/sda2&lt;br /&gt;
---&lt;br /&gt;
&amp;gt;     CACHE_PARTITION=/dev/disk/by-topology/internal-usb0-part1&lt;br /&gt;
&amp;gt;     CHROME_PARTITION=/dev/disk/by-topology/internal-usb0-part2&lt;br /&gt;
16,17c16,17&lt;br /&gt;
&amp;lt;     CACHE_PARTITION=/dev/sda1&lt;br /&gt;
&amp;lt;     CHROME_PARTITION=/dev/sda2&lt;br /&gt;
---&lt;br /&gt;
&amp;gt;     CACHE_PARTITION=/dev/disk/by-topology/internal-usb0-part1&lt;br /&gt;
&amp;gt;     CHROME_PARTITION=/dev/disk/by-topology/internal-usb0-part2&lt;br /&gt;
21,22c21,22&lt;br /&gt;
&amp;lt;     CACHE_PARTITION=/dev/sda1&lt;br /&gt;
&amp;lt;     CHROME_PARTITION=/dev/sda2&lt;br /&gt;
---&lt;br /&gt;
&amp;gt;     CACHE_PARTITION=/dev/disk/by-topology/internal-usb0-part1&lt;br /&gt;
&amp;gt;     CHROME_PARTITION=/dev/disk/by-topology/internal-usb0-part2&lt;br /&gt;
&lt;br /&gt;
Binary (or JAR) files:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Differences ===&lt;br /&gt;
&lt;br /&gt;
===Libraries to inspect ===&lt;br /&gt;
&lt;br /&gt;
===How to dump libraries ===&lt;br /&gt;
objdump -Sdl libname.so &amp;gt; libname.so.dumpc99&#039; &lt;br /&gt;
&#039;objdump -Sdl libname.so.dump950&lt;br /&gt;
then start diffing the dumps for internal library changes&lt;br /&gt;
&lt;br /&gt;
=== Inspection Results ===&lt;br /&gt;
*keep in mind however that checksums can change without a functional change just due to a different build system being used*&lt;br /&gt;
libprotobuf.so  - Changes: [ http://dl.dropbox.com/u/1886948/updates.diff ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;br /&gt;
[[Category:Contribute]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=338</id>
		<title>Want to Help?</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=338"/>
		<updated>2011-01-13T18:57:21Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While root access to the Revue was gained by the BreakVue hack, the gtvhacker team is not done.  Below are a list of information that we are trying to enhance in our quest for a pure software-only access.  As always, check into the irc room (channel #gtvhacker) if you have questions or need assitance.&lt;br /&gt;
&lt;br /&gt;
===General Information===&lt;br /&gt;
We are still looking for documentation support on all things Google TV.&lt;br /&gt;
* From the file system layout (See [[GTV_FileSystem]])&lt;br /&gt;
* To user interactions (Commands &amp;amp; Buttons &amp;amp; Controls)&lt;br /&gt;
&lt;br /&gt;
Anything you&#039;ve found out about GoogleTV, feel free to include as well.&lt;br /&gt;
===Updates===&lt;br /&gt;
Catalog as much info about the updates as possible.  Information about the specific updates can be provided on the appropriate version-specific pages.  These pages and more can be found at [[GoogleTV_-_Version_Numbers]].&lt;br /&gt;
* What are the differences in files from update to update (which are new, which are missing)&lt;br /&gt;
* What changed in the files that were present before.&lt;br /&gt;
* List changed APKS and their use.&lt;br /&gt;
* work on decrypting the sony updates (afaik qualis doesn&#039;t have a box)&lt;br /&gt;
&lt;br /&gt;
===Binaries===&lt;br /&gt;
Better annotate the binaries and information they provide.&lt;br /&gt;
* debug/analysis certain binaries&lt;br /&gt;
* A public analysis of all the binaries in each update could be useful&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=337</id>
		<title>Revue Update b42732</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=337"/>
		<updated>2011-01-13T18:48:26Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes update b42732 for the Logitech Revue, first appearing on 1/12/2010.&lt;br /&gt;
&lt;br /&gt;
===Update Official Release Notes ===&lt;br /&gt;
Purpose: Security Updates per [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Release]&lt;br /&gt;
&lt;br /&gt;
===Update Changeset===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Differences ===&lt;br /&gt;
&lt;br /&gt;
===Libraries to inspect ===&lt;br /&gt;
&lt;br /&gt;
===How to dump libraries ===&lt;br /&gt;
objdump -Sdl libname.so &amp;gt; libname.so.dumpc99&#039; &lt;br /&gt;
&#039;objdump -Sdl libname.so.dump950&lt;br /&gt;
then start diffing the dumps for internal library changes&lt;br /&gt;
&lt;br /&gt;
=== Inspection Results ===&lt;br /&gt;
*keep in mind however that checksums can change without a functional change just due to a different build system being used*&lt;br /&gt;
libprotobuf.so  - Changes: [ http://dl.dropbox.com/u/1886948/updates.diff ]&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=336</id>
		<title>GoogleTV - Version Numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=336"/>
		<updated>2011-01-13T18:47:07Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google TV Version numbers are unique per device.&lt;br /&gt;
&lt;br /&gt;
== How to determine my Version Number ==&lt;br /&gt;
&lt;br /&gt;
== Known Released Version Numbers ==&lt;br /&gt;
=== Logitech Revue ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Version number&lt;br /&gt;
! ID&lt;br /&gt;
! Date first seen&lt;br /&gt;
! Update link&lt;br /&gt;
! Announcement&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b39389 | b39389 ]]&lt;br /&gt;
|&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| [[ Revue Update b39953| b39953]] &lt;br /&gt;
|&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b42449| b42449]] &lt;br /&gt;
| 2.1-Update1&lt;br /&gt;
| 12-15-10&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-December-15-2010/td-p/537980 Logitech Forums]&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b42732 | b42732]]&lt;br /&gt;
| 2.1-Update1&lt;br /&gt;
| 01-12-11&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/9504d579bade.mp-signed-ota_update-b42732.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Forums]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sony Blue Ray Player X ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Version number&lt;br /&gt;
! ID&lt;br /&gt;
! Date first seen&lt;br /&gt;
! Update link&lt;br /&gt;
! Announcement&lt;br /&gt;
|-&lt;br /&gt;
| [[ Sony Update 164108| 164108]]&lt;br /&gt;
| 2.1-update1&lt;br /&gt;
| 01-10-11&lt;br /&gt;
| ogm_2.1_2010121503ON.164108&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sony GoogleTV X===&lt;br /&gt;
== Known Development/Beta Vesion Numbers ==&lt;br /&gt;
&lt;br /&gt;
== Core GoogleTV Versions == &lt;br /&gt;
These Version Numbers relate to GoogleTV Versions, which may or may not see release to the individual devices.  Think of the difference between ASOP releases and device-specific releases.&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=335</id>
		<title>LogitechRevueUpdates</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=335"/>
		<updated>2011-01-13T18:44:15Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Removed version information and left a pointer to the full version page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logitech Revue Version information and Update information has been moved to the [[GoogleTV_-_Version_Numbers | Google TV Version page]].&lt;br /&gt;
{{Revue toc Inline}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=334</id>
		<title>Want to Help?</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=334"/>
		<updated>2011-01-13T18:42:39Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Major cleanup including some priorities and pointers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While root access to the Revue was gained by the BreakVue hack, the gtvhacker team is not done.  Below are a list of information that we are trying to enhance in our quest for a pure software-only access.  As always, check into the irc room (channel #gtvhacker) if you have questions or need assitance.&lt;br /&gt;
&lt;br /&gt;
===Updates===&lt;br /&gt;
Catalog as much info about the updates as possible.  Information about the specific updates can be provided on the appropriate version-specific pages.  These pages and more can be found at [[GoogleTV_-_Version_Numbers]].&lt;br /&gt;
* What are the differences in files from update to update (which are new, which are missing)&lt;br /&gt;
* What changed in the files that were present before.&lt;br /&gt;
* List changed APKS and their use.&lt;br /&gt;
* work on decrypting the sony updates (afaik qualis doesn&#039;t have a box)&lt;br /&gt;
&lt;br /&gt;
===Binaries===&lt;br /&gt;
Better annotate the binaries and information they provide.&lt;br /&gt;
* debug/analysis certain binaries&lt;br /&gt;
* A public analysis of all the binaries in each update could be useful&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=333</id>
		<title>GoogleTV - Version Numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=333"/>
		<updated>2011-01-13T18:38:43Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google TV Version numbers are unique per device.&lt;br /&gt;
&lt;br /&gt;
== How to determine my Version Number ==&lt;br /&gt;
&lt;br /&gt;
== Known Released Version Numbers ==&lt;br /&gt;
=== Logitech Revue ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Version number&lt;br /&gt;
! Date first seen&lt;br /&gt;
! Update link&lt;br /&gt;
! Announcement&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b39389 | b39389 ]]&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| [[ Revue Update b39953| b39953]] &lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b42449| b42449]] &lt;br /&gt;
| 12-15-10&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-December-15-2010/td-p/537980 Logitech Forums]&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b42732 | b42732]]&lt;br /&gt;
| 01-12-11&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/9504d579bade.mp-signed-ota_update-b42732.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Forums]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sony Blue Ray Player X ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Version number&lt;br /&gt;
! Date first seen&lt;br /&gt;
! Update link&lt;br /&gt;
! Announcement&lt;br /&gt;
|-&lt;br /&gt;
| [[ Sony Update 164108| 2.1-update1 : 164108]]&lt;br /&gt;
| 01-10-11&lt;br /&gt;
| ogm_2.1_2010121503ON.164108&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sony GoogleTV X===&lt;br /&gt;
== Known Development/Beta Vesion Numbers ==&lt;br /&gt;
&lt;br /&gt;
== Core GoogleTV Versions == &lt;br /&gt;
These Version Numbers relate to GoogleTV Versions, which may or may not see release to the individual devices.  Think of the difference between ASOP releases and device-specific releases.&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=332</id>
		<title>Revue Update b42732</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Revue_Update_b42732&amp;diff=332"/>
		<updated>2011-01-13T17:42:47Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Created page with &amp;quot;This page describes update b42732 for the Logitech Revue, first appearing on 1/12/2010.  ===Update Official Release Notes === Purpose: Security Updates per [http://forums.logitec...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes update b42732 for the Logitech Revue, first appearing on 1/12/2010.&lt;br /&gt;
&lt;br /&gt;
===Update Official Release Notes ===&lt;br /&gt;
Purpose: Security Updates per [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Release]&lt;br /&gt;
&lt;br /&gt;
===Update Changeset===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Differences ===&lt;br /&gt;
&lt;br /&gt;
===Libraries to inspect ===&lt;br /&gt;
&lt;br /&gt;
===How to dump libraries ===&lt;br /&gt;
objdump -Sdl libname.so &amp;gt; libname.so.dumpc99&#039; &lt;br /&gt;
&#039;objdump -Sdl libname.so.dump950&lt;br /&gt;
then start diffing the dumps for internal library changes&lt;br /&gt;
&lt;br /&gt;
=== Inspection Results ===&lt;br /&gt;
*keep in mind however that checksums can change without a functional change just due to a different build system being used*&lt;br /&gt;
libprotobuf.so  - Changes: [ http://dl.dropbox.com/u/1886948/updates.diff ]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=331</id>
		<title>LogitechRevueUpdates</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=331"/>
		<updated>2011-01-13T17:31:45Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of current Logitech Revue updates&lt;br /&gt;
{{Revue toc Inline}}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Version number&lt;br /&gt;
! Date first seen&lt;br /&gt;
! Update link&lt;br /&gt;
! Announcement&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b42732 | b39389 ]]&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| [[ Revue Update b42732 | b39953]] &lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b42732 | b42449]] &lt;br /&gt;
| 12-15-10&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-December-15-2010/td-p/537980 Logitech Forums]&lt;br /&gt;
|-&lt;br /&gt;
| [[ Revue Update b42732 | b42732]]&lt;br /&gt;
| 01-12-11&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/9504d579bade.mp-signed-ota_update-b42732.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Forums]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Talk:LogitechRevueUpdates&amp;diff=330</id>
		<title>Talk:LogitechRevueUpdates</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Talk:LogitechRevueUpdates&amp;diff=330"/>
		<updated>2011-01-13T17:27:28Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Might be nice to create a wiki page for an individual update if it contained useful information worth talking about.  I know last night when people in the irc channel were working to dissect the update and see if it could harm the rooted boxes, a good amount of research and learning was done about it that could be of use to the community.  My goal is that when one person spends time figuring something out or learning, everyone else should have a shortcut from doing that work... -01/13/2010 jbjonesjr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yep, sounds like a good idea.  discussed in irc on 1/13 am and agreed upon&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Talk:LogitechRevueUpdates&amp;diff=326</id>
		<title>Talk:LogitechRevueUpdates</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Talk:LogitechRevueUpdates&amp;diff=326"/>
		<updated>2011-01-13T14:59:51Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Created page with &amp;quot;Might be nice to create a wiki page for an individual update if it contained useful information worth talking about.  I know last night when people in the irc channel were workin...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Might be nice to create a wiki page for an individual update if it contained useful information worth talking about.  I know last night when people in the irc channel were working to dissect the update and see if it could harm the rooted boxes, a good amount of research and learning was done about it that could be of use to the community.  My goal is that when one person spends time figuring something out or learning, everyone else should have a shortcut from doing that work... -01/13/2010 jbjonesjr&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=325</id>
		<title>LogitechRevueUpdates</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=325"/>
		<updated>2011-01-13T14:58:17Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Adding links to the Logitech Announcement describing the update.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of current Logitech Revue updates&lt;br /&gt;
{{Revue toc Inline}}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Version number&lt;br /&gt;
! Date first seen&lt;br /&gt;
! Update link&lt;br /&gt;
! Announcement&lt;br /&gt;
|-&lt;br /&gt;
| b39389&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
|&lt;br /&gt;
|- &lt;br /&gt;
| b39953&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| b42449&lt;br /&gt;
| 12-15-10&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-December-15-2010/td-p/537980 Logitech Forums]&lt;br /&gt;
|-&lt;br /&gt;
| b42732&lt;br /&gt;
| 01-12-11&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/9504d579bade.mp-signed-ota_update-b42732.zip&lt;br /&gt;
| [http://forums.logitech.com/t5/Revue-Product-Updates-Release/Revue-amp-Google-TV-Update-January-11-2011/td-p/557792 Logitech Forums]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Logitech Revue]]&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=310</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=310"/>
		<updated>2011-01-10T04:37:56Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== Still Needs ==&lt;br /&gt;
* Finishing  merging update information from the [[ Logitech_Revue_Technical]] page including proper truncation and hex editting steps.  also mentions odex.&lt;br /&gt;
* Description of how the Update Signing process works and how it works (And why we can&#039;t just copy an edited zip to a usb key and root the box).  This is a common noob question.&lt;br /&gt;
* Description of the seperation between the boot loader steps, recovery kernel, and the actual &amp;quot;device&amp;quot; file system/kernel.  This can be key for explaining how the UART1 console was used and when it was used.  There is often discussion on &amp;quot;I was looking for output during X boot stage&amp;quot; that this data could provide a definition for.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader. It&#039;s Data - Wouldn&#039;t say it is encrypted, but no strings visible.   It may contain a console&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Splash image, [ http://img413.imageshack.us/img413/3144/splashc.png visible here] .  It reports itself as a BMP even though it is a PNG &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Flash Transaction Key/Value Storage. (Contents seem to be just seems to be just: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including the base file system image, the system files, as well as updated certificates and any public keys necessary.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
* boot.img: A file system including the root file system for the device.&amp;lt;&lt;br /&gt;
* The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
*  META-INF directory: Includes the manifest and other certificates shipped with the device for authentication.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=309</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=309"/>
		<updated>2011-01-10T04:37:11Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== Still Needs ==&lt;br /&gt;
* Finishing  merging update information from the [[ Logitech_Revue_Technical]] page including proper truncation and hex editting steps.  also mentions odex.&lt;br /&gt;
* Description of how the Update Signing process works and how it works (And why we can&#039;t just copy an edited zip to a usb key and root the box).  This is a common noob question.&lt;br /&gt;
* Description of the seperation between the boot loader steps, recovery kernel, and the actual &amp;quot;device&amp;quot; file system/kernel.  This can be key for explaining how the UART1 console was used and when it was used.  There is often discussion on &amp;quot;I was looking for output during X boot stage&amp;quot; that this data could provide a definition for.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader. It&#039;s Data - Wouldn&#039;t say it is encrypted, but no strings visible.   It may contain a console&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Splash image, [ http://img413.imageshack.us/img413/3144/splashc.png visible here] .  It reports itself as a BMP even though it is a PNG &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Flash Transaction Key/Value Storage. (Contents seem to be just seems to be just: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including the base file system image, the system files, as well as updated certificates and any public keys necessary.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&amp;lt;br/&amp;gt;&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&amp;lt;br/&amp;gt;&lt;br /&gt;
The META-INF directory which includes the manifest and other certificates shipped with the device for authentication.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=308</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=308"/>
		<updated>2011-01-10T04:36:26Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== Still Needs ==&lt;br /&gt;
* Finishing  merging update information from the [[ Logitech_Revue_Technical]] page including proper truncation and hex editting steps.  also mentions odex.&lt;br /&gt;
* Description of how the Update Signing process works and how it works (And why we can&#039;t just copy an edited zip to a usb key and root the box).  This is a common noob question.&lt;br /&gt;
* Description of the seperation between the boot loader steps, recovery kernel, and the actual &amp;quot;device&amp;quot; file system/kernel.  This can be key for explaining how the UART1 console was used and when it was used.  There is often discussion on &amp;quot;I was looking for output during X boot stage&amp;quot; that this data could provide a definition for.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader. It&#039;s Data - Wouldn&#039;t say it is encrypted, but no strings visible.   It may contain a console&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Splash image, [ http://img413.imageshack.us/img413/3144/splashc.png visible here] .  It reports itself as a BMP even though it is a PNG &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Flash Transaction Key/Value Storage. (Contents seem to be just seems to be just: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including the base file system image, the system files, as well as updated certificates and any public keys necessary.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certificates shipped with the device for authentication.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=307</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=307"/>
		<updated>2011-01-10T04:34:36Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== Still Needs ==&lt;br /&gt;
* Finishing  merging update information from the [[ Logitech Technical]] page including proper truncation and hex editting steps.  also mentions odex.&lt;br /&gt;
* Description of how the Update Signing process works and how it works (And why we can&#039;t just copy an edited zip to a usb key and root the box).  This is a common noob question.&lt;br /&gt;
* Description of the seperation between the boot loader steps, recovery kernel, and the actual &amp;quot;device&amp;quot; file system/kernel.  This can be key for explaining how the UART1 console was used and when it was used.  There is often discussion on &amp;quot;I was looking for output during X boot stage&amp;quot; that this data could provide a definition for.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader. It&#039;s Data - Wouldn&#039;t say it is encrypted, but no strings visible.   It may contain a console&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Splash image, [ http://img413.imageshack.us/img413/3144/splashc.png visible here] .  It reports itself as a BMP even though it is a PNG &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Flash Transaction Key/Value Storage. (Contents seem to be just seems to be just: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including the base file system image, the system files, as well as updated certificates and any public keys necessary.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certificates shipped with the device for authentication.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=306</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=306"/>
		<updated>2011-01-10T04:26:08Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== Still Needs ==&lt;br /&gt;
* Finishing  merging update information from the [[ Logitech Technical]] page including proper truncation and hex editting steps.  also mentions odex.&lt;br /&gt;
* Description of how the Update Signing process works and how it works (And why we can&#039;t just copy an edited zip to a usb key and root the box).  This is a common noob question.&lt;br /&gt;
* Description of the seperation between the boot loader steps, recovery kernel, and the actual &amp;quot;device&amp;quot; file system/kernel.  This can be key for explaining how the UART1 console was used and when it was used.  There is often discussion on &amp;quot;I was looking for output during X boot stage&amp;quot; that this data could provide a definition for.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including the base file system image, the system files, as well as updated certificates and any public keys necessary.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certificates shipped with the device for authentication.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=305</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=305"/>
		<updated>2011-01-10T04:10:40Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including the base file system image, the system files, as well as updated certificates and any public keys necessary.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certificates shipped with the device for authentication.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=304</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=304"/>
		<updated>2011-01-10T04:10:21Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including the base file system image, the system files, as well as updated certificates and any public keys necessary.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=302</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=302"/>
		<updated>2011-01-10T04:03:12Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
* MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
* Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=301</id>
		<title>Logitech Revue Technical</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=301"/>
		<updated>2011-01-10T04:02:47Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Revue toc Inline}}&lt;br /&gt;
&lt;br /&gt;
== Update Procedure ==&lt;br /&gt;
&lt;br /&gt;
Place new update labelled &amp;quot;update.zip&amp;quot; on a USB drive, with a single partition (ie, 1st partition on a USB disk, so say &amp;quot;/dev/sdc1&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Insert into Revue in the Right most USB port (if looking at the back, closest to the power jack)&lt;br /&gt;
&lt;br /&gt;
Boot into recovery mode:&lt;br /&gt;
&lt;br /&gt;
#Plug in the box, once the fan goes low, hold the sync button. Box should reboot, keep the sync button held until image on screen.&lt;br /&gt;
#Once you see the Arrow on your screen, using your keyboard press Alt+L - usually once or twice until Formatting DATA: shows on the screen, and does not go away&lt;br /&gt;
#You can then update the box, with a newer update. Downgrading fails however due to a date check.&lt;br /&gt;
&lt;br /&gt;
== Firmware Links ==&lt;br /&gt;
&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
&lt;br /&gt;
== Kernel Revisions ==&lt;br /&gt;
&lt;br /&gt;
*Initial kernel observed on the Revue (?): 2.6.23.18-gc0a9a5fb (richard@sayan) (gcc version 4.1.2) #3 PREEMPT Sat Jul 31 15:32:56 PDT 2010&lt;br /&gt;
*439c26f6af05.mp-signed-ota_update-b39389: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*52057d168e2b.mp-signed-ota_update-b39953: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*c9914396d183.mp-signed-ota_update-b42449: 2.6.23.18-g5bba1a13 (sameer@sayan) #24 PREEMPT Fri Nov 19 11:13:31 PST 2010&lt;br /&gt;
&lt;br /&gt;
== SDK/Toolchain Support ==&lt;br /&gt;
&lt;br /&gt;
The [http://googletv-mirrored-source.googlecode.com/hg/intel-sdk/intel-sdk-toolchain.tar.bz2?r=27705a482273e3a34e8bcdbfb4fdad9afcd65e93 Intel SDK Toolchain] is available as part of Google&#039;s GPL release for the Google TV.  The toolchain is required to compile code to run on the Linux operating system of the Logitech Revue. (Sony devices as well as other future devices are most likely also compatible with this toolchain but since we don&#039;t have these products to root we don&#039;t know yet.)&lt;br /&gt;
&lt;br /&gt;
We have not yet documented a complete list of required dependencies but here are a few packages which might come in handy:&lt;br /&gt;
*texinfo (we encountered some issues with certain supposedly supported versions of makeinfo but updating texinfo resolved this on most systems)&lt;br /&gt;
*flex&lt;br /&gt;
*bison&lt;br /&gt;
*awk&lt;br /&gt;
*patch&lt;br /&gt;
*gcc et al&lt;br /&gt;
*build-essential (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
To simplify the toolchain setup, craigdroid created [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip this script] which simplifies the process of configuring a build system.  After preparing the toolchain you will want to run the following commands (which are demo&#039;d in the script) to establish your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CROSS_COMPILE=i686-linux-cm-&lt;br /&gt;
export LD_LIBRARY_PATH=~/googletv/sdk/i686-linux-elf/lib&lt;br /&gt;
export PATH=$PATH:~/googletv/sdk/i686-linux-elf/bin/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NDK Support ==&lt;br /&gt;
&lt;br /&gt;
Although at present Google has not released a proper NDK for the platform, the gtvhacker team have combined the Intel SDK Toolchain from the [http://code.google.com/p/googletv-mirrored-source/ Google TV Mirrored Source site] with the work of the [http://www.android-x86.org/ Android x86] project to provide unofficial support in the interim.&lt;br /&gt;
&lt;br /&gt;
The entire process of setting up unofficial NDK support has been simplified into an [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip easy to use script] by craigdroid.  The script has been tested on a few of our systems running CentOS 5.4 32-bit, as well as 32-bit and 64-bit editions of Ubuntu.  &lt;br /&gt;
&lt;br /&gt;
Since this is building the Intel toolchain automatically all of the caveats regarding the Intel SDK Toolchain apply here as well.&lt;br /&gt;
&lt;br /&gt;
To automatically download, build and configure NDK support first save yourself some time and check the dependencies list in the SDK/Toolchain Support section and then from any users shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; unzip gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; ./gtvhacker-NDK-installer.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the NDK to ~/googletv/ndk/ for the current user.  Some guidance on how to use the NDK is provided upon completion of successful script execution.&lt;br /&gt;
&lt;br /&gt;
== Flash Hard Drive ==&lt;br /&gt;
&lt;br /&gt;
The Revue has an internal hard drive stored on an sdram chip (flash memory).  It contains the complete file system for the Revue as well as the user data (if their is not external storage provided).  More information about the layout of this file system can be found [[ GTV_FileSystem | File System Details.]]&lt;br /&gt;
&lt;br /&gt;
== Serial Output ==&lt;br /&gt;
&lt;br /&gt;
The logitech revue board contains a UART1 port on the front of the board which before receiving the boxes initial updates is active. In order to communicate with UART port you will need a USB to TTL adapter (or board that does a similar conversion). &lt;br /&gt;
&lt;br /&gt;
The pins operate at 3.3v and the port at 9600 baud with the following pinout:&lt;br /&gt;
&lt;br /&gt;
[http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
&lt;br /&gt;
Serial output&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
[[Pasted Locally]]&lt;br /&gt;
&lt;br /&gt;
== PIC Access ==&lt;br /&gt;
*There is a standard PIC access port to the right of the UART1 port. It can be accessed via a standard PIC Kit Debug board (Tested with version 2). The port has read/write access but the code is pulled from the chip as .hex file and is unreadable thus far.&lt;br /&gt;
&lt;br /&gt;
*The pinout starting from the left (pin with white square around it) corresponds to pin 1 or Vpp.The remaining pins follow the same layout. [http://www.ianstedman.co.uk/Projects/TK3_PICKit2_adaptor/Pickit2_pinout.png PIC Pinout]&lt;br /&gt;
&lt;br /&gt;
[http://googletv.pastebin.com/PBWRCAqB PIC Hex Dump] [[Local PIC Hex Dump]]&lt;br /&gt;
&lt;br /&gt;
[http://dl.dropbox.com/u/217678/Bootloader%20from%20PIC.TXT PIC Disassembly]&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
The updates contain a full set of system files (changed and unchanged), including a boot.img and a recovery.img&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;boot.img&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thread at [http://forum.xda-developers.com/showpost.php?p=8844074&amp;amp;postcount=80 xda-developer] has the process to extract from the .img files (thx bftb0):&lt;br /&gt;
&lt;br /&gt;
&amp;quot;the &amp;quot;boot.img&amp;quot; file is in (little-endian) &amp;quot;squashfs&amp;quot; format and unpacks just fine using &amp;quot;unsquashfs&amp;quot; from the (Ubuntu 8.0.04 LTS) squashfs-tools package.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; recovery.img&lt;br /&gt;
&lt;br /&gt;
system/boot/recovery.img is a standard Android boot image with some extra garbage (0x580 bytes) at the front. Remove it like so:&lt;br /&gt;
  dd if=system/boot/recovery.img bs=1408 skip=1 &amp;gt; recovery-ungarbaged.img&lt;br /&gt;
Unpack that like a normal Android boot image. Something like [http://android-dls.com/files/linux/split_bootimg.zip this Perl script] works well.&lt;br /&gt;
&lt;br /&gt;
The kernel (system/boot/kernel) is also a boot image with the same extra garbage at the front.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odex files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The .odex files can be extracted by using the following guide [http://code.google.com/p/smali/wiki/DeodexInstructions Deodex Instructions]&lt;br /&gt;
&lt;br /&gt;
== Open Ports ==&lt;br /&gt;
List nmap ports&lt;br /&gt;
&lt;br /&gt;
Normal Mode, hooked to a Dish Network DVR (622) via WiFi:&lt;br /&gt;
&lt;br /&gt;
*Nmap scan report for LogitechRevue (192.168.1.142)&lt;br /&gt;
*Host is up (0.060s latency).&lt;br /&gt;
*Not shown: 65528 closed ports&lt;br /&gt;
*PORT      STATE SERVICE&lt;br /&gt;
*53/tcp    open  domain&lt;br /&gt;
*1100/tcp  open  unknown&lt;br /&gt;
*5222/tcp  open  unknown -- [http://xmpp.org/ Extensible Messaging and Presence Protocol (XMPP) Service (http://xmpp.org/)]&lt;br /&gt;
*5223/tcp  open  unknown -- SSL port for [http://xmpp.org/ XMPP]&lt;br /&gt;
*9551/tcp  open  unknown -- [[AnyMote]] Pairing Service through IpRemoteControlService -- SSL handshake requests cert and logs show errors from [[AnyMote]]&lt;br /&gt;
*9552/tcp  open  unknown -- [[AnyMote]] Connection Port&lt;br /&gt;
*35832/tcp open  unknown&lt;br /&gt;
&lt;br /&gt;
Also of course, with root - port 5555, for ADB!&lt;br /&gt;
&lt;br /&gt;
== Available Pinouts ==&lt;br /&gt;
*UART1 --&amp;gt; [http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
*J3 --&amp;gt; PIC Chip Access (Pin 1 = VPP/MCLR, Pin 2 = VDD, Pin 3 = VSS, Pin 4 = ICSPDAT/PGD, Pin 5 = ICSPCLK/PGC, Pin 6 = Auxiliary)&lt;br /&gt;
*SW1 --&amp;gt; Push Button Switch (Use is unknown)&lt;br /&gt;
*J20 --&amp;gt; I2C (Top left - GND Top right - ? Bottom left - SDA Bottom right - SCL)&lt;br /&gt;
*J69 --&amp;gt; USB Pinout&lt;br /&gt;
*SATA1 --&amp;gt; SATA Pinout (Pin 1 = GND, Pin 2 = TXP / A+ , Pin 3 = TXN / A-, Pin 4 = GND , Pin 5 = RXN / B-, Pin 6 = RXP / B+ , Pin 7 = GND)&lt;br /&gt;
*J24 --&amp;gt; Unknown (Pin 1 = 3.3, Pin 2 = ?, Pin 3 = ?, Pin 4 = GND)&lt;br /&gt;
*J13 --&amp;gt; Unknown (Power for SATA?) - (Pin 1 = ?, Pin 2 = GND, Pin 3 = GND, Pin 4 = 5v)&lt;br /&gt;
*J67 --&amp;gt; USB (Pin 1 = GND, Pin 2 = D-, Pin 3 = D+, Pin 4 = FREE, Pin 5 = VCC +5V) used for RF daughter board. [http://www.chrispix.com/googleTV.jpg IMG]&lt;br /&gt;
*XDP1 --&amp;gt; Intel XDP Debug Adapter [http://software.intel.com/sites/products/documentation/hpc/atom/application/device_driver_debugging.pdf Information on XDP Debugging] [ftp://download.intel.com/design/Pentium4/guides/31337301.pdf Page 23 Pinout]&lt;br /&gt;
[[Category:Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
== Volume Management Configuration ==&lt;br /&gt;
Similar to other android based products, external storage can be attached and the device will attempt to mount it to /sdcard as per the following vold.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
volume_sdcard {&lt;br /&gt;
    # NOTE: This path is overbroad and will capture any device on the&lt;br /&gt;
    # tatung3/tatung4 external PCI bus.  This needs to be fixed, in conjunction&lt;br /&gt;
    # with vold changes to handle logical device names (DEVPATH names are not&lt;br /&gt;
    # static, unfortunately.)&lt;br /&gt;
    media_path     /devices/pci0000:00/0000:00:01.0/0000:01:0d.1/usb2/&lt;br /&gt;
    media_type     scsi&lt;br /&gt;
    mount_point    /sdcard&lt;br /&gt;
    read_only      true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the interesting comment about the media_path as well as the read_only=true attribute.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=300</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=300"/>
		<updated>2011-01-10T03:59:20Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output]. ([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&amp;lt;br/&amp;gt;&lt;br /&gt;
Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=299</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=299"/>
		<updated>2011-01-10T03:58:40Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
MTD Parition listing came from [http://googletv.pastebin.com/233dZqZx Revue Boot Output].&amp;lt;br/&amp;gt;&lt;br /&gt;
Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=298</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=298"/>
		<updated>2011-01-10T03:57:50Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
MTD Parition listing came from [ http://googletv.pastebin.com/233dZqZx Revue Boot Output].&amp;lt;br/&amp;gt;&lt;br /&gt;
Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=297</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=297"/>
		<updated>2011-01-10T03:57:30Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Sources:&lt;br /&gt;
MTD Parition listing came from [ http://googletv.pastebin.com/233dZqZx Revue Boot Output].&lt;br /&gt;
Partition mount points came from /init.rc &amp;amp; init.&amp;lt;board&amp;gt;.rc&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=296</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=296"/>
		<updated>2011-01-10T03:54:25Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points (This data is taken from [ http://googletv.pastebin.com/233dZqZx Revue Boot Sequence]):&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Description&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
| Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
| Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings. &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
| All FF&#039;s &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
| Holds Box SN, repeats (like MBR) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
| Says its a BMP, doesnt totally look like one (on quick look) &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
| Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
| Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
| The kernel image &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
| Root partition, goes in hand with the kernel image, also in squashfs format &lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
| /system partition. Holds most of the crucial system files. It&#039;s YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
| Where user data is stored. YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
| Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech YAFFS&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
| Bad Block Table&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=295</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=295"/>
		<updated>2011-01-10T03:51:38Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
The File System is created by the mounting of 13 partitions into a *nix-based file system.&lt;br /&gt;
&lt;br /&gt;
Below is a list of the paritions, their contents, and their mount points (This data is taken from [ http://googletv.pastebin.com/233dZqZx Revue Boot Sequence]):&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| Identifier?&lt;br /&gt;
| Partition Name&lt;br /&gt;
| Contents&lt;br /&gt;
| Mount Point&lt;br /&gt;
|-&lt;br /&gt;
|0x00000000-0x00200000 &lt;br /&gt;
| &amp;quot;mbr&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00200000-0x00a00000 &lt;br /&gt;
| &amp;quot;cefdk&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00a00000-0x00c00000 &lt;br /&gt;
| &amp;quot;redboot&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x00c00000-0x00e00000 &lt;br /&gt;
| &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01000000-0x01800000 &lt;br /&gt;
| &amp;quot;splash&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01800000-0x01900000 &lt;br /&gt;
| &amp;quot;fts&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x01900000-0x02d00000 &lt;br /&gt;
| &amp;quot;recovery&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x02d00000-0x03200000 &lt;br /&gt;
| &amp;quot;kernel&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x03200000-0x07200000 &lt;br /&gt;
| &amp;quot;boot&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x07200000-0x1f200000 &lt;br /&gt;
| &amp;quot;system&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x1f200000-0x3fa00000 &lt;br /&gt;
| &amp;quot;data&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3fa00000-0x3ff00000 &lt;br /&gt;
| &amp;quot;keystore&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 0x3ff00000-0x40000000 &lt;br /&gt;
| &amp;quot;bbt&amp;quot; &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=289</id>
		<title>Logitech Revue Technical</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=289"/>
		<updated>2011-01-10T03:44:31Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Revue toc Inline}}&lt;br /&gt;
&lt;br /&gt;
== Update Procedure ==&lt;br /&gt;
&lt;br /&gt;
Place new update labelled &amp;quot;update.zip&amp;quot; on a USB drive, with a single partition (ie, 1st partition on a USB disk, so say &amp;quot;/dev/sdc1&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Insert into Revue in the Right most USB port (if looking at the back, closest to the power jack)&lt;br /&gt;
&lt;br /&gt;
Boot into recovery mode:&lt;br /&gt;
&lt;br /&gt;
#Plug in the box, once the fan goes low, hold the sync button. Box should reboot, keep the sync button held until image on screen.&lt;br /&gt;
#Once you see the Arrow on your screen, using your keyboard press Alt+L - usually once or twice until Formatting DATA: shows on the screen, and does not go away&lt;br /&gt;
#You can then update the box, with a newer update. Downgrading fails however due to a date check.&lt;br /&gt;
&lt;br /&gt;
== Firmware Links ==&lt;br /&gt;
&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
&lt;br /&gt;
== Kernel Revisions ==&lt;br /&gt;
&lt;br /&gt;
*Initial kernel observed on the Revue (?): 2.6.23.18-gc0a9a5fb (richard@sayan) (gcc version 4.1.2) #3 PREEMPT Sat Jul 31 15:32:56 PDT 2010&lt;br /&gt;
*439c26f6af05.mp-signed-ota_update-b39389: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*52057d168e2b.mp-signed-ota_update-b39953: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*c9914396d183.mp-signed-ota_update-b42449: 2.6.23.18-g5bba1a13 (sameer@sayan) #24 PREEMPT Fri Nov 19 11:13:31 PST 2010&lt;br /&gt;
&lt;br /&gt;
== SDK/Toolchain Support ==&lt;br /&gt;
&lt;br /&gt;
The [http://googletv-mirrored-source.googlecode.com/hg/intel-sdk/intel-sdk-toolchain.tar.bz2?r=27705a482273e3a34e8bcdbfb4fdad9afcd65e93 Intel SDK Toolchain] is available as part of Google&#039;s GPL release for the Google TV.  The toolchain is required to compile code to run on the Linux operating system of the Logitech Revue. (Sony devices as well as other future devices are most likely also compatible with this toolchain but since we don&#039;t have these products to root we don&#039;t know yet.)&lt;br /&gt;
&lt;br /&gt;
We have not yet documented a complete list of required dependencies but here are a few packages which might come in handy:&lt;br /&gt;
*texinfo (we encountered some issues with certain supposedly supported versions of makeinfo but updating texinfo resolved this on most systems)&lt;br /&gt;
*flex&lt;br /&gt;
*bison&lt;br /&gt;
*awk&lt;br /&gt;
*patch&lt;br /&gt;
*gcc et al&lt;br /&gt;
*build-essential (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
To simplify the toolchain setup, craigdroid created [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip this script] which simplifies the process of configuring a build system.  After preparing the toolchain you will want to run the following commands (which are demo&#039;d in the script) to establish your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CROSS_COMPILE=i686-linux-cm-&lt;br /&gt;
export LD_LIBRARY_PATH=~/googletv/sdk/i686-linux-elf/lib&lt;br /&gt;
export PATH=$PATH:~/googletv/sdk/i686-linux-elf/bin/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NDK Support ==&lt;br /&gt;
&lt;br /&gt;
Although at present Google has not released a proper NDK for the platform, the gtvhacker team have combined the Intel SDK Toolchain from the [http://code.google.com/p/googletv-mirrored-source/ Google TV Mirrored Source site] with the work of the [http://www.android-x86.org/ Android x86] project to provide unofficial support in the interim.&lt;br /&gt;
&lt;br /&gt;
The entire process of setting up unofficial NDK support has been simplified into an [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip easy to use script] by craigdroid.  The script has been tested on a few of our systems running CentOS 5.4 32-bit, as well as 32-bit and 64-bit editions of Ubuntu.  &lt;br /&gt;
&lt;br /&gt;
Since this is building the Intel toolchain automatically all of the caveats regarding the Intel SDK Toolchain apply here as well.&lt;br /&gt;
&lt;br /&gt;
To automatically download, build and configure NDK support first save yourself some time and check the dependencies list in the SDK/Toolchain Support section and then from any users shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; unzip gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; ./gtvhacker-NDK-installer.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the NDK to ~/googletv/ndk/ for the current user.  Some guidance on how to use the NDK is provided upon completion of successful script execution.&lt;br /&gt;
&lt;br /&gt;
== Flash Layout ==&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
&lt;br /&gt;
([http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 What&#039;s an MTD partition?])&lt;br /&gt;
&lt;br /&gt;
Creating 13 MTD partitions on &amp;quot;intel_ce_nand&amp;quot;:&lt;br /&gt;
*0x00000000-0x00200000 : &amp;quot;mbr&amp;quot;&lt;br /&gt;
*0x00200000-0x00a00000 : &amp;quot;cefdk&amp;quot;&lt;br /&gt;
*0x00a00000-0x00c00000 : &amp;quot;redboot&amp;quot;&lt;br /&gt;
*0x00c00000-0x00e00000 : &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
*0x01000000-0x01800000 : &amp;quot;splash&amp;quot;&lt;br /&gt;
*0x01800000-0x01900000 : &amp;quot;fts&amp;quot;&lt;br /&gt;
*0x01900000-0x02d00000 : &amp;quot;recovery&amp;quot;&lt;br /&gt;
*0x02d00000-0x03200000 : &amp;quot;kernel&amp;quot;&lt;br /&gt;
*0x03200000-0x07200000 : &amp;quot;boot&amp;quot;&lt;br /&gt;
*0x07200000-0x1f200000 : &amp;quot;system&amp;quot;&lt;br /&gt;
*0x1f200000-0x3fa00000 : &amp;quot;data&amp;quot;&lt;br /&gt;
*0x3fa00000-0x3ff00000 : &amp;quot;keystore&amp;quot;&lt;br /&gt;
*0x3ff00000-0x40000000 : &amp;quot;bbt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mbr -  Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cefdk - Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings.&lt;br /&gt;
&lt;br /&gt;
redboot - All FF&#039;s&lt;br /&gt;
&lt;br /&gt;
cefdk-config - Holds Box SN, repeats (like MBR)&lt;br /&gt;
&lt;br /&gt;
Splash - Says its a BMP, doesnt totally look like one (on quick look)&lt;br /&gt;
&lt;br /&gt;
fts - Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recovery - Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu&lt;br /&gt;
&lt;br /&gt;
Kernel - The kernel image&lt;br /&gt;
&lt;br /&gt;
Boot - Root partition, goes in hand with the kernel image, also in squashfs format&lt;br /&gt;
&lt;br /&gt;
system - /system partition. Holds most of the crucial system files. It&#039;s [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
data - [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
keystore - Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
bbt - Bad block table&lt;br /&gt;
&lt;br /&gt;
== Serial Output ==&lt;br /&gt;
&lt;br /&gt;
The logitech revue board contains a UART1 port on the front of the board which before receiving the boxes initial updates is active. In order to communicate with UART port you will need a USB to TTL adapter (or board that does a similar conversion). &lt;br /&gt;
&lt;br /&gt;
The pins operate at 3.3v and the port at 9600 baud with the following pinout:&lt;br /&gt;
&lt;br /&gt;
[http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
&lt;br /&gt;
Serial output&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
[[Pasted Locally]]&lt;br /&gt;
&lt;br /&gt;
== PIC Access ==&lt;br /&gt;
*There is a standard PIC access port to the right of the UART1 port. It can be accessed via a standard PIC Kit Debug board (Tested with version 2). The port has read/write access but the code is pulled from the chip as .hex file and is unreadable thus far.&lt;br /&gt;
&lt;br /&gt;
*The pinout starting from the left (pin with white square around it) corresponds to pin 1 or Vpp.The remaining pins follow the same layout. [http://www.ianstedman.co.uk/Projects/TK3_PICKit2_adaptor/Pickit2_pinout.png PIC Pinout]&lt;br /&gt;
&lt;br /&gt;
[http://googletv.pastebin.com/PBWRCAqB PIC Hex Dump] [[Local PIC Hex Dump]]&lt;br /&gt;
&lt;br /&gt;
[http://dl.dropbox.com/u/217678/Bootloader%20from%20PIC.TXT PIC Disassembly]&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
The updates contain a full set of system files (changed and unchanged), including a boot.img and a recovery.img&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;boot.img&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thread at [http://forum.xda-developers.com/showpost.php?p=8844074&amp;amp;postcount=80 xda-developer] has the process to extract from the .img files (thx bftb0):&lt;br /&gt;
&lt;br /&gt;
&amp;quot;the &amp;quot;boot.img&amp;quot; file is in (little-endian) &amp;quot;squashfs&amp;quot; format and unpacks just fine using &amp;quot;unsquashfs&amp;quot; from the (Ubuntu 8.0.04 LTS) squashfs-tools package.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; recovery.img&lt;br /&gt;
&lt;br /&gt;
system/boot/recovery.img is a standard Android boot image with some extra garbage (0x580 bytes) at the front. Remove it like so:&lt;br /&gt;
  dd if=system/boot/recovery.img bs=1408 skip=1 &amp;gt; recovery-ungarbaged.img&lt;br /&gt;
Unpack that like a normal Android boot image. Something like [http://android-dls.com/files/linux/split_bootimg.zip this Perl script] works well.&lt;br /&gt;
&lt;br /&gt;
The kernel (system/boot/kernel) is also a boot image with the same extra garbage at the front.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odex files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The .odex files can be extracted by using the following guide [http://code.google.com/p/smali/wiki/DeodexInstructions Deodex Instructions]&lt;br /&gt;
&lt;br /&gt;
== Open Ports ==&lt;br /&gt;
List nmap ports&lt;br /&gt;
&lt;br /&gt;
Normal Mode, hooked to a Dish Network DVR (622) via WiFi:&lt;br /&gt;
&lt;br /&gt;
*Nmap scan report for LogitechRevue (192.168.1.142)&lt;br /&gt;
*Host is up (0.060s latency).&lt;br /&gt;
*Not shown: 65528 closed ports&lt;br /&gt;
*PORT      STATE SERVICE&lt;br /&gt;
*53/tcp    open  domain&lt;br /&gt;
*1100/tcp  open  unknown&lt;br /&gt;
*5222/tcp  open  unknown -- [http://xmpp.org/ Extensible Messaging and Presence Protocol (XMPP) Service (http://xmpp.org/)]&lt;br /&gt;
*5223/tcp  open  unknown -- SSL port for [http://xmpp.org/ XMPP]&lt;br /&gt;
*9551/tcp  open  unknown -- [[AnyMote]] Pairing Service through IpRemoteControlService -- SSL handshake requests cert and logs show errors from [[AnyMote]]&lt;br /&gt;
*9552/tcp  open  unknown -- [[AnyMote]] Connection Port&lt;br /&gt;
*35832/tcp open  unknown&lt;br /&gt;
&lt;br /&gt;
Also of course, with root - port 5555, for ADB!&lt;br /&gt;
&lt;br /&gt;
== Available Pinouts ==&lt;br /&gt;
*UART1 --&amp;gt; [http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
*J3 --&amp;gt; PIC Chip Access (Pin 1 = VPP/MCLR, Pin 2 = VDD, Pin 3 = VSS, Pin 4 = ICSPDAT/PGD, Pin 5 = ICSPCLK/PGC, Pin 6 = Auxiliary)&lt;br /&gt;
*SW1 --&amp;gt; Push Button Switch (Use is unknown)&lt;br /&gt;
*J20 --&amp;gt; I2C (Top left - GND Top right - ? Bottom left - SDA Bottom right - SCL)&lt;br /&gt;
*J69 --&amp;gt; USB Pinout&lt;br /&gt;
*SATA1 --&amp;gt; SATA Pinout (Pin 1 = GND, Pin 2 = TXP / A+ , Pin 3 = TXN / A-, Pin 4 = GND , Pin 5 = RXN / B-, Pin 6 = RXP / B+ , Pin 7 = GND)&lt;br /&gt;
*J24 --&amp;gt; Unknown (Pin 1 = 3.3, Pin 2 = ?, Pin 3 = ?, Pin 4 = GND)&lt;br /&gt;
*J13 --&amp;gt; Unknown (Power for SATA?) - (Pin 1 = ?, Pin 2 = GND, Pin 3 = GND, Pin 4 = 5v)&lt;br /&gt;
*XDP1 --&amp;gt; Intel XDP Debug Adapter [http://software.intel.com/sites/products/documentation/hpc/atom/application/device_driver_debugging.pdf Information on XDP Debugging] [ftp://download.intel.com/design/Pentium4/guides/31337301.pdf Page 23 Pinout]&lt;br /&gt;
[[Category:Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
== Volume Management Configuration ==&lt;br /&gt;
Similar to other android based products, external storage can be attached and the device will attempt to mount it to /sdcard as per the following vold.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
volume_sdcard {&lt;br /&gt;
    # NOTE: This path is overbroad and will capture any device on the&lt;br /&gt;
    # tatung3/tatung4 external PCI bus.  This needs to be fixed, in conjunction&lt;br /&gt;
    # with vold changes to handle logical device names (DEVPATH names are not&lt;br /&gt;
    # static, unfortunately.)&lt;br /&gt;
    media_path     /devices/pci0000:00/0000:00:01.0/0000:01:0d.1/usb2/&lt;br /&gt;
    media_type     scsi&lt;br /&gt;
    mount_point    /sdcard&lt;br /&gt;
    read_only      true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the interesting comment about the media_path as well as the read_only=true attribute.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=288</id>
		<title>Logitech Revue Technical</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=288"/>
		<updated>2011-01-10T03:44:07Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Revue toc Inline}}&lt;br /&gt;
&lt;br /&gt;
== Update Procedure ==&lt;br /&gt;
&lt;br /&gt;
Place new update labelled &amp;quot;update.zip&amp;quot; on a USB drive, with a single partition (ie, 1st partition on a USB disk, so say &amp;quot;/dev/sdc1&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Insert into Revue in the Right most USB port (if looking at the back, closest to the power jack)&lt;br /&gt;
&lt;br /&gt;
Boot into recovery mode:&lt;br /&gt;
&lt;br /&gt;
#Plug in the box, once the fan goes low, hold the sync button. Box should reboot, keep the sync button held until image on screen.&lt;br /&gt;
#Once you see the Arrow on your screen, using your keyboard press Alt+L - usually once or twice until Formatting DATA: shows on the screen, and does not go away&lt;br /&gt;
#You can then update the box, with a newer update. Downgrading fails however due to a date check.&lt;br /&gt;
&lt;br /&gt;
== Firmware Links ==&lt;br /&gt;
&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
&lt;br /&gt;
== Kernel Revisions ==&lt;br /&gt;
&lt;br /&gt;
*Initial kernel observed on the Revue (?): 2.6.23.18-gc0a9a5fb (richard@sayan) (gcc version 4.1.2) #3 PREEMPT Sat Jul 31 15:32:56 PDT 2010&lt;br /&gt;
*439c26f6af05.mp-signed-ota_update-b39389: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*52057d168e2b.mp-signed-ota_update-b39953: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*c9914396d183.mp-signed-ota_update-b42449: 2.6.23.18-g5bba1a13 (sameer@sayan) #24 PREEMPT Fri Nov 19 11:13:31 PST 2010&lt;br /&gt;
&lt;br /&gt;
== SDK/Toolchain Support ==&lt;br /&gt;
&lt;br /&gt;
The [http://googletv-mirrored-source.googlecode.com/hg/intel-sdk/intel-sdk-toolchain.tar.bz2?r=27705a482273e3a34e8bcdbfb4fdad9afcd65e93 Intel SDK Toolchain] is available as part of Google&#039;s GPL release for the Google TV.  The toolchain is required to compile code to run on the Linux operating system of the Logitech Revue. (Sony devices as well as other future devices are most likely also compatible with this toolchain but since we don&#039;t have these products to root we don&#039;t know yet.)&lt;br /&gt;
&lt;br /&gt;
We have not yet documented a complete list of required dependencies but here are a few packages which might come in handy:&lt;br /&gt;
*texinfo (we encountered some issues with certain supposedly supported versions of makeinfo but updating texinfo resolved this on most systems)&lt;br /&gt;
*flex&lt;br /&gt;
*bison&lt;br /&gt;
*awk&lt;br /&gt;
*patch&lt;br /&gt;
*gcc et al&lt;br /&gt;
*build-essential (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
To simplify the toolchain setup, craigdroid created [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip this script] which simplifies the process of configuring a build system.  After preparing the toolchain you will want to run the following commands (which are demo&#039;d in the script) to establish your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CROSS_COMPILE=i686-linux-cm-&lt;br /&gt;
export LD_LIBRARY_PATH=~/googletv/sdk/i686-linux-elf/lib&lt;br /&gt;
export PATH=$PATH:~/googletv/sdk/i686-linux-elf/bin/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NDK Support ==&lt;br /&gt;
&lt;br /&gt;
Although at present Google has not released a proper NDK for the platform, the gtvhacker team have combined the Intel SDK Toolchain from the [http://code.google.com/p/googletv-mirrored-source/ Google TV Mirrored Source site] with the work of the [http://www.android-x86.org/ Android x86] project to provide unofficial support in the interim.&lt;br /&gt;
&lt;br /&gt;
The entire process of setting up unofficial NDK support has been simplified into an [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip easy to use script] by craigdroid.  The script has been tested on a few of our systems running CentOS 5.4 32-bit, as well as 32-bit and 64-bit editions of Ubuntu.  &lt;br /&gt;
&lt;br /&gt;
Since this is building the Intel toolchain automatically all of the caveats regarding the Intel SDK Toolchain apply here as well.&lt;br /&gt;
&lt;br /&gt;
To automatically download, build and configure NDK support first save yourself some time and check the dependencies list in the SDK/Toolchain Support section and then from any users shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; unzip gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; ./gtvhacker-NDK-installer.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the NDK to ~/googletv/ndk/ for the current user.  Some guidance on how to use the NDK is provided upon completion of successful script execution.&lt;br /&gt;
&lt;br /&gt;
== Flash Layout ==&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
&lt;br /&gt;
([[http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3 | What&#039;s an MTD partition?]])&lt;br /&gt;
&lt;br /&gt;
Creating 13 MTD partitions on &amp;quot;intel_ce_nand&amp;quot;:&lt;br /&gt;
*0x00000000-0x00200000 : &amp;quot;mbr&amp;quot;&lt;br /&gt;
*0x00200000-0x00a00000 : &amp;quot;cefdk&amp;quot;&lt;br /&gt;
*0x00a00000-0x00c00000 : &amp;quot;redboot&amp;quot;&lt;br /&gt;
*0x00c00000-0x00e00000 : &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
*0x01000000-0x01800000 : &amp;quot;splash&amp;quot;&lt;br /&gt;
*0x01800000-0x01900000 : &amp;quot;fts&amp;quot;&lt;br /&gt;
*0x01900000-0x02d00000 : &amp;quot;recovery&amp;quot;&lt;br /&gt;
*0x02d00000-0x03200000 : &amp;quot;kernel&amp;quot;&lt;br /&gt;
*0x03200000-0x07200000 : &amp;quot;boot&amp;quot;&lt;br /&gt;
*0x07200000-0x1f200000 : &amp;quot;system&amp;quot;&lt;br /&gt;
*0x1f200000-0x3fa00000 : &amp;quot;data&amp;quot;&lt;br /&gt;
*0x3fa00000-0x3ff00000 : &amp;quot;keystore&amp;quot;&lt;br /&gt;
*0x3ff00000-0x40000000 : &amp;quot;bbt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mbr -  Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cefdk - Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings.&lt;br /&gt;
&lt;br /&gt;
redboot - All FF&#039;s&lt;br /&gt;
&lt;br /&gt;
cefdk-config - Holds Box SN, repeats (like MBR)&lt;br /&gt;
&lt;br /&gt;
Splash - Says its a BMP, doesnt totally look like one (on quick look)&lt;br /&gt;
&lt;br /&gt;
fts - Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recovery - Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu&lt;br /&gt;
&lt;br /&gt;
Kernel - The kernel image&lt;br /&gt;
&lt;br /&gt;
Boot - Root partition, goes in hand with the kernel image, also in squashfs format&lt;br /&gt;
&lt;br /&gt;
system - /system partition. Holds most of the crucial system files. It&#039;s [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
data - [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
keystore - Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
bbt - Bad block table&lt;br /&gt;
&lt;br /&gt;
== Serial Output ==&lt;br /&gt;
&lt;br /&gt;
The logitech revue board contains a UART1 port on the front of the board which before receiving the boxes initial updates is active. In order to communicate with UART port you will need a USB to TTL adapter (or board that does a similar conversion). &lt;br /&gt;
&lt;br /&gt;
The pins operate at 3.3v and the port at 9600 baud with the following pinout:&lt;br /&gt;
&lt;br /&gt;
[http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
&lt;br /&gt;
Serial output&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
[[Pasted Locally]]&lt;br /&gt;
&lt;br /&gt;
== PIC Access ==&lt;br /&gt;
*There is a standard PIC access port to the right of the UART1 port. It can be accessed via a standard PIC Kit Debug board (Tested with version 2). The port has read/write access but the code is pulled from the chip as .hex file and is unreadable thus far.&lt;br /&gt;
&lt;br /&gt;
*The pinout starting from the left (pin with white square around it) corresponds to pin 1 or Vpp.The remaining pins follow the same layout. [http://www.ianstedman.co.uk/Projects/TK3_PICKit2_adaptor/Pickit2_pinout.png PIC Pinout]&lt;br /&gt;
&lt;br /&gt;
[http://googletv.pastebin.com/PBWRCAqB PIC Hex Dump] [[Local PIC Hex Dump]]&lt;br /&gt;
&lt;br /&gt;
[http://dl.dropbox.com/u/217678/Bootloader%20from%20PIC.TXT PIC Disassembly]&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
The updates contain a full set of system files (changed and unchanged), including a boot.img and a recovery.img&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;boot.img&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thread at [http://forum.xda-developers.com/showpost.php?p=8844074&amp;amp;postcount=80 xda-developer] has the process to extract from the .img files (thx bftb0):&lt;br /&gt;
&lt;br /&gt;
&amp;quot;the &amp;quot;boot.img&amp;quot; file is in (little-endian) &amp;quot;squashfs&amp;quot; format and unpacks just fine using &amp;quot;unsquashfs&amp;quot; from the (Ubuntu 8.0.04 LTS) squashfs-tools package.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; recovery.img&lt;br /&gt;
&lt;br /&gt;
system/boot/recovery.img is a standard Android boot image with some extra garbage (0x580 bytes) at the front. Remove it like so:&lt;br /&gt;
  dd if=system/boot/recovery.img bs=1408 skip=1 &amp;gt; recovery-ungarbaged.img&lt;br /&gt;
Unpack that like a normal Android boot image. Something like [http://android-dls.com/files/linux/split_bootimg.zip this Perl script] works well.&lt;br /&gt;
&lt;br /&gt;
The kernel (system/boot/kernel) is also a boot image with the same extra garbage at the front.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odex files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The .odex files can be extracted by using the following guide [http://code.google.com/p/smali/wiki/DeodexInstructions Deodex Instructions]&lt;br /&gt;
&lt;br /&gt;
== Open Ports ==&lt;br /&gt;
List nmap ports&lt;br /&gt;
&lt;br /&gt;
Normal Mode, hooked to a Dish Network DVR (622) via WiFi:&lt;br /&gt;
&lt;br /&gt;
*Nmap scan report for LogitechRevue (192.168.1.142)&lt;br /&gt;
*Host is up (0.060s latency).&lt;br /&gt;
*Not shown: 65528 closed ports&lt;br /&gt;
*PORT      STATE SERVICE&lt;br /&gt;
*53/tcp    open  domain&lt;br /&gt;
*1100/tcp  open  unknown&lt;br /&gt;
*5222/tcp  open  unknown -- [http://xmpp.org/ Extensible Messaging and Presence Protocol (XMPP) Service (http://xmpp.org/)]&lt;br /&gt;
*5223/tcp  open  unknown -- SSL port for [http://xmpp.org/ XMPP]&lt;br /&gt;
*9551/tcp  open  unknown -- [[AnyMote]] Pairing Service through IpRemoteControlService -- SSL handshake requests cert and logs show errors from [[AnyMote]]&lt;br /&gt;
*9552/tcp  open  unknown -- [[AnyMote]] Connection Port&lt;br /&gt;
*35832/tcp open  unknown&lt;br /&gt;
&lt;br /&gt;
Also of course, with root - port 5555, for ADB!&lt;br /&gt;
&lt;br /&gt;
== Available Pinouts ==&lt;br /&gt;
*UART1 --&amp;gt; [http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
*J3 --&amp;gt; PIC Chip Access (Pin 1 = VPP/MCLR, Pin 2 = VDD, Pin 3 = VSS, Pin 4 = ICSPDAT/PGD, Pin 5 = ICSPCLK/PGC, Pin 6 = Auxiliary)&lt;br /&gt;
*SW1 --&amp;gt; Push Button Switch (Use is unknown)&lt;br /&gt;
*J20 --&amp;gt; I2C (Top left - GND Top right - ? Bottom left - SDA Bottom right - SCL)&lt;br /&gt;
*J69 --&amp;gt; USB Pinout&lt;br /&gt;
*SATA1 --&amp;gt; SATA Pinout (Pin 1 = GND, Pin 2 = TXP / A+ , Pin 3 = TXN / A-, Pin 4 = GND , Pin 5 = RXN / B-, Pin 6 = RXP / B+ , Pin 7 = GND)&lt;br /&gt;
*J24 --&amp;gt; Unknown (Pin 1 = 3.3, Pin 2 = ?, Pin 3 = ?, Pin 4 = GND)&lt;br /&gt;
*J13 --&amp;gt; Unknown (Power for SATA?) - (Pin 1 = ?, Pin 2 = GND, Pin 3 = GND, Pin 4 = 5v)&lt;br /&gt;
*XDP1 --&amp;gt; Intel XDP Debug Adapter [http://software.intel.com/sites/products/documentation/hpc/atom/application/device_driver_debugging.pdf Information on XDP Debugging] [ftp://download.intel.com/design/Pentium4/guides/31337301.pdf Page 23 Pinout]&lt;br /&gt;
[[Category:Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
== Volume Management Configuration ==&lt;br /&gt;
Similar to other android based products, external storage can be attached and the device will attempt to mount it to /sdcard as per the following vold.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
volume_sdcard {&lt;br /&gt;
    # NOTE: This path is overbroad and will capture any device on the&lt;br /&gt;
    # tatung3/tatung4 external PCI bus.  This needs to be fixed, in conjunction&lt;br /&gt;
    # with vold changes to handle logical device names (DEVPATH names are not&lt;br /&gt;
    # static, unfortunately.)&lt;br /&gt;
    media_path     /devices/pci0000:00/0000:00:01.0/0000:01:0d.1/usb2/&lt;br /&gt;
    media_type     scsi&lt;br /&gt;
    mount_point    /sdcard&lt;br /&gt;
    read_only      true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the interesting comment about the media_path as well as the read_only=true attribute.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=287</id>
		<title>Logitech Revue Technical</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=287"/>
		<updated>2011-01-10T03:43:23Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Revue toc Inline}}&lt;br /&gt;
&lt;br /&gt;
== Update Procedure ==&lt;br /&gt;
&lt;br /&gt;
Place new update labelled &amp;quot;update.zip&amp;quot; on a USB drive, with a single partition (ie, 1st partition on a USB disk, so say &amp;quot;/dev/sdc1&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Insert into Revue in the Right most USB port (if looking at the back, closest to the power jack)&lt;br /&gt;
&lt;br /&gt;
Boot into recovery mode:&lt;br /&gt;
&lt;br /&gt;
#Plug in the box, once the fan goes low, hold the sync button. Box should reboot, keep the sync button held until image on screen.&lt;br /&gt;
#Once you see the Arrow on your screen, using your keyboard press Alt+L - usually once or twice until Formatting DATA: shows on the screen, and does not go away&lt;br /&gt;
#You can then update the box, with a newer update. Downgrading fails however due to a date check.&lt;br /&gt;
&lt;br /&gt;
== Firmware Links ==&lt;br /&gt;
&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
&lt;br /&gt;
== Kernel Revisions ==&lt;br /&gt;
&lt;br /&gt;
*Initial kernel observed on the Revue (?): 2.6.23.18-gc0a9a5fb (richard@sayan) (gcc version 4.1.2) #3 PREEMPT Sat Jul 31 15:32:56 PDT 2010&lt;br /&gt;
*439c26f6af05.mp-signed-ota_update-b39389: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*52057d168e2b.mp-signed-ota_update-b39953: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*c9914396d183.mp-signed-ota_update-b42449: 2.6.23.18-g5bba1a13 (sameer@sayan) #24 PREEMPT Fri Nov 19 11:13:31 PST 2010&lt;br /&gt;
&lt;br /&gt;
== SDK/Toolchain Support ==&lt;br /&gt;
&lt;br /&gt;
The [http://googletv-mirrored-source.googlecode.com/hg/intel-sdk/intel-sdk-toolchain.tar.bz2?r=27705a482273e3a34e8bcdbfb4fdad9afcd65e93 Intel SDK Toolchain] is available as part of Google&#039;s GPL release for the Google TV.  The toolchain is required to compile code to run on the Linux operating system of the Logitech Revue. (Sony devices as well as other future devices are most likely also compatible with this toolchain but since we don&#039;t have these products to root we don&#039;t know yet.)&lt;br /&gt;
&lt;br /&gt;
We have not yet documented a complete list of required dependencies but here are a few packages which might come in handy:&lt;br /&gt;
*texinfo (we encountered some issues with certain supposedly supported versions of makeinfo but updating texinfo resolved this on most systems)&lt;br /&gt;
*flex&lt;br /&gt;
*bison&lt;br /&gt;
*awk&lt;br /&gt;
*patch&lt;br /&gt;
*gcc et al&lt;br /&gt;
*build-essential (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
To simplify the toolchain setup, craigdroid created [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip this script] which simplifies the process of configuring a build system.  After preparing the toolchain you will want to run the following commands (which are demo&#039;d in the script) to establish your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CROSS_COMPILE=i686-linux-cm-&lt;br /&gt;
export LD_LIBRARY_PATH=~/googletv/sdk/i686-linux-elf/lib&lt;br /&gt;
export PATH=$PATH:~/googletv/sdk/i686-linux-elf/bin/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NDK Support ==&lt;br /&gt;
&lt;br /&gt;
Although at present Google has not released a proper NDK for the platform, the gtvhacker team have combined the Intel SDK Toolchain from the [http://code.google.com/p/googletv-mirrored-source/ Google TV Mirrored Source site] with the work of the [http://www.android-x86.org/ Android x86] project to provide unofficial support in the interim.&lt;br /&gt;
&lt;br /&gt;
The entire process of setting up unofficial NDK support has been simplified into an [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip easy to use script] by craigdroid.  The script has been tested on a few of our systems running CentOS 5.4 32-bit, as well as 32-bit and 64-bit editions of Ubuntu.  &lt;br /&gt;
&lt;br /&gt;
Since this is building the Intel toolchain automatically all of the caveats regarding the Intel SDK Toolchain apply here as well.&lt;br /&gt;
&lt;br /&gt;
To automatically download, build and configure NDK support first save yourself some time and check the dependencies list in the SDK/Toolchain Support section and then from any users shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; unzip gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; ./gtvhacker-NDK-installer.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the NDK to ~/googletv/ndk/ for the current user.  Some guidance on how to use the NDK is provided upon completion of successful script execution.&lt;br /&gt;
&lt;br /&gt;
== Flash Layout ==&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
([[http://my.safaribooksonline.com/book/operating-systems-and-server-administration/embedded-linux/0136130550/mtd-subsystem/ch10lev1sec3|What&#039;s an MTD partition?]])&lt;br /&gt;
&lt;br /&gt;
Creating 13 MTD partitions on &amp;quot;intel_ce_nand&amp;quot;:&lt;br /&gt;
*0x00000000-0x00200000 : &amp;quot;mbr&amp;quot;&lt;br /&gt;
*0x00200000-0x00a00000 : &amp;quot;cefdk&amp;quot;&lt;br /&gt;
*0x00a00000-0x00c00000 : &amp;quot;redboot&amp;quot;&lt;br /&gt;
*0x00c00000-0x00e00000 : &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
*0x01000000-0x01800000 : &amp;quot;splash&amp;quot;&lt;br /&gt;
*0x01800000-0x01900000 : &amp;quot;fts&amp;quot;&lt;br /&gt;
*0x01900000-0x02d00000 : &amp;quot;recovery&amp;quot;&lt;br /&gt;
*0x02d00000-0x03200000 : &amp;quot;kernel&amp;quot;&lt;br /&gt;
*0x03200000-0x07200000 : &amp;quot;boot&amp;quot;&lt;br /&gt;
*0x07200000-0x1f200000 : &amp;quot;system&amp;quot;&lt;br /&gt;
*0x1f200000-0x3fa00000 : &amp;quot;data&amp;quot;&lt;br /&gt;
*0x3fa00000-0x3ff00000 : &amp;quot;keystore&amp;quot;&lt;br /&gt;
*0x3ff00000-0x40000000 : &amp;quot;bbt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mbr -  Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cefdk - Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings.&lt;br /&gt;
&lt;br /&gt;
redboot - All FF&#039;s&lt;br /&gt;
&lt;br /&gt;
cefdk-config - Holds Box SN, repeats (like MBR)&lt;br /&gt;
&lt;br /&gt;
Splash - Says its a BMP, doesnt totally look like one (on quick look)&lt;br /&gt;
&lt;br /&gt;
fts - Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recovery - Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu&lt;br /&gt;
&lt;br /&gt;
Kernel - The kernel image&lt;br /&gt;
&lt;br /&gt;
Boot - Root partition, goes in hand with the kernel image, also in squashfs format&lt;br /&gt;
&lt;br /&gt;
system - /system partition. Holds most of the crucial system files. It&#039;s [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
data - [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
keystore - Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
bbt - Bad block table&lt;br /&gt;
&lt;br /&gt;
== Serial Output ==&lt;br /&gt;
&lt;br /&gt;
The logitech revue board contains a UART1 port on the front of the board which before receiving the boxes initial updates is active. In order to communicate with UART port you will need a USB to TTL adapter (or board that does a similar conversion). &lt;br /&gt;
&lt;br /&gt;
The pins operate at 3.3v and the port at 9600 baud with the following pinout:&lt;br /&gt;
&lt;br /&gt;
[http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
&lt;br /&gt;
Serial output&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
[[Pasted Locally]]&lt;br /&gt;
&lt;br /&gt;
== PIC Access ==&lt;br /&gt;
*There is a standard PIC access port to the right of the UART1 port. It can be accessed via a standard PIC Kit Debug board (Tested with version 2). The port has read/write access but the code is pulled from the chip as .hex file and is unreadable thus far.&lt;br /&gt;
&lt;br /&gt;
*The pinout starting from the left (pin with white square around it) corresponds to pin 1 or Vpp.The remaining pins follow the same layout. [http://www.ianstedman.co.uk/Projects/TK3_PICKit2_adaptor/Pickit2_pinout.png PIC Pinout]&lt;br /&gt;
&lt;br /&gt;
[http://googletv.pastebin.com/PBWRCAqB PIC Hex Dump] [[Local PIC Hex Dump]]&lt;br /&gt;
&lt;br /&gt;
[http://dl.dropbox.com/u/217678/Bootloader%20from%20PIC.TXT PIC Disassembly]&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
The updates contain a full set of system files (changed and unchanged), including a boot.img and a recovery.img&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;boot.img&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thread at [http://forum.xda-developers.com/showpost.php?p=8844074&amp;amp;postcount=80 xda-developer] has the process to extract from the .img files (thx bftb0):&lt;br /&gt;
&lt;br /&gt;
&amp;quot;the &amp;quot;boot.img&amp;quot; file is in (little-endian) &amp;quot;squashfs&amp;quot; format and unpacks just fine using &amp;quot;unsquashfs&amp;quot; from the (Ubuntu 8.0.04 LTS) squashfs-tools package.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; recovery.img&lt;br /&gt;
&lt;br /&gt;
system/boot/recovery.img is a standard Android boot image with some extra garbage (0x580 bytes) at the front. Remove it like so:&lt;br /&gt;
  dd if=system/boot/recovery.img bs=1408 skip=1 &amp;gt; recovery-ungarbaged.img&lt;br /&gt;
Unpack that like a normal Android boot image. Something like [http://android-dls.com/files/linux/split_bootimg.zip this Perl script] works well.&lt;br /&gt;
&lt;br /&gt;
The kernel (system/boot/kernel) is also a boot image with the same extra garbage at the front.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odex files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The .odex files can be extracted by using the following guide [http://code.google.com/p/smali/wiki/DeodexInstructions Deodex Instructions]&lt;br /&gt;
&lt;br /&gt;
== Open Ports ==&lt;br /&gt;
List nmap ports&lt;br /&gt;
&lt;br /&gt;
Normal Mode, hooked to a Dish Network DVR (622) via WiFi:&lt;br /&gt;
&lt;br /&gt;
*Nmap scan report for LogitechRevue (192.168.1.142)&lt;br /&gt;
*Host is up (0.060s latency).&lt;br /&gt;
*Not shown: 65528 closed ports&lt;br /&gt;
*PORT      STATE SERVICE&lt;br /&gt;
*53/tcp    open  domain&lt;br /&gt;
*1100/tcp  open  unknown&lt;br /&gt;
*5222/tcp  open  unknown -- [http://xmpp.org/ Extensible Messaging and Presence Protocol (XMPP) Service (http://xmpp.org/)]&lt;br /&gt;
*5223/tcp  open  unknown -- SSL port for [http://xmpp.org/ XMPP]&lt;br /&gt;
*9551/tcp  open  unknown -- [[AnyMote]] Pairing Service through IpRemoteControlService -- SSL handshake requests cert and logs show errors from [[AnyMote]]&lt;br /&gt;
*9552/tcp  open  unknown -- [[AnyMote]] Connection Port&lt;br /&gt;
*35832/tcp open  unknown&lt;br /&gt;
&lt;br /&gt;
Also of course, with root - port 5555, for ADB!&lt;br /&gt;
&lt;br /&gt;
== Available Pinouts ==&lt;br /&gt;
*UART1 --&amp;gt; [http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
*J3 --&amp;gt; PIC Chip Access (Pin 1 = VPP/MCLR, Pin 2 = VDD, Pin 3 = VSS, Pin 4 = ICSPDAT/PGD, Pin 5 = ICSPCLK/PGC, Pin 6 = Auxiliary)&lt;br /&gt;
*SW1 --&amp;gt; Push Button Switch (Use is unknown)&lt;br /&gt;
*J20 --&amp;gt; I2C (Top left - GND Top right - ? Bottom left - SDA Bottom right - SCL)&lt;br /&gt;
*J69 --&amp;gt; USB Pinout&lt;br /&gt;
*SATA1 --&amp;gt; SATA Pinout (Pin 1 = GND, Pin 2 = TXP / A+ , Pin 3 = TXN / A-, Pin 4 = GND , Pin 5 = RXN / B-, Pin 6 = RXP / B+ , Pin 7 = GND)&lt;br /&gt;
*J24 --&amp;gt; Unknown (Pin 1 = 3.3, Pin 2 = ?, Pin 3 = ?, Pin 4 = GND)&lt;br /&gt;
*J13 --&amp;gt; Unknown (Power for SATA?) - (Pin 1 = ?, Pin 2 = GND, Pin 3 = GND, Pin 4 = 5v)&lt;br /&gt;
*XDP1 --&amp;gt; Intel XDP Debug Adapter [http://software.intel.com/sites/products/documentation/hpc/atom/application/device_driver_debugging.pdf Information on XDP Debugging] [ftp://download.intel.com/design/Pentium4/guides/31337301.pdf Page 23 Pinout]&lt;br /&gt;
[[Category:Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
== Volume Management Configuration ==&lt;br /&gt;
Similar to other android based products, external storage can be attached and the device will attempt to mount it to /sdcard as per the following vold.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
volume_sdcard {&lt;br /&gt;
    # NOTE: This path is overbroad and will capture any device on the&lt;br /&gt;
    # tatung3/tatung4 external PCI bus.  This needs to be fixed, in conjunction&lt;br /&gt;
    # with vold changes to handle logical device names (DEVPATH names are not&lt;br /&gt;
    # static, unfortunately.)&lt;br /&gt;
    media_path     /devices/pci0000:00/0000:00:01.0/0000:01:0d.1/usb2/&lt;br /&gt;
    media_type     scsi&lt;br /&gt;
    mount_point    /sdcard&lt;br /&gt;
    read_only      true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the interesting comment about the media_path as well as the read_only=true attribute.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=286</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=286"/>
		<updated>2011-01-10T03:41:22Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
== File System Layout ==&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
The Updates each include:&lt;br /&gt;
boot.img: A file system including the root file system for the device.&lt;br /&gt;
The &amp;quot;system&amp;quot; folder: This is the guts of the Google TV and it&#039;s applications.  These files are copied into the system folder on update.&lt;br /&gt;
The META-INF directory which includes the manifest and other certififacts shipped with the device for authenticaiton.&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=285</id>
		<title>Logitech Revue Technical</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Logitech_Revue_Technical&amp;diff=285"/>
		<updated>2011-01-10T03:26:07Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Revue toc Inline}}&lt;br /&gt;
&lt;br /&gt;
== Update Procedure ==&lt;br /&gt;
&lt;br /&gt;
Place new update labelled &amp;quot;update.zip&amp;quot; on a USB drive, with a single partition (ie, 1st partition on a USB disk, so say &amp;quot;/dev/sdc1&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
Insert into Revue in the Right most USB port (if looking at the back, closest to the power jack)&lt;br /&gt;
&lt;br /&gt;
Boot into recovery mode:&lt;br /&gt;
&lt;br /&gt;
#Plug in the box, once the fan goes low, hold the sync button. Box should reboot, keep the sync button held until image on screen.&lt;br /&gt;
#Once you see the Arrow on your screen, using your keyboard press Alt+L - usually once or twice until Formatting DATA: shows on the screen, and does not go away&lt;br /&gt;
#You can then update the box, with a newer update. Downgrading fails however due to a date check.&lt;br /&gt;
&lt;br /&gt;
== Firmware Links ==&lt;br /&gt;
&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
*http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
&lt;br /&gt;
== Kernel Revisions ==&lt;br /&gt;
&lt;br /&gt;
*Initial kernel observed on the Revue (?): 2.6.23.18-gc0a9a5fb (richard@sayan) (gcc version 4.1.2) #3 PREEMPT Sat Jul 31 15:32:56 PDT 2010&lt;br /&gt;
*439c26f6af05.mp-signed-ota_update-b39389: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*52057d168e2b.mp-signed-ota_update-b39953: 2.6.23.18-g5fd8f46f (richard@mtdoom) #249 PREEMPT Tue Oct 5 09:55:20 BST 2010&lt;br /&gt;
*c9914396d183.mp-signed-ota_update-b42449: 2.6.23.18-g5bba1a13 (sameer@sayan) #24 PREEMPT Fri Nov 19 11:13:31 PST 2010&lt;br /&gt;
&lt;br /&gt;
== SDK/Toolchain Support ==&lt;br /&gt;
&lt;br /&gt;
The [http://googletv-mirrored-source.googlecode.com/hg/intel-sdk/intel-sdk-toolchain.tar.bz2?r=27705a482273e3a34e8bcdbfb4fdad9afcd65e93 Intel SDK Toolchain] is available as part of Google&#039;s GPL release for the Google TV.  The toolchain is required to compile code to run on the Linux operating system of the Logitech Revue. (Sony devices as well as other future devices are most likely also compatible with this toolchain but since we don&#039;t have these products to root we don&#039;t know yet.)&lt;br /&gt;
&lt;br /&gt;
We have not yet documented a complete list of required dependencies but here are a few packages which might come in handy:&lt;br /&gt;
*texinfo (we encountered some issues with certain supposedly supported versions of makeinfo but updating texinfo resolved this on most systems)&lt;br /&gt;
*flex&lt;br /&gt;
*bison&lt;br /&gt;
*awk&lt;br /&gt;
*patch&lt;br /&gt;
*gcc et al&lt;br /&gt;
*build-essential (Ubuntu)&lt;br /&gt;
&lt;br /&gt;
To simplify the toolchain setup, craigdroid created [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip this script] which simplifies the process of configuring a build system.  After preparing the toolchain you will want to run the following commands (which are demo&#039;d in the script) to establish your environment:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export CROSS_COMPILE=i686-linux-cm-&lt;br /&gt;
export LD_LIBRARY_PATH=~/googletv/sdk/i686-linux-elf/lib&lt;br /&gt;
export PATH=$PATH:~/googletv/sdk/i686-linux-elf/bin/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== NDK Support ==&lt;br /&gt;
&lt;br /&gt;
Although at present Google has not released a proper NDK for the platform, the gtvhacker team have combined the Intel SDK Toolchain from the [http://code.google.com/p/googletv-mirrored-source/ Google TV Mirrored Source site] with the work of the [http://www.android-x86.org/ Android x86] project to provide unofficial support in the interim.&lt;br /&gt;
&lt;br /&gt;
The entire process of setting up unofficial NDK support has been simplified into an [http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip easy to use script] by craigdroid.  The script has been tested on a few of our systems running CentOS 5.4 32-bit, as well as 32-bit and 64-bit editions of Ubuntu.  &lt;br /&gt;
&lt;br /&gt;
Since this is building the Intel toolchain automatically all of the caveats regarding the Intel SDK Toolchain apply here as well.&lt;br /&gt;
&lt;br /&gt;
To automatically download, build and configure NDK support first save yourself some time and check the dependencies list in the SDK/Toolchain Support section and then from any users shell:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://dl.dropbox.com/u/1886948/gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; unzip gtvhacker-NDK-installer.zip &amp;amp;&amp;amp; ./gtvhacker-NDK-installer.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will install the NDK to ~/googletv/ndk/ for the current user.  Some guidance on how to use the NDK is provided upon completion of successful script execution.&lt;br /&gt;
&lt;br /&gt;
== Flash Layout ==&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Creating 13 MTD partitions on &amp;quot;intel_ce_nand&amp;quot;:&lt;br /&gt;
*0x00000000-0x00200000 : &amp;quot;mbr&amp;quot;&lt;br /&gt;
*0x00200000-0x00a00000 : &amp;quot;cefdk&amp;quot;&lt;br /&gt;
*0x00a00000-0x00c00000 : &amp;quot;redboot&amp;quot;&lt;br /&gt;
*0x00c00000-0x00e00000 : &amp;quot;cefdk-config&amp;quot;&lt;br /&gt;
*0x01000000-0x01800000 : &amp;quot;splash&amp;quot;&lt;br /&gt;
*0x01800000-0x01900000 : &amp;quot;fts&amp;quot;&lt;br /&gt;
*0x01900000-0x02d00000 : &amp;quot;recovery&amp;quot;&lt;br /&gt;
*0x02d00000-0x03200000 : &amp;quot;kernel&amp;quot;&lt;br /&gt;
*0x03200000-0x07200000 : &amp;quot;boot&amp;quot;&lt;br /&gt;
*0x07200000-0x1f200000 : &amp;quot;system&amp;quot;&lt;br /&gt;
*0x1f200000-0x3fa00000 : &amp;quot;data&amp;quot;&lt;br /&gt;
*0x3fa00000-0x3ff00000 : &amp;quot;keystore&amp;quot;&lt;br /&gt;
*0x3ff00000-0x40000000 : &amp;quot;bbt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mbr -  Mostly blank, repeats &amp;quot;01c0000 b00b dead 000f a901 0000 0000 0000 0000&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cefdk - Boot loader? It&#039;s Data - Wouldn&#039;t say crypted, but no strings.&lt;br /&gt;
&lt;br /&gt;
redboot - All FF&#039;s&lt;br /&gt;
&lt;br /&gt;
cefdk-config - Holds Box SN, repeats (like MBR)&lt;br /&gt;
&lt;br /&gt;
Splash - Says its a BMP, doesnt totally look like one (on quick look)&lt;br /&gt;
&lt;br /&gt;
fts - Repeats this data, mostly: &amp;quot;F*TS..e.L.......bootloader.command=boot-recovery.bootloader.recovery=recovery.--wipe_data.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Recovery - Full image, including kernel and small ramdisk (in squashfs format), boots to recovery menu&lt;br /&gt;
&lt;br /&gt;
Kernel - The kernel image&lt;br /&gt;
&lt;br /&gt;
Boot - Root partition, goes in hand with the kernel image, also in squashfs format&lt;br /&gt;
&lt;br /&gt;
system - /system partition. Holds most of the crucial system files. It&#039;s [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
data - [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
keystore - Don&#039;t delete this . Has Keys for communication w/ Google &amp;amp; Logitech [http://en.wikipedia.org/wiki/YAFFS YAFFS]&lt;br /&gt;
&lt;br /&gt;
bbt - Bad block table&lt;br /&gt;
&lt;br /&gt;
== Serial Output ==&lt;br /&gt;
&lt;br /&gt;
The logitech revue board contains a UART1 port on the front of the board which before receiving the boxes initial updates is active. In order to communicate with UART port you will need a USB to TTL adapter (or board that does a similar conversion). &lt;br /&gt;
&lt;br /&gt;
The pins operate at 3.3v and the port at 9600 baud with the following pinout:&lt;br /&gt;
&lt;br /&gt;
[http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
&lt;br /&gt;
Serial output&lt;br /&gt;
&lt;br /&gt;
via: http://googletv.pastebin.com/233dZqZx&lt;br /&gt;
[[Pasted Locally]]&lt;br /&gt;
&lt;br /&gt;
== PIC Access ==&lt;br /&gt;
*There is a standard PIC access port to the right of the UART1 port. It can be accessed via a standard PIC Kit Debug board (Tested with version 2). The port has read/write access but the code is pulled from the chip as .hex file and is unreadable thus far.&lt;br /&gt;
&lt;br /&gt;
*The pinout starting from the left (pin with white square around it) corresponds to pin 1 or Vpp.The remaining pins follow the same layout. [http://www.ianstedman.co.uk/Projects/TK3_PICKit2_adaptor/Pickit2_pinout.png PIC Pinout]&lt;br /&gt;
&lt;br /&gt;
[http://googletv.pastebin.com/PBWRCAqB PIC Hex Dump] [[Local PIC Hex Dump]]&lt;br /&gt;
&lt;br /&gt;
[http://dl.dropbox.com/u/217678/Bootloader%20from%20PIC.TXT PIC Disassembly]&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
The updates contain a full set of system files (changed and unchanged), including a boot.img and a recovery.img&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;boot.img&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The thread at [http://forum.xda-developers.com/showpost.php?p=8844074&amp;amp;postcount=80 xda-developer] has the process to extract from the .img files (thx bftb0):&lt;br /&gt;
&lt;br /&gt;
&amp;quot;the &amp;quot;boot.img&amp;quot; file is in (little-endian) &amp;quot;squashfs&amp;quot; format and unpacks just fine using &amp;quot;unsquashfs&amp;quot; from the (Ubuntu 8.0.04 LTS) squashfs-tools package.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; recovery.img&lt;br /&gt;
&lt;br /&gt;
system/boot/recovery.img is a standard Android boot image with some extra garbage (0x580 bytes) at the front. Remove it like so:&lt;br /&gt;
  dd if=system/boot/recovery.img bs=1408 skip=1 &amp;gt; recovery-ungarbaged.img&lt;br /&gt;
Unpack that like a normal Android boot image. Something like [http://android-dls.com/files/linux/split_bootimg.zip this Perl script] works well.&lt;br /&gt;
&lt;br /&gt;
The kernel (system/boot/kernel) is also a boot image with the same extra garbage at the front.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Odex files&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The .odex files can be extracted by using the following guide [http://code.google.com/p/smali/wiki/DeodexInstructions Deodex Instructions]&lt;br /&gt;
&lt;br /&gt;
== Open Ports ==&lt;br /&gt;
List nmap ports&lt;br /&gt;
&lt;br /&gt;
Normal Mode, hooked to a Dish Network DVR (622) via WiFi:&lt;br /&gt;
&lt;br /&gt;
*Nmap scan report for LogitechRevue (192.168.1.142)&lt;br /&gt;
*Host is up (0.060s latency).&lt;br /&gt;
*Not shown: 65528 closed ports&lt;br /&gt;
*PORT      STATE SERVICE&lt;br /&gt;
*53/tcp    open  domain&lt;br /&gt;
*1100/tcp  open  unknown&lt;br /&gt;
*5222/tcp  open  unknown -- [http://xmpp.org/ Extensible Messaging and Presence Protocol (XMPP) Service (http://xmpp.org/)]&lt;br /&gt;
*5223/tcp  open  unknown -- SSL port for [http://xmpp.org/ XMPP]&lt;br /&gt;
*9551/tcp  open  unknown -- [[AnyMote]] Pairing Service through IpRemoteControlService -- SSL handshake requests cert and logs show errors from [[AnyMote]]&lt;br /&gt;
*9552/tcp  open  unknown -- [[AnyMote]] Connection Port&lt;br /&gt;
*35832/tcp open  unknown&lt;br /&gt;
&lt;br /&gt;
Also of course, with root - port 5555, for ADB!&lt;br /&gt;
&lt;br /&gt;
== Available Pinouts ==&lt;br /&gt;
*UART1 --&amp;gt; [http://i.imgur.com/xJHay.jpg UART Pinout]&lt;br /&gt;
*J3 --&amp;gt; PIC Chip Access (Pin 1 = VPP/MCLR, Pin 2 = VDD, Pin 3 = VSS, Pin 4 = ICSPDAT/PGD, Pin 5 = ICSPCLK/PGC, Pin 6 = Auxiliary)&lt;br /&gt;
*SW1 --&amp;gt; Push Button Switch (Use is unknown)&lt;br /&gt;
*J20 --&amp;gt; I2C (Top left - GND Top right - ? Bottom left - SDA Bottom right - SCL)&lt;br /&gt;
*J69 --&amp;gt; USB Pinout&lt;br /&gt;
*SATA1 --&amp;gt; SATA Pinout (Pin 1 = GND, Pin 2 = TXP / A+ , Pin 3 = TXN / A-, Pin 4 = GND , Pin 5 = RXN / B-, Pin 6 = RXP / B+ , Pin 7 = GND)&lt;br /&gt;
*J24 --&amp;gt; Unknown (Pin 1 = 3.3, Pin 2 = ?, Pin 3 = ?, Pin 4 = GND)&lt;br /&gt;
*J13 --&amp;gt; Unknown (Power for SATA?) - (Pin 1 = ?, Pin 2 = GND, Pin 3 = GND, Pin 4 = 5v)&lt;br /&gt;
*XDP1 --&amp;gt; Intel XDP Debug Adapter [http://software.intel.com/sites/products/documentation/hpc/atom/application/device_driver_debugging.pdf Information on XDP Debugging] [ftp://download.intel.com/design/Pentium4/guides/31337301.pdf Page 23 Pinout]&lt;br /&gt;
[[Category:Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
== Volume Management Configuration ==&lt;br /&gt;
Similar to other android based products, external storage can be attached and the device will attempt to mount it to /sdcard as per the following vold.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
volume_sdcard {&lt;br /&gt;
    # NOTE: This path is overbroad and will capture any device on the&lt;br /&gt;
    # tatung3/tatung4 external PCI bus.  This needs to be fixed, in conjunction&lt;br /&gt;
    # with vold changes to handle logical device names (DEVPATH names are not&lt;br /&gt;
    # static, unfortunately.)&lt;br /&gt;
    media_path     /devices/pci0000:00/0000:00:01.0/0000:01:0d.1/usb2/&lt;br /&gt;
    media_type     scsi&lt;br /&gt;
    mount_point    /sdcard&lt;br /&gt;
    read_only      true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the interesting comment about the media_path as well as the read_only=true attribute.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=284</id>
		<title>LogitechRevueUpdates</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=LogitechRevueUpdates&amp;diff=284"/>
		<updated>2011-01-10T02:05:40Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of current Logitech Revue updates&lt;br /&gt;
{{Revue toc Inline}}&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
! Version number&lt;br /&gt;
! Date first seen&lt;br /&gt;
! Update link&lt;br /&gt;
|-&lt;br /&gt;
| b39389&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/439c26f6af05.mp-signed-ota_update-b39389.zip&lt;br /&gt;
|- &lt;br /&gt;
| b39953&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/52057d168e2b.mp-signed-ota_update-b39953.zip&lt;br /&gt;
|-&lt;br /&gt;
| b42449&lt;br /&gt;
| unknown&lt;br /&gt;
| http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Template:Revue_wiki_toc&amp;diff=283</id>
		<title>Template:Revue wiki toc</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Template:Revue_wiki_toc&amp;diff=283"/>
		<updated>2011-01-10T01:50:27Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Logitech Revue&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Steps to get root]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[LogitechRevueUpdates|Known Version Numbers]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Logitech Revue Hardware]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Logitech Revue Technical]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=282</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=282"/>
		<updated>2011-01-10T01:48:12Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Added link to the version number page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [[GoogleTV - Version Numbers]] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=281</id>
		<title>Main Page/Devices</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=281"/>
		<updated>2011-01-10T01:45:52Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;font-size:150%; padding:10px;&amp;quot;&amp;gt;Rooted Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;Logitech Revue has root. [[Steps to get root ]]&#039;&#039;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Current Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;logitech_section&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| [[File:Revue-advert.gif|180px]]&lt;br /&gt;
| [[Logitech Revue Hardware]] &lt;br /&gt;
| [[Logitech Revue Technical]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Sony_NSX-40GT1.jpg|180px]] &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| [[Sony NSX-40GT1 (Internet TV)]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Sony_NSZ_GT1.jpg|180px]]&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|[[Sony NSZ-GT1 (Bluray Player)]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Upcoming Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;vizio_section&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Vizio&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Samsung&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=280</id>
		<title>Main Page/Devices</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=280"/>
		<updated>2011-01-10T01:38:32Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;font-size:150%; padding:10px;&amp;quot;&amp;gt;Rooted Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;Logitech Revue has root. [[Steps to get root ]]&#039;&#039;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Current Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;logitech_section&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Revue-advert.gif|180px]]&lt;br /&gt;
[[Logitech Revue Hardware]] -- [[Logitech Revue Technical]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;sony_section&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Sony_NSX-40GT1.jpg|180px]]&lt;br /&gt;
[[Sony NSX-40GT1 (Internet TV)]]&lt;br /&gt;
&lt;br /&gt;
[[File:Sony_NSZ_GT1.jpg|180px]]&lt;br /&gt;
[[Sony NSZ-GT1 (Bluray Player)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Upcoming Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;vizio_section&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Vizio&#039;&#039;&lt;br /&gt;
&#039;&#039;Samsung&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=278</id>
		<title>GoogleTV - Version Numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=278"/>
		<updated>2011-01-10T01:37:46Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google TV Version numbers are unique per device.&lt;br /&gt;
&lt;br /&gt;
== How to determine my Version Number ==&lt;br /&gt;
&lt;br /&gt;
== Known Released Version Numbers ==&lt;br /&gt;
=== Logitech Revue ===&lt;br /&gt;
=== Sony Blue Ray Player X ===&lt;br /&gt;
=== Sony GoogleTV X===&lt;br /&gt;
== Known Development/Beta Vesion Numbers ==&lt;br /&gt;
&lt;br /&gt;
== Core GoogleTV Versions == &lt;br /&gt;
These Version Numbers relate to GoogleTV Versions, which may or may not see release to the individual devices.  Think of the difference between ASOP releases and device-specific releases.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=277</id>
		<title>GoogleTV - Version Numbers</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GoogleTV_-_Version_Numbers&amp;diff=277"/>
		<updated>2011-01-10T01:36:43Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Created page with &amp;quot;Google TV Version numbers are unique per device.  == Known Released Version Numbers == === Logitech Revue === === Sony Blue Ray Player X === === Sony GoogleTV X=== == Known Devel...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Google TV Version numbers are unique per device.&lt;br /&gt;
&lt;br /&gt;
== Known Released Version Numbers ==&lt;br /&gt;
=== Logitech Revue ===&lt;br /&gt;
=== Sony Blue Ray Player X ===&lt;br /&gt;
=== Sony GoogleTV X===&lt;br /&gt;
== Known Development/Beta Vesion Numbers ==&lt;br /&gt;
&lt;br /&gt;
== Core GoogleTV Versions == &lt;br /&gt;
These Version Numbers relate to GoogleTV Versions, which may or may not see release to the individual devices.  Think of the difference between ASOP releases and device-specific releases.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=276</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=276"/>
		<updated>2011-01-10T01:30:04Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [GoogleTV - Version Numbers] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[[LogitechRevueUpdates|Logitech Revue]]&lt;br /&gt;
&lt;br /&gt;
== File System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=274</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=274"/>
		<updated>2011-01-10T01:29:56Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [GoogleTV - Version Numbers] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  The current update packages are:&lt;br /&gt;
&lt;br /&gt;
[http://android.clients.google.com/packages/ota/logitech_ka/c9914396d183.mp-signed-ota_update-b42449.zip Logitech Revue b42449]&lt;br /&gt;
&lt;br /&gt;
List of all updates for:&lt;br /&gt;
*[LogitechRevueUpdates Logitech Revue]&lt;br /&gt;
&lt;br /&gt;
== file System Obfusication ==&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=272</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=272"/>
		<updated>2011-01-10T01:23:14Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [GoogleTV - Version Numbers] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  Below is a list of the currently known of update packages.&lt;br /&gt;
&lt;br /&gt;
*Logitech Update 1&lt;br /&gt;
*Logitech Update 2&lt;br /&gt;
*Sony Update 1&lt;br /&gt;
*Sony Update 2&lt;br /&gt;
*Sony Update 3&lt;br /&gt;
(Maybe they should be numbered by the GTV version number dislplayed post update...)&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;br /&gt;
&lt;br /&gt;
== GTV Recovery Mode vs GTV(System) Mode ==&lt;br /&gt;
&lt;br /&gt;
== GTV Boot Loader == &lt;br /&gt;
The Boot Loader is included on the File System, currently in the X directory.  The Boot Loader is based off of the Y Loader (More information can be found at Z).&lt;br /&gt;
For the Sony BlueRay player, the Boot Loader is ABC.&lt;br /&gt;
&lt;br /&gt;
== Files of interest within the File System ==&lt;br /&gt;
&lt;br /&gt;
== So, why can&#039;t I just edit a File System and use it to update my review? ==&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=271</id>
		<title>GTV FileSystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=GTV_FileSystem&amp;diff=271"/>
		<updated>2011-01-10T01:18:53Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Created page with &amp;quot;The Google TV File System is similar to most other Android Operating Systems.   == Updates == Updates to the Google TV, unlike most the incremental updates that most Android phon...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Google TV File System is similar to most other Android Operating Systems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
Updates to the Google TV, unlike most the incremental updates that most Android phones receive, come as a complete file system meant to replace the previous.  It is assumed that since Google TV devices are meant to be connected to high speed internet connections, downloading a full File System is more palatable than on a limited-bandwidth mobile device.&lt;br /&gt;
&lt;br /&gt;
Updates are retrieved without user intervention from the Google Servers.   You can use the device version number to check your current file system implementation (See [GoogleTV - Version Numbers] for more information).  Updates are distributed as signed zip files including a recovery, system, and userdata image.  Below is a list of the currently known of update packages.&lt;br /&gt;
&lt;br /&gt;
*Logitech Update 1&lt;br /&gt;
*Logitech Update 2&lt;br /&gt;
*Sony Update 1&lt;br /&gt;
*Sony Update 2&lt;br /&gt;
*Sony Update 3&lt;br /&gt;
(Maybe they should be numbered by the GTV version number dislplayed post update...)&lt;br /&gt;
&lt;br /&gt;
== How to access the File System contained within an image ==&lt;br /&gt;
The Zip File is a simple matter to extract, however the images within them tack some massaging  in order to explore.  While they are a typical SquashFS File System, they have some padding bytes that prevented a simple &amp;quot;Unsquashing.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*It would be great if we could create a way to use dd to truncate the image instead of using a hex editor.  You should be able ot somehow grep for the start and then dd the proper bits into a new file that could be explored correctly.*&lt;br /&gt;
&lt;br /&gt;
Some data on the process is available here:&lt;br /&gt;
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=266</id>
		<title>Want to Help?</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=266"/>
		<updated>2011-01-07T19:19:55Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While the root was gained by the BreakVue hack on the Logitech Revue, the gtvhacker team is not done.&lt;br /&gt;
&lt;br /&gt;
If you want to help, you can try your hand at any of the outstanding issues and items listed below:&lt;br /&gt;
* Sony TV &amp;amp; Sony Blu-ray player hacks&lt;br /&gt;
* Software only hack&lt;br /&gt;
* Workable hacks on updated Revue boxes&lt;br /&gt;
&lt;br /&gt;
As always, check into the irc room (channel #gtvhacker) to see what you can help with.&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=264</id>
		<title>Want to Help?</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Want_to_Help%3F&amp;diff=264"/>
		<updated>2011-01-07T19:13:58Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: Created page with &amp;quot;While the root was gained by the BreakVue hack on the Logitech Revue, the gtvhacker team is not done.  If you want to help, you can try your hand at any of the outstanding issues...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;While the root was gained by the BreakVue hack on the Logitech Revue, the gtvhacker team is not done.&lt;br /&gt;
&lt;br /&gt;
If you want to help, you can try your hand at any of the outstanding issues and items listed below:&lt;br /&gt;
* Sony TV &amp;amp; Sony Blu-ray player hacks&lt;br /&gt;
* Software only hack&lt;br /&gt;
* Workable hacks on updated Revue boxes&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=243</id>
		<title>Main Page/Devices</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=243"/>
		<updated>2011-01-05T20:51:38Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;font-size:150%; padding:10px;&amp;quot;&amp;gt;Rooted Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;Logitech Revue has root. [[Steps to get root ]]&#039;&#039;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Current Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;logitech_section&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Revue-advert.gif|180px]]&lt;br /&gt;
[[Logitech Revue Hardware]] -- [[Logitech Revue Technical]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;sony_section&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Sony_NSX-40GT1.jpg|180px]]&lt;br /&gt;
[[Sony NSX-40GT1 (Internet TV)]]&lt;br /&gt;
&lt;br /&gt;
[[Sony NSZ-GT1 (Bluray Player)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Upcoming Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;vizio_section&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Vizio&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=242</id>
		<title>Main Page/Devices</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=242"/>
		<updated>2011-01-05T20:44:09Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;font-size:150%; padding:10px;&amp;quot;&amp;gt;Rooted Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;Logitech Revue has root. [[Steps to get root ]]&#039;&#039;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Current Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;logitech_section&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Revue-advert.gif|180px]]&lt;br /&gt;
[[Logitech Revue Hardware]] -- [[Logitech Revue Technical]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;sony_section&amp;quot;&amp;gt;&lt;br /&gt;
[[Sony NSX-40GT1 (Internet TV)]]&lt;br /&gt;
&lt;br /&gt;
[[Sony NSZ-GT1 (Bluray Player)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Upcoming Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;vizio_section&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Vizio&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
	<entry>
		<id>https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=241</id>
		<title>Main Page/Devices</title>
		<link rel="alternate" type="text/html" href="https://wiki.exploitee.rs/index.php?title=Main_Page/Devices&amp;diff=241"/>
		<updated>2011-01-05T20:43:41Z</updated>

		<summary type="html">&lt;p&gt;Jbjonesjr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;font-size:150%; padding:10px;&amp;quot;&amp;gt;Rooted Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&#039;&#039;Logitech Revue has root. [[Steps to get root ]]&#039;&#039;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Current Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;logitech_section&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Revue-advert.gif|180px]]&lt;br /&gt;
[[Logitech Revue Hardware]] -- [[Logitech Revue Technical]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;sony_section&amp;quot;&amp;gt;&lt;br /&gt;
[[Sony NSX-40GT1 (Internet TV)]]&lt;br /&gt;
&lt;br /&gt;
[[Sony NSZ-GT1 (Bluray Player)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-size:140%; padding:10px;&amp;quot;&amp;gt;Upcoming Google Devices &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;vizio_section&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Vizio&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jbjonesjr</name></author>
	</entry>
</feed>