Home > Linux, Linux 2.6, Texas Instruments OMAP 4 > Archos G9 GPL Source Code

Archos G9 GPL Source Code

Archos has released the GPL source code for the Archos G9 Tablets on their Gitorious account. This is obviously the same source code for Archos 80 G9 and Archos 101 G9.

There are two git repositories for the G9:

The GPL “userspace” source code is divided into 4 directories:

  • buildroot – Buildroot to generate a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image.
  • hardware – Direcotory containing hardware related source:
    • WL1283 “Wlan” Driver (WiLink 7.0 single-chip WLAN, GPS, Bluetooth and FM solution)
  • packages:
    • libf2m – Library to convert flash videos (FLV) to AVI, MOV or MP4
    • libmms – Library for streaming video/audio with mmst / mmsh protocols
  • external- Utilities and libraries (Bold indicates external sw not released/used with Archos G8 Source Code)
    • alsa-lib – Audio library
    • alsa-utils – Audio Tools
    • bison – Parser Generator
    • blktrace – Driver debugging tool
    • bluetooth – BlueZ (Bluetooth Protocol Stack), Gliband hcidump.
    • dbus – Libray and daemon for IPC (InterProcess Communication)
    • dnsmasq – DNS forwarder for NAT firewalls
    • e2fsprogs – EXT-2/3/4 file system utility
    • elfcopy –  Tool to generate executable binaries
    • elfutils – Tool to manipulate executable binaries
    • genext2fs – Tool to generate ext-2 images
    • grub – Bootloader
    • hostapd – For Wifi Authentication
    • hyphenation – Library to use converted TeX hyphenation patterns
    • iproute2 –  TCP/IP Tools
    • iptables – Firewall Tool
    • jdiff – Java Code Analyzer
    • kernel-headers
    • liblzo  – LZO Compression Library
    • libnl – Libraries providing APIs to netlink protocol based Linux kernel interfaces
    • oprofile – Embedded Systems Profiler
    • webkit – Web Browser Engine
    • wpa_supplicant – Wifi tools for WPA/WPA2
    • wpa_supplicant_6 – Wpa_supplicant and hostapd v0.6.x
    • yaffs2 – YAFFS2 File System Driver (for NAND flash)

There are also 2 components that were present for Gen8 but are not used in Gen9:

  • openvpn – VPN Client/Server
  • libexif – EXIF Library to extract picture metadata

For libexif, I suppose it is part of Android and does not need to be released as it is licensed with LGPL
As for openvpn, maybe this has not been implemented yet in Archos G9 (TBC).

Archos G9 runs on Linux Kernel 2.6.35.7. The .config file is also made available by Archos (linux.config) so we can see which part of the kernel they have enabled or disabled.

Build instructions

Retrieve the GPL source code:

git clone git://gitorious.org/archos/archos-gpl-gen9.git

then create a linux directory in the newly created directory and retrieve the kernel source code:

git clone git://gitorious.org/archos/archos-gpl-gen9-kernel.git linux

To build, type “make” in the buildroot folder.

Accessing Archos G9 Shell

For development, you’ll need to connect your tablet using the Android Debug Bridge (ADB) as follows (excerpt from Archos Website) (I haven’t tried):

First make sure you are running the latest ARCHOS firmware. Connecting by this method will give you user shell privileges. Learn more to know how to use ADB on Windows, Mac or Linux operating system:

  • Go to the Android SDK page and download the latest SDK for your operating system.
  • For Windows users only: Install the Archos ADB USB Driver for Windows. The driver is available at the ARCHOS support ftp (ftp://support.archos.com). Instructions how to install the driver are available at USB Driver for Windows site on Android Developers.
  • Add Archos vendor ID (0x0e79) to adb_usb.ini in .android folder in your home directory:
    • Windows: echo 0x0e79 >> “%USERPROFILE%\.android\adb_usb.ini”
    • Macos: echo “0x0e79″ >> ~/.android/adb_usb.ini
    • Linux: echo “0x0e79″ >> ~/.android/adb_usb.ini
  • For Linux users only: You need to add a udev rule if ADB only works as root:
    • Create a file /etc/udev/rules.d/51-android.rules that contains the following lines:
      SUBSYSTEM==”usb”, ENV{DEVTYPE}==”usb_device”, ENV{PRODUCT}==”e79/*”, MODE=”0666″ SUBSYSTEM==”usb”, SYSFS{idVendor}==”e79″, MODE=”0666″
    • Make the rule known to udev with the following command:
      udevadm control –reload-rules (or udevcontrol reload_rules on older systems)

Archos Gen9 SDE

With the previous generations, you could download Special Developer Edition (SDE) firmwares, but this is not yet available for Archos G9.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. No comments yet.
  1. No trackbacks yet.