[Gen8 Android Development] constant7010:
I have managed to natively boot Urokdroid's OS in my Archos-70 device. This means that I don't need to go to the boot loader menu and select Developer to boot into my SD card which contains my Android OS. Upon power-up or reboot without pressing the volume -, I can have rooted Android OS.

First and foremost I'd like to give credits to where credits are due. I'd like to thank $aur0n for his excellent work on allowing us to boot our Archos device to external SD card. This has paved the way for many enhancements that we have now, and soon to come. I'd also like to give thanks to apr24991 for discovering a way to always boot in Developer mode. This has given me a chance to tweak my OS and allow Urokdroid's kernel to boot natively. And for all those generous people here who have willingly share their knowledge in this forum, I appreciate all your work. Now it's time for me to share what I've learned.

I'm no expert of Linux or Android. This was just based on my experience and there may be better ways to do this. Having said that, I just want to lay out some precautions.

Be prepare to lose data. So as preparation, please back-up your data.

Don't blame me if you brick your device. I would say that instructions here are easy enough for those knowledgeable in linux. However there may be few cases that you don't get the expected results. In any case, you can still restore your original Android OS by going to recovery menu and applying the stock 2.0.71 firmware from Archos.

This works on my A70, and I cannot guarantee that it will also work on A101 and other Gen8 devices. I'm suspecting it will.

After applying this successfully, you will lose the capability to dual boot. Meaning you will only be able to boot in SDE mode with rooted Android. Again you can still restore the stock firmware in the recovery menu.

Pre-requisites

Please download the SDE firmware from here. You can also download the stock 2.0.71 firmware in case you want to recover your original OS.

You should have already installed Urokdroid's kernel & this is properly working on your Archos device. In other words, you are already running Android on external SD card. $aur0n has setup a comprehensive guide here. The guide here is based on 0.3 version of Urokdroid's kernel.

Steps

Warning. On this step, you will lose all data in your device but excluding contents of external SD card. Please backup important data before continuing. Apply SDE into your Archos following phase 1 of apr24991's post here. This method will actually erase your stock Android firmware and only the SDE (AngStrom) will be present. So whenever you power on or reboot,

it will always boot AngStrom.

Now the trick now is to modify the kernel & initramfs of SDE so it will boot into external SD which contains your Android OS.

Insert your external SD card into your device.

Go to recovery menu. Press volume - while powering on.

Chose Developer Menu from the Recovery Menu.

Select flash kernel & initramfs.

Attach the device to your PC via USB. Your device will now appear as mass storage device in your PC. Copy 0.3 zImage from Urokdroid's, and the modified initramfs.cpio.gz, attached in this post (Extact it from the zip file first). This is the same initramfs.cpio.gz as Urokdroid's except I've modified /init to disable the checking of squasfs file in mmcblk0p2.

Safely unmount your device from your PC. Afterwards, select ok in your device. This would apply the copied zImage and initramfs.cpio.gz. And then it will prompt you that it will boot the device. Press power

button to reboot.

If everything is ok, you will now always be booted into Urokdroid's Android OS, rooted, and able to do other things. If you wish to restore stock firmware from Archos, just go to recovery menu and apply the firmware version you want. You may follow phase 2 of apr24991's post

here and just use your desired firmware version (2.0.54 or 2.0.71).

So far my setup is stable.

Optional: If you look at /data.old (mmcblk0p4), there is no longer data there. You have additional 300MB of partition where you can setup swap space.