Archos 97 Titanium HD - Root your tablet & more under Ubuntu



archos-titanium-97-hdArchos 97 Titanium HD is a early 2013 tablet providing a very good HD display (2048×1536), a Rockwel RK3066 SoC (Cortex A9 Dual Core with Mali 400) and 8 Gb memory.

Some relative asked me to extend system memory to be able to go beyond the 8 Gb limit. So I had to root it to be able to install Link2SD and open possibility to link apps to a specific SD card partition.

Even if the rooting approach is very classic (flash a custom CWM Recovery partition and flash SuperSU to root the tablet), it is involving some non trivial operations when done from a Linux PC.

This article is a step-by-step guide for Archos 97 Titanium HD that explains all the steps needed to compile flasing tool, get partitions details, flash a custom recovery, root it and then install a set of applications for your newly rooted device. The complete procedure has been tested on a Archos 97 Titanium HD running latest official Archos firmware (Jelly bean 4.1) using a computer under Ubuntu Gnome 13.10 64bits.

It should be usable with any Ubuntu or Debian flavoured computer. As a pre-requisite, you must have latest Android SDK or latest ADB package installed on your computer. An installation guide is available for Ubuntu computers.

Even if writen and tuned for Archos 97 Titanium HD, this procedure could also be used as a base to root other tablets based on Rockwel RK3066 SoC. But this is another story …

You have to understand that such rooting procedure is always a little bit risky, even if everything will probably run smoothly.
So, if you go further, do it at your own risk !

1. Create Udev rule for 97 Titanium HD

By default, Archos 97 Titanium HD is recognized under Ubuntu, but it is not fully writable when logged as a normal user.

So, first thing is to declare some very simple udev rules to handle full access to the tablet.

These rules must be declared in /etc/udev/rules.d/99-android.rules. If file already exists, just append the content at the end of it.

# sudo gedit /etc/udev/rules.d/99-android.rules


# Archos 97 Titanium HD
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2207", ATTRS{idProduct}=="300a", MODE="0666", OWNER="your-login" # Bootloader mode for Rockwel RK3066
SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d001", MODE="0666", OWNER="your-login" # CWM Recovery mode with sideload
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14ad", MODE="0666", OWNER="your-login" # MTP mode, USB debug off
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14ae", MODE="0666", OWNER="your-login" # MTP mode, USB debug on
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14af", MODE="0666", OWNER="your-login" # PTP mode, USB debug off
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0e79", ATTRS{idProduct}=="14b0", MODE="0666", OWNER="your-login" # PTP mode, USB debug on

your-login should be your normal Ubuntu session login.

Once done, udev service has to be restarted.

# sudo service udev restart

2. Compile rkflashtool

To be able to flash CWM Recovery, you will need to compile a reverse engineered tool called RkFlashTool.

This tool is able to read and write partitions from any tablet based on Rockwel RK3xxx SoC.

You first need to install the compilation environment, including USB libraries :

# sudo apt-get install libusb-1.0-0-dev build-essential

Next, get latest RkFlashTool sources from (rkflashtool 5.1 at the time of this article).

Downloaded rkflashtool-5.1-src.tar.gz and unpack rkflashtool-5.1-src directory from the archive.

Compilation also needs version.h header file which is not included in the archive. Download it from the same sourceforge place and drop it in the same rkflashtool-5.1-src directory.

Finally, open a console in this rkflashtool-5.1-src directory and run these commands :

# make
gcc -O2 -W -Wall rkcrc.c -o rkcrc -s -lusb-1.0
rkcrc.c: In function 'main':
rkcrc.c:95:14: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
rkcrc.c:100:14: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
rkcrc.c:104:10: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
gcc -O2 -W -Wall rkflashtool.c -o rkflashtool -s -lusb-1.0
gcc -O2 -W -Wall rkunpack.c -o rkunpack -s -lusb-1.0
# sudo cp ./rkflashtool /usr/local/bin
# sudo chmod +x /usr/local/bin/rkflashtool

rkflashtool is now compiled and installed.

3. Set Tablet in Bootloader Mode

To use rkflashtool, your tablet needs to be in bootloader mode.

When your are in bootloader mode, the screen remains fully black. The only way to check that you've entered this mode is thru the lsusb command :

# lsusb
Bus 003 Device 011: ID 2207:300a

The tablet uses ID 2207:300a when in bootloader mode.

But beware : the tablet will remain in bootloader mode for some time ... but not forever.
After few minutes, it will switch off automatically.

You can enter bootloader mode by 2 different ways :

3.1. Using ADB command

USB debug must be enabled on your tablet and the tablet should be connected thru USB.

When you run following command your tablet should reboot in bootloader mode.

# adb reboot-bootloader

3.2. Using Bootloader Mode Boot

Another option is to enter bootloader mode thru a specific boot procedure.

If you follow carefully these steps, your tablet should enter into bootloader mode :

  1. Switch off the tablet
  2. Press Vol -
  3. Plug USB cable to the computer
  4. Press Power
  5. Wait for 3 seconds
  6. Release Power
  7. Release Vol -

4. Get Partition Details

Once in bootloader mode, we can now use rkflashtool to get the tablet partition details.

This step is not compulsory, but it is very important if you want to be on the safe side. It will provide key informations that will be used during the partition flashing procedure.

By reading the first NAND memory sectors, we can extract actual partition table details :

# rkflashtool p > partition.bin
rkflashtool: info: rkflashtool v5.1
rkflashtool: info: Detected RK3066...
rkflashtool: info: interface claimed
rkflashtool: info: reading parameters at offset 0x00000000
rkflashtool: info: rkcrc: 0x4d524150
rkflashtool: info: size: 0x0000024c
# cat partition.bin
MAGIC: 0x5041524B
ATAG: 0x60000800
KERNEL_IMG: 0x60408000
#RECOVER_KEY: 1,1,0,20,0
CMDLINE: console=ttyFIQ0 androidboot.console=ttyFIQ0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(misc),

Partition table appears on the mtdparts line. Offset and size are in reverse order :

partition   Offset Size
 misc  0x00002000   0x00002000
 kernel  0x00004000  0x00004000
 boot  0x00008000  0x00008000
 recovery  0x00010000  0x00008000
 backup  0x00018000  0x00100000
 cache  0x00118000  0x0003a000
 kpanic  0x00152000  0x00002000
 system  0x00154000  0x00100000
 userdata  0x00254000  ---

As we are planning to flash a custom recovery, if should be flashed at offset 0x10000 with size 0x8000.

If you use this guide to root another Rockwel RK3066 tablet, make sure you get the proper offset and size of your specific recovery partition.

5. Flash Custom Recovery

You can get a recent CWM Recovery for Archos 97 Titanium HD from
This site also provides recoveries for other Rockwel RK3066 tablets.

Download CWM Recovery specific to Archos 97 Titanium HD, unpack the archive and extract recovery.img to your current console directory.

Before flashing new CWM Recovery, it is safe to do a backup of the stock recovery under recovery-stock.img.

# rkflashtool r 0x10000 0x8000 > recovery-stock.img
# rkflashtool w 0x10000 0x8000 < recovery.img

New CWM Recovery is now flashed.

You are ready to boot into recovery mode.

If you reboot your tablet in normal mode just now, it will reflash the stock recovery.
You need to boot a first time in recovery mode to allow CWM Recovery to protect recovery partition from being reflashed.
Otherwise, you may have to reflash custom recovery when needed.

6. Reboot into recovery

You need your tablet to be fully switched off. Disconnect USB and power cable and if needed, force power off.

If by mistake your tablet reboots in normal mode with Archos logo, just force power off for few seconds.

Now that tablet is off, follow these steps to boot into recovery mode :

  1. Press Vol -
  2. Connect Power adapter only (USB cable should be unplugged)
  3. Wait for few seconds without releasing Vol -

Tablet should boot into recovery mode. You should see CWM Recovery menu.


You can now navigate with Vol - & Vol + and select menu with Power.

7. Root the tablet

You can now download latest SuperSU from and place the downloaded ZIP in your current console directory.

Your tablet being into recovery, connect the USB cable and select menu install zip from sideload.

From the PC, you can now sideload SuperSU :

# adb sideload
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
sending: 'sideload' 100%

Your Archos 97 Titanium HD is now rooted.

From CWM Recovery, you can now select reboot system now menu.

As it is the first time you are using CWM Recovery, you will be asked if you want to protect your recovery partition.
As explained earlier, it will prevent stock ROM to reflash stock recovery.
In fact, a protection mecanism detects if stock recovery has been modified at every boot and flashes it back.
This protection is handled by /etc/ script.

So, to protect your newly flashed CWM Recovery, just select Yes and this file will be modified to become harmless.

8. After rooting tweaks

Now that your Archos 97 Titanium HD is fully rooted, you can now follow these procedures :

All sorts of tweaks are now possible. Be careful !


Signature Technoblog

This article is published "as is", without any warranty that it will work for your specific need.
If you think this article needs some complement, or simply if you think it saved you lots of time & trouble,
just let me know at This email address is being protected from spambots. You need JavaScript enabled to view it.. Cheers !

icon linux icon debian icon apache icon mysql icon php icon piwik icon googleplus