yashsingh1/xdaforums huggingface dataset:
[Desire Q&A, Help & Troubleshooting] gonjeshk:
ofcourse they want to do that but maybe someone can port the rom to desire?! but i am sure it will take long time...
[Desire Q&A, Help & Troubleshooting] kamran1987:
i just installed AdamG Oxygen 2.0 RC1 (Gingerbread).

There is still no support for Persian,Arabic and Ordu . :(

However i see the Location support :
[Desire Q&A, Help & Troubleshooting] gonjeshk:
:mad::mad::mad::mad::mad:
[Desire Q&A, Help & Troubleshooting] kamran1987:
Which files did you modified/copied in ROM in order to read and write in farsi?

maybe i can copy them to Oxygen rom.
[Desire Q&A, Help & Troubleshooting] pezhman32:
o

me 2, I flashed gingerbread today! new features but didnt like it. returned to lee2.3b (Im a big fan of Sence!!!) . and about farsi/arabic, y no changes :( its jus like froyo...
[Desire Q&A, Help & Troubleshooting] gonjeshk:
you have to flash the zip file from recovery then you can read farsi but it depends on your rom. if your rom is based on the latest original htc rom then you have to wait like me...
[Desire Q&A, Help & Troubleshooting] gonjeshk:
yeah leedroid 2.3b is very nice rom and when we get full farsi support it will be great
[Desire Q&A, Help & Troubleshooting] gonjeshk:
by the way which navigation app do you use for navigation in iran? unfortunately navitel does not work on desire
[Desire Q&A, Help & Troubleshooting] pezhman32:
Im using "Maverick" which works really greate for me!

I have downloaded de maps by a soft from google maps by my self in 7zooms of my city.

de maps are really compelete and update!

u could download de light version (works fine) from de market and download instructions for ur city could be found on mobilestan.

Note: Maverick supports nokia maps too!
[Desire Q&A, Help & Troubleshooting] gonjeshk:
that sounds really good but does it have persian voice for navigation too?
[Desire Q&A, Help & Troubleshooting] pezhman32:
mmmm I don know de soft support voice navigation by it self or no (an it seems dat it doznt have!) but I love it, its quick and clean!
[Desire Q&A, Help & Troubleshooting] gonjeshk:
i will defenitly try it thanx!
[Nexus S Accessories] hah2110:
Nit pouches and not the over priced knr from best buy?
[Gen8 Android Development] dogmaphobia:
So I've finally kind of figured out several files in partition mmcblk0p1. Files named custom, init, and recovery are actually kernel and initramfs packed with 256 header. Information at offset 0x94 is length of kernel + header (256 bytes) and offset 0x98 is length of initramfs. Except of file init, contain additional size which I'm not actually understood.

By extracting init file, and modifying extracted initramfs, I can boot to android system with rooted state.

I've experimenting using unionfs got from somewhere in this forum and added files su and superuser.apk. I've added in init file inside initramfs.

Actually analyzing recovery files, we can get information regarding recovery program which mostly in bash script.

I've include my kernel and initramfs extracted from file init in mmcblk0p1. You can try for yourself only in Developer Edition, where you can flash your own kernel and initramfs.

Beware, I don't guarantee it will succeed... try for yourself :D

*Sorry, bad english...
[Gen8 Android Development] $aur0n:
Hi,

Is it not pointless to work on this squashfs, when we can use plain file/device partition on SDE (like Angstrom demo)? I guess (it's still theory - since I've just installed SDE) it's enough to create rootfs with copied everything from squashfs and /data - to make it fully writeable and rootable - and boot on it as /.

I'll give it a try later...
[Gen8 Android Development] MoonPhantasm:
No methods are pointless. Stop saying that. It's a progress to what we can do with the device. :p

Anyway, were you able to make that root work on the main OS, dogma?
[Gen8 Android Development] $aur0n:
Ehh ok - but it makes thinks complicated, while we should straight everything up - to make upgrading smooth and easy :)

As far as I can see in files - it should work.

Here's a diff of those init files (what was added)

out# diff init init.old

53,54d52

< CP=/bin/cp

< CHMOD=/bin/chmod

122,130d119

<

< # Create tempfs on /rootfs/home and unionfs with /rootfs/system

< $MOUNT -t tmpfs tmpfs $rootfs_path/home

< $INSMOD /lib/modules/unionfs.ko

< $MOUNT -t unionfs -o dirs=$rootfs_path/home=rw:$rootfs_path/system=ro unionfs $rootfs_path/system

< $CP /home/su $rootfs_path/system/bin/

< $CP /home/superuser.apk $rootfs_path/system/app/

< $CHMOD 6755 $rootfs_path/system/bin/su

< $CHMOD 755 $rootfs_path/system/app/superuser.apk

Booting from normal ext3 device requires some more changes - but gives us no 300MB (or similar) limit, allows to change boot parameters after kernel boots up (now on squashfs partition) etc. etc.
[Gen8 Android Development] dogmaphobia:
Yeah.. I'm able to get root with kernel and initramfs I've attached...
[Gen8 Android Development] Darkseider:
I am very excited about the prospects with SDE. Hopefully with some more poking and prodding and with Archos Froyo source released we will see some nice custom ROMs coming down w/ full root and a re-mapped file system in the coming months. I for one am hopeful that the dev community embraces the Gen8's w/ SDE and bakes up a nice serving of Gingerbread! :D
[Gen8 Android Development] dogmaphobia:
I was thinking that in recovery there's tool to flash initramfs and kernel which formed in file custom in mmcblk0p1. If we can replace destination to init (not custom). I think we can force booting to our new change, without entering to recovery mode first.

But, I still don't want to break anything in partition mmcblk0p1 :D.

Also, if we can modifying squashfs file with new one, without script checking the file (I think is on cramfschecker program); we can have custom rootfs itself replacing androidmerged.squashfs.secure....

Just the thought...
[Gen8 Android Development] d34thd34l3r:
Keep up the good work guys!
[Gen8 Android Development] chrulri:
just copied the content of the squashfs in an ext3 image and modified the init and mountpoints.

will report later after some testing
[Gen8 Android Development] $aur0n:
Heh.. I've just did the same - but on ext3 partition of sd card. Not luck yet to full boot... yet... :D
[Gen8 Android Development] chrulri:
me neither. don't have time for more testing today and tomorrow, but soon I have a lot of spare time :D

edit: currently running kernel and initramfs of dogmaphobia, works great so far
[Gen8 Android Development] denoxster:
Let me know when you guys news beer on your break, its on me.

Keep up the good work.
[Gen8 Android Development] nimrodity:
its too bad i am too dumb to understand all of what you are saying.

Does this mean rhe archos can be booted with root?

is it then rooted on the normal android firmware i use at the moment or on something else?

If yes how exactly do i get this to work and will there be a easier version for people like me who dont know that much about that kind of things.

and sorry again if my questions are dumb,i just want to try to get it.
[Gen8 Android Development] $aur0n:
Yes - but with SDE installed (and voided warranty - unless Archos claims so)

We are trying to boot oryginal Archos-Android on writtable disk (then it will be fully rooted - on OS level at least). dogmaphobia prepared initrd (first stage boot - lets say) that mounts part of original dir tree as RW and installs SU (switch to root) tool.

Probably yes, this one is not so hard either - but it's really just a first step, so I recommend to wait.
[Gen8 Android Development] Uejji:
This is freaking awesome. Since 2.0.71 disabled temproot I haven't been using my 101 very much other than poking around in Angstrom.

I voided the warranty on every other Android device I own for root, and I sure don't mind doing it on my 101 either.
[Gen8 Android Development] nimrodity:
@$aur0n

thx for the explanation.

Since i am please ight now ho the archos works,i ca wait a while till something new comes up.

so no hurry,we all saw how achos handled that with an unfinished bugged fimware
[Gen8 Android Development] nickwarn:
this is great news, im so looking forward to the future with a fully rooted device. And all the benefits that comes with that,maybe some custom roms maybe even cyanogen mod, A2SD, custom kernels and Gingerbread. If this comes thru it blows this wide open. Keep up the good work
[Gen8 Android Development] chrulri:
@dogmaphobia you've written kernel size was at 0x94 and initramfs size at 0x98 but I don't get it. 2byte value (db70) at 0x94 results in 56176 and (db700021) ist far too much for kernel size. same weird result for initramfs.

how did you extract initramfs and kernel from this mmcblk0p1/init file? may post a shell script?
[Gen8 Android Development] $aur0n:
I've checked my "custom" file - on pos. 94 i have unsigned 32bit (8 bits) value "2218864" - witch might be ok, since 2218864-256=2218608 - and that's exactly the size of kernel that dogmaphobia send (and it's bootable).

On pos. 98 I have value "833767" (8 bit stream like before) - that's look also quite ok.

ps. and you should be able to extract it with dd (dd if=custom of=whatever bs=1 skip=245 count=2218608) - it's slow with bs=1 but... ;)
[Gen8 Android Development] Unmensch:
Heym I mounted the rootfs.img as loop, put the two files from dogmaphobia in /boot and copied the image back to internal memory, but wasn't able to boot from this image. Any tips?
[Gen8 Android Development] $aur0n:
Ok - anyone have an idea how to see bootup process logs? Init script writes everything to stdout/stderr and ??
[Gen8 Android Development] MoonPhantasm:
Nice. I'll wait til you guys figured out a permanent root for straight boot before messing with these. Wish I have time to help, but...

Anyway, good luck and thanks. :)
[Gen8 Android Development] chrulri:
accordingly to the cmdling it get's "printed" to /dev/ttyS2

# cat /proc/cmdline
console=ttyS2,115200n8 androidboot.console=ttyS2 extrabaud=1000000 init=/linuxrc debug omapdss.debug=0 vram=4915200 omapfb.vram=0:4915200 omapfb.debug=0 mmc_block.split=0.0001:512M

where can we grab ttyS2? usb debug or some internal header? (I really don't want to open my A101 :( )
[Gen8 Android Development] $aur0n:
Perhaps it will work with tty over usb dongle - but why they don't put it simply on screen? :(

I've tried with AUI tool and AUID daemon to put something on screen - but not luck either.
[Gen8 Android Development] lechuckthepirate:
Hi guys... I'm a total noob for this, and surely you have already tried this, but when I write a new ROM to my G1, all debug can bee seen with 'adb logcat' ... maybe this would work ?

Cheers
[Gen8 Android Development] $aur0n:
I don't know how this logs are stored (memory/disk region) - but as far as I already know (I'm also quite new in Android - I just know something ;) about Linux) adb requires running corresponding server on adroid device. During boot this adb daemon does not exist, and later (after reboot) there is nothing interesting in logs.

Initrd i've created is hanging somewhere on root mount/switch - but I don't know how to get any kind of feedback from device on this boot level.
[Gen8 Android Development] $aur0n:
Heh... one step forward... but I've lost one day on trying to force running kernel/initrd send by dogmaphobia. And those files does not work for me on my archos (70 2.0.54) - i'm not sure why. But when I extracted my own kernel and initrd it starts to work now...
[Gen8 Android Development] chrulri:
maybe because he used 2.0.71? you are using an old firmware :)
[Gen8 Android Development] $aur0n:
Yep - it can be a cause and I'm aware of that. And I'm using "old" firmware because of temproot - it's much easier to work that way :)
[Gen8 Android Development] chrulri:
no need for temproot with dogmaphobias solution :p
[Gen8 Android Development] $aur0n:
Yes, but when you want to modify development system it often fails to boot - without root on android stock version you cant mount and do some stuffs to check why. It's one solution (that can by done in many other ways) - but it work's for me - and 0.71 does not bring anything worth upgrade...
[Gen8 Android Development] $aur0n:
Ok - done :D :D

I've booted stock Archos Android from MicroSDHC 16GB card in full rw mode, without that silly 300mb limit etc. etc. Now only need to polish it...

btw. ext2/3 filesystem on sdhc works much slower that vfat - anyone have idea why? (even with noatime)
[Gen8 Android Development] Kashban:
Hm, not really into filesystems but using an ext3-partition and a2sd+ on my desire (leedroid-ROM), I agree, ext3 is slower.

Are you saying you will be able to dish out a custom ROM with archos Android allowing root access and no limits to app storage soon? That'll be some reason for me to actually get SDE on mine.

Will it be based on 2.0.71?
[Gen8 Android Development] $aur0n:
Ext2/3/4 (i've already seen there is some kind of performance problem with this filesystem on flash drives - since my 16gb pendrive works terribly slow on ext4 - but till yesterday I thought it was problem of my flashdrive) can be slower - but not that much - my rough tests on lexar class 6 card shows that vfat write speed is aprox. 10MiB/s and with ext3 1,8MiB/s. When mounted with noatime it gets 3MiB/s - that's still much to slow.

Problem is we need filesystem with UN*X like permission style AND that can store bigger files (for 720p+ movies). So i guess we need to find out where this slow down comes from.

And answering Kashban: with SDE there is no real limitation of what you can boot up on Archos, it's just a problem of people willing to do proper compilations :)

My goal is to boot stock Archos Android (since it's quite usable and works good for me) on SD card, with full root access, swap memory, no 300MB limit and some tweaks to make movies playable (like cachefs to samba perhaps or replacing UPNP djmount - witch limits UPNP file size on Archos to 2GB max) - later probably more :)
[Gen8 Android Development] Kashban:
Would be nice to include the few good archos apps too, like the video player. Probably they will run on a stock android. Since the archos firmware is not that far away from the stock like, say, Htc, replacing it would bare fewer drawbacks.
[Gen8 Android Development] nenadr:
@aur0n: Please clarify this for us: When you say "stock Archos Android" do you mean:

a) Same Archos Andorid that comes with Archos firmware downloaded from Archos site or over the Archos OTA update, just rooted and with optional software bundled by you ?

b) AOSP stock Android ?

And, in case the answer is a) then additional question: Will that distribution will be able to play DRM files, or that possibility is lost just by installation of SDE ? (As far as I understand everything I have read regarding Archos and SDE: SDE is needed right now, in order to be able to boot "anything custom", but installation of SDE disables ability to play DRM protected content)

Thanks for any clarifications.

Cheers,

Nenad
[Gen8 Android Development] $aur0n:
Like I wrote before - Archos Android - that means Android version compiled by Archos and distributed on Archos gen8 devices.

I'm not aware of any kind of DRM playable files on Archos - but as you can read here on XDA (other thread) - SDA does not brake any kind of DRM abilities.

If you referring to DRM as to AC3/mpeg Archos plugin (15$/Eur on Archos page) - it still works on SD booted Android.
[Gen8 Android Development] nenadr:
That is a great news ! Thanks for clarifying. I really look forward to see some tutorial/script on this SDE booted/permanently rooted Archos firmware. I'm getting my A101 during next week, and first serious thing I would like to do with it, is to try to get my Huawei E1552 3G USB dongle to work with it (for which I need root access to device, as well as ability to compile usbserial.ko (if it is not compiled already), usb_modeswitch package, and ppp package if it is not already there.

My mistake, I didn't read Archos notice on SDE download page carefully enough - loosing ability to play DRM content is notice for --> Gen6 and Gen7 devices only <--. For Gen8 devices, SDE only breaks warranty.
[Gen8 Android Development] fdie67:
Archos70s boot logs

