Chromecast Open Source Code: Linux Kernel, Toolchain, Bootloader, and More

Google has made quite a stir by introducing Chromecast, and entering the HDMI TV Stick market. We already know the device is based on Marvell 88DE3005 SoC with 512 MB, and since the product are already been shipped to customers in the US, it was just a question of time before the release of the open source code, and everything you need appears to be available at https://code.google.com/p/chromecast-mirrored-source/

Chromecast_Menuconfig

Let’s have a look at what we have in the different repositories:

  • Wiki – Empty…
  • Kernel – Linux 3.0.8 source code
  • Prebuilt – Binary toolchain: arm-unknown-linux-gnueabi-4.5.3-glibc
  • Toolchain – Source code for the toolchain above.
  • External – Source code for alsa-libs, dnsmask, libexit and nss
  • sdk – bootloader and DirecFB 1.6.1
  • vendor – Looks like qt source used in some netflix app (not sure)
  • Chromium – README explaining how you can download Chromecast Chromium source code: 1.8GB tarball + you need to contact Marvell to get some binary files.

I don’t have device, but I’ll try to build the Linux kernel anyway. I’m not sure it’s the correct method, but I believe it should work.

First let’s get the pre-built toolchain and the kernel source code:


then I had to add the toolchain to my path, and install one missing dependency (lzop):

export PATH=$PATH:~/Chromecast/chromecast-mirrored-source.prebuilt/toolchain/arm-unknown-linux-gnueabi-4.5.3-glibc/bin/
sudo apt-get install lzop

Now we’re ready to build the kernel with build_kernel.sh script that is said to be for the “Eureka” platform, probably the codename for Chromecast or some Marvell devkit. You need to select the SoC with this script: either “berlin” (mv88de31xx) or “anchovy” (mv88de30xx). Since Chromecast is based on 88DE3005, we’ll go with anchovy:


This command will build the kernel:


As well as perf tool (used for profiling). Upon completion the script will create kernel.tgz with the following files:


If you’ve got a Chromecast, and gave it a try (This may brick your device by the way), let me know how it went.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

10 Replies to “Chromecast Open Source Code: Linux Kernel, Toolchain, Bootloader, and More”

  1. I wonder what’s different between this SoC and the 88DE3100 used on their GoogleTV platform. Hopefully it’s not a reduction to single-core CPU. The Armada line also has very impressive VPU capabilities.

  2. my understanding its chromium as it more lightweight would be nice to see if this software could be ported to the likes of the raspberry pi

  3. These old Armada single core SoC are fine for what they are and indeed have a dual SATA block,PCIE and fast Ethernet included (its unfortunate that these internal blocks are NOT brought out to the PCB thought as standard to make all these types of kit far more useful) unlike the more modern Arm Cortex SoC , however their missing functionality being lacking the now generic and far faster NEON SimD ,only having the far weaker old SSE mobile SIMD from Intel legacy inside and only have USB2.0 so not able to make anything close to that PCiE potentials speed for external Io or anyway to make use of that generic included SATA block and that as real shame….

    OC the question remains when will the real Cortex also get a generic PCiE and SATA IP block to make those SoC usable for fast DIY NAS and the like beating today’s lame Intel SoC offering in all the lower cost Has today.

  4. Is there anyway to run the binary inside a virtual machine like qemu so we can tinker around with the code? What is the kernel config screen at the top of this page. Looks like some sort of emulation of the software being run.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC