[Gen8 Android Development] $aur0n:
FAQ or Tips & Tricks

More information you can find in seperate thread on this forum - FAQ + Question/Awnsers

How to upgrade from previous releases

To upgrade from 0.5 you should download special upgrade file (UrukDroid-0.6-upgrade.tbz2) from first post. You need to place this file in directory "/data/UrukUpdate".

First method:

Put it on your internal storage by any means - this is /mnt/storage (also visible as /sdcard/). Then use file manager (like Astro or RooteExplorer - not build in one) or do as follow in terminal (or over ssh)

su
cd /sdcard/
mv UrukDroid-0.6-upgrade.tbz2 /data/UrukUpdate/

Second method:

Use UrukConfig to enable SSHD (if you don't have it started already), and use any SCP/SSH client (like WinSCP, or plain scp on Linux) to copy file (default username is "root", password is "UrukDroid") to "/data/UrukUpdate".

In both cases upgrade will start automatically; alter kernel, initramfs and when finished, device will reboot itself.

How to enable/disable and configure UrukDroid services?

UrukDroid services are configured by text files, that can be found in /etc/uruk.conf/ directory. You can use file manager like RootExplorer or Terminal to edit them, but most convinient way is to use SSHD service and some ssh client (for example putty).

You can also use UrukConfig application - build in since 0.5 release. After you do some changes, restart service (/etc/uruk.d/service_name stop/start) or simply reboot Archos. Since 0.5, by default only CompCache and CPUGovernor are enabled.

Currently available services

samba - it's SMBD server allowing mounting your Archos storage directory on your PC. Default user is "storage" and password "UrukDroid"

sshd - SSH server allows you to connect to your Archos with any ssh client, work on terminal. It also allows to copy files with scp/sft. Default user is "root", password "UrukDroid"

swap - this service enable swap memory. It can make Archos a bit less responsive but memory manager won't kill application so quickly (co you can use WWW browser, email an communicator simultaneously - for example of course)

iptables - this pseudo service will load necessary modules to use iptables (firewall) features

ntfs - if you plan to connect NTFS formatted devices to your Archos - enable this service

dvb - this service load necessary modules to watch TV on your Archos. This service requires configuration from your side - it won't work "as is". Please read and edit config file (/etc/uruk.conf/dvb)

compcache - Start/stop CompCache swap memory service. Compcache is a compressed part of memory, where less used object reside. Usual compression ratio is 70%

cpugovernor - Changes default CPU governor and it's parameters. Governor decides how to scale CPU frequency. Since 0.5 there is new "interactive" governor.

openvpn - It's an implementation of popular free VPN service for Uruk. It will act like the one used in Archos stock config with difference it will work all the time - whenever you go, and you have full flexibility of configuration. Config file resides in /etc/openvpn/archos.conf.

VPNC - It's open implementation of Cisco VPN service. You should edit /etc/vpnc/archos.conf file.

NFS4 - NFS v4 client service allows you to mount remote file storage with use of NFS (much faster then SMB for example). You can also enable use of cachefilesd sub-service - that will cache locally, files transferred with NFS (for smooth playback of movies for example)

How to remove some default apps?

App started at the boot time are stored in /system/app, I've already removed some of them by moving it to /system/app.old/ - but you can do it by your own - but remember - some of them are actually required to run system ;)

Some filesystems benchmarks (that's the reason why I wanted ext4 so badly)

Write tests (I've testes different filesystem and partition sizes)...

Tests on Archos:

internal 8GB

0,71Mb/s ext3,ordered,noatime

5,45Mb/s fat32

Lexar 16GB

2,63MB/s ext3,ordered

6,25MB/s ext4,ordered

Test on computer (the same lexar card)

2.93Mb/s 1GB,ext3,noatime

2.78Mb/s 1GB,ext3

3.04Mb/s 1GB,ext2

8.62Mb/s 1GB,vfat

7.61Mb/s 1GB,btrfs

7.87Mb/s 1GB,ext4

7.87Mb/s 16GB,ext4

Card is 16GB SDHC Lexar class 6 only - so this toshiba nand inside is not state of the art either :/

How to roughly check your filesystem write speed

Go to directory where you can write and were is more then 100MiB of free space and do the line. It will sync devices (flush all write caches), write 100MiB file filled with zeros, and fush caches once again to measure real write speed without buffers. Then easy math... and my laptop disk has write speed 16,66MiB/s

sauron@adrians:/tmp$ sync; date; dd if=/dev/zero of=test.file bs=1M count=100 2>/dev/null; sync; date
Wed Jan 5 19:02:28 CET 2011
Wed Jan 5 19:02:34 CET 2011
sauron@adrians:/tmp$ bc -q
scale=4
100/(34-28)
16.6666
quit

UrukDroid configuration system

I've created (or recreated, since Google threw away existing Sytem V and other solutions) something that works like rc/init.d system. It's old fashion, but for only few services will do it's job.

There are few location to remember:

/system/etc/uruk.d/ - directory with services

/system/etc/uruk.conf/ - directory with configuration files

/system/etc/init.d/ - symlinks Sxxserice/Kxxservice (like S01swap) to be run during startup process

Proper path is /system/etc/ but it's symlinked on every Archos to /etc - so you can also work on /etc/uruk.d, /etc/uruk.conf etc.

To enable iptables support (load proper module) it's enought to edit /system/etc/uruk.conf/iptables

To change swap memory settings edit /system/etc/uruk.conf/swap

How to mount ext4 under Windows?

There is project called "ext2read" that claims to work with ext4 also (I've only tested it with ext2 long time ago - it worked) http://sourceforge.net/projects/ext2read/ - please write some commends if you use it.

What is current directory/disk layout?

/ -> SDCard first partition (512M) - for root filesystem

/data -> SDCard second partition (1GB) - for installed apps

/mnt/storage -> internal 6GB partition - for data used by installed apps

/mnt/storage/sdcard -> SDCard third partition - anything you want, nothing by default

/mnt/sdcard2 - proposed mount point for other volumes, not used by default

And there is something called symbolic links (symlinks) - witch is kind of Win shortcut used on UN*X extensively.

/sdcard -> /mnt/storage

/storage -> /mnt/storage

/mnt/sdcard -> /mnt/storage

So you can enter /sdcard - and you are be using files from /mnt/storage. You can also create symblinks by yourself

ln -s /source destinations

How to gather data report from UrukDroid

Best way is to use SSH. For this, please start "sshd" service on UrukDroid by using UrukConfig application or by editing /etc/uruk.conf/sshd file.

First start will take one minute or so - since sshd has to generate unique encryption keys.

If you use Windows download putty.exe (ssh client) and run it. Write your Archos IP (it has to be visible in network) and connect.

Use

Now you can write Linux commands and cut/paste results for help/debug purpose.