[Gen8 Android Development] WhoDunnit:
I just wanted my Archos Gen8 to have the latest stock firmware, root access, iptables support (for Droidwall) and a 1GB ext4 data partition. I will show you how to create this setup yourself. This howto describes all steps for a Linux PC with a working adb connection to the Archos Gen8. I am sure all steps can be done from a Windows PC too, but I cannot help you there: I only speak linux. [edit: Harfainx has written a thread on http://forum.archosfans.com/viewtopic.php?f=76&t=54637 that explains how to do these steps on windows; if you to do this from windows and have iptables and ext4, use my attached kernel and ext4 modifications instead of Harfainx' suggested chulri kernel]

[Archos] = do on tablet

[Linux] = do on PC

[Shell] = do in a terminal on PC

[ADB] = do in a adb shell from PC

[GParted] = do in gparted in PC

[Editor] = do in your favorite text editor on PC

All credits for this procedure go to other people (see end of this post); my only contribution is this write up, and the compilation of the new kernel.

1. Use chulri's root method to obtain root+rw with the latest Archos firmware on your Archos Gen8 (download the proper firmware version, and take care to rename the downloaded firmware file to firmware_archos_android_gen8.aos).

2. Install the matching version of my kernel + initramfs (see links below)

reboot Archos device and hold down "Vol-" button after screen went black

Go to "Recovery Menu" and then "Developer Edition Menu"

choose "Flash Kernel and Initramfs"

connect your Archos device by USB to your computer

upload zImage and initramfs.cpio.gz to your device

safely disconnect the USB connection

press ok on Archos device

reboot

3. Repartition your internal SD card

reboot Archos device and hold down "Vol-" button after screen went black

Go to "Recovery Menu" and then "Repair system” ->"Start USB MSC"

Connect tablet to your linux pc

Resize interal SD card and add an ext4 partition:

[Shell] sudo gparted

[GParted] find Archos device. For me it is found on /dev/sdc

[GParted] select the Archos partition and resize to have 1024MiB at the end left

[GParted] create a new primary partion using all the space you just created, filesystem ext4 and align to MiB

[GParted] apply all selected actions, let it finish and quit gparted.

unplug and reconnect your device so Linux finds it again.

Format the ext4 partition with some nice settings (if your device was on /dev/sdb replace /dev/sdc2 with /dev/sdb2 below):

[Shell] sudo mkfs.ext4 -b 4096 -E stride=64,stripe-width=64 -O extent,^huge_file -m 0 -L data /dev/sdc2

[Shell] sudo tune2fs -c -1 -i 0 -m 1 -O ^huge_file -o journal_data_writeback /dev/sdc2

[Shell] sudo e2fsck /dev/sdc2

press ok on Archos device

reboot

4. Make your new ext4 partition your /data partition

Boot up your Archos and proceed through the startup wizard; do not put too much effort in this because all information you enter now will be lost after this step.

Open options->applications and enable debugging support.

Connect the Archos to your linux PC

[Shell] adb shell

[ADB] su; stop; cp /init.rc /sdcard/

[Shell] adb pull /sdcard/init.rc

Modify init.rc:

[Editor] Open the just downloaded init.rc

[Editor] Replace the "mount ext3 /dev/block/mmcblk0p4 /data noatime nosuid" with "mount ext4 /dev/block/mmcblk1p2 /data rw noatime nosuid nodev barrier=0 data=writeback nobh"

[Editor] save file and close

[Shell] adb push init.rc /sdcard/

[ADB] cp /sdcard/init.rc /init.rc

[ADB] start

reboot

5. Now your device should start up and use your new ext4 partition as /data. In my case after reboot I had to force another reboot (hold on/off for 10sec) for the system to properly boot and come up with the Archos startup wizard again (the previous startup’s data is lost because we have a new /data partition).

6. Enjoy!

All credits for this procedure go to other people; my only contribution is this write up, and the compilation of the new kernel.

Rooting method: chulri

1GB data partition: chulri and wdl1908

Ext4 format flags: Sibere

Proper compilation of iptables and ext4: $aur0n and woti23