I enabled few CONFIG_ settings about CONSOLE & FRAMEBUFFER in the kernel config file and got this kind of result (file attached).

Also increased the kernel log buffer setting :

CONFIG_LOG_BUF_SHIFT=15

since the default value 14 (2**14 = 16384 bytes) is too short for the approx. 30kb of logs
[Gen8 Android Development] $aur0n:
It's certainly not a howto - but just few steps that can reproduce (without try and error fun ;) ) what I've did. Of course you do it on your own risk - but it requires a lot of skills to really damage device (it's quite bullet proof) so it's quite safe :D

This are steps for 2.0.45 Archos Android version With newer one this steps will also work, but it will require modified original initramfs for 2.0.71+.

- format SDHC card with single ext3 partition (Linux: fdisk and mkfs.ext3)

- copy ALL data from squashfs Archos disk (atached)

- copy "su" to /system/bin/, chmod 6755 /system/bin/su (atached)

- copy superuser.apk to /system/app/, chmod 755 /system/app/superuser.apk

- flash (kernel+init.rar) from SDE boot menu (reboot, hold up or down volume key), choose "Recovery System"->"Developer Edition Menu"->"Flash Kernel and Initramfs"

- reboot and hold up or down volume

- choose "Developer Edition"

and it should boot with root access. It's going to be slow during first boot....

Now you should copy /data to your SD card. Get terminal emulator (or ssh daemon) and from shell on Archos

su
mkdir /data.new
cd /data
cp -rp * /data.new/

poweroff device, and move card to computer. Move /data to /data.old, move /data.new to /data. Edit /init.rc file and change

from
mount ext3 /dev/block/mmcblk0p4 /data noatime nosuid
to
mount ext3 /dev/block/mmcblk0p4 /data.old noatime nosuid

your done.

Things to do:

- more clean up in initramfs (it's quite messy)

- something to make ext3 partition faster (it's too slow now)

- automounting daemon on Android claims SD card is unusable (it's just a bit annoying - nothing more)

Files:

All files in one

or separate archives

Content of rootfs (suqashfs)

Kernel+initramfs

su+superuser.apk
[Gen8 Android Development] chrulri:
I wrote some python script to extract zImage and initramfs.cpio.gz from init, custom, ... files.

it simply does the 0x94 and 0x98 trick and reads then each byte of kernel and initramfs.

Download: avos_dump.py
[Gen8 Android Development] $aur0n:
Nice ;) thx (already used it for striping 2.0.71)
[Gen8 Android Development] ardatdat:
Thanks, I want to ask, if I am using 2.0.71 firmware, do I need to extract and modify initramfs, and how?

Thanks again :cool:
[Gen8 Android Development] $aur0n:
Well... since both releases have the same kernel - they have just some fixed, I really can't tell. Theoretically it should not be required - but it depends on what (if any) fixes archos eng. applied. I'm currently doing it - so I'll write more later...
[Gen8 Android Development] ardatdat:
Thanks, some more questions: Is the function of initramfs.cpio.gz to specify which files should be included to build up the system folder? If I want to include more files, what can I do? What tools can I use to modify this file?
[Gen8 Android Development] $aur0n:
I don't fully understand the question - but perhaps this will give you an answer.

Initrd (Linux) - called here initramfs is just temporary filesystem. To be honest, if Archos haven't used squashfs this step could be useless. But from beginning...

Bootloaders reads kernel (zImage) and run it. Because people wanted to have compact, small kernels - but yet flexible - they created a lot of modules for different purposes. But with well known (by manufacturer) device, there is no real need of using modules - everything can be compiled in kernel - that's why I say this step in Archos is... disputable ;)

Anyway, kernel gets "ramfs" (initramfs.cpio.gz) - and it's just a tiny linux - in this step kernel and scripts should load all necessary modules that are absolutely required to access proper linux rootfs and chroot to it (change root context).

The whole "magic" of booting up Linux/Android is done later - reading files from rootfs.

So - I guess you don't need to do anything with initramfs.cpio - it's just for booting. Of course I'm taking about my (proposed by me) situation where you have full accessible (r/w) rootfs - that's why I wanted to make it that way, without unionfs and more hacks.

And if you really want to modify cpio - use cpio tool to extract archive

zcat initramfs.cpio.gz | cpio -id

And then use cpio to archive it again...

find . | cpio --create --format='newc' > ../newinitramfs.cpio
gzip newinitramfs.cpio

Does this answer your question?
[Gen8 Android Development] ardatdat:
Thanks for answering. I still need some time to digest above statements.

OK, my progress so far is that I can boot up with SDE, having loaded with zImage & initramfs... I get su and superuser working. I can edit the file under system with rootexplorer, (e.g.. delete some apk), but when I reboot the device again, I find out that the apk re-appear.

So, my question is simple: How can I make a persistent change in /system/ ? Even if I modify the content in the EXT3 sdcard, it does not affect the /system/etc nor /system/app after reboot...

Thanks for your help.
[Gen8 Android Development] $aur0n:
Are you sure you are booting up again in developer mode? Not stock firmware? (to boot to developer mode press both volume up and down, or select from bootup menu).

If you use my method - there is no way that there will "re appear" something (unless you did it wrong :) ).
[Gen8 Android Development] ardatdat:
I am sure to reboot to developer mode (I am really sure) and I can still see superuser.apk in /system/app/ ....

So, the proper way is to delete from /system/app or from the sdcard?

OK, I will try again... Thanks. :cool:
[Gen8 Android Development] ardatdat:
A quick update:

I can boot successfully with the .zip in #1 post & get rooted, but when I reboot, the files will recover to /system/....

For $aur0n version, I fail to boot ....

Will it be due to the reason that I am using the 2.0.71 firmware? :cool:

Thanks for all your wonderful help.
[Gen8 Android Development] $aur0n:
Because this gives you only SU and not r/w access.

Yes, this because you have 2.0.71. I've tried yesterday to boot 2.0.71 - it work's but there are some strange performance issues - I'm not sure, but it may be because they (Archos engs.) started to manager task groups in 2.0.71...

Since startup init's are the same (checked yesterday) - you can uncpio my initramfs (2.0.54), copy init file aside, uncpio 2.0.71 (ripped from your Archos - with script provided here) and overwrite init. Then packit, put on archos - This will work.
[Gen8 Android Development] ardatdat:
Quick update again:

For those interested in OC, I have compiled a new kernel. Please test it out.

http://www.mediafire.com/?bw8iq34tkvkllxe

Setcpu, auto detect again, can choose up to 1200 ...
[Gen8 Android Development] rubino25:
I test it with the Archos 70.. Perfect. I can get 1200 on set-cpu and root access! I also have the swap file manually.. It's possible to have it auto? Thanks a lot!
[Gen8 Android Development] ardatdat:
you can try gscript in the market
[Gen8 Android Development] rubino25:
Ah ok.. I'll try! Thanks..
[Gen8 Android Development] Blackdragon_860:
Can you explain how the kernel can be installed??
[Gen8 Android Development] chrulri:
http://www.archos.com/support/support_tech/updates.html
[Gen8 Android Development] Techngro:
Hey, are you saying that this is a working version of Froyo with root and OC? If so, how usable is it? Also, how do I install it? Do I use the update firmware setting in recovery?

I'll probably install it anyway just to see where things are at with the dev stuff. Thanks for all your guys hard work making the device better.

One more question. When I go to download the SDE, it also give me the option to download the modifications to the Angstrom distro. should I get these as well?
[Gen8 Android Development] $aur0n:
It's based on what source? (2.0.54 from Archos?)