FORUMS
Remove All Ads from XDA

UrukDroid 1.6 (Android) on ext4, full r/w access, su (root), SDE

1,462 posts
Thanks Meter: 506
 
By $aur0n, Senior Member on 1st January 2011, 01:42 PM
Post Reply Email Thread


This is new Android distribution based on Linux, Android and Archos stock os, using SDE from Archos.

Features:
  • Easy install method for external (SDcard) and Internal storage
  • EXT4 (much faster than ext3, can store files >4GB comparing to FAT32)
  • Full read/write access to every part of system
  • root (su + superuser.apk) out of the box
  • new services like: samba, sshd, vpnc, openvpn, dvbt, nfs4
  • 3G/usb tether support
  • Possibility to remove some google/Archos apps
  • Swap memory in RAM (CompCache) or on disk by default or when you need it
  • No 300MB limit for apps (and no faulty app2sd required)
  • You can have SD card Class 8/10 - that can be much faster than internal flash (check this thread)
  • Many new new kernel modules (usbserial, ntfs, 3G modems, nfs4, cifs, hfs, iptables etc.)
  • DVB-T support for selected tuners
  • updated modules, firmware (like WiFi)
  • User friendly UrukConfig application
  • ... and much, much more - to much to mention all here - please read changelog

Since 1.0 release main documentation source for UrukDroid is on it's WiKi. Please use it as a first and primary information source for UD.

Link to project (googlecode) page is: http://code.google.com/p/urukdroid

Update (10.09.2015)
Since code.google.com is no longer working (read only for limited time) - here are working links to latest (and final) release of UrukDroid: Dropbox,

I hope that new, much more detailed and complete documentation will help you use UrukDroid at it's full potential.
The Following 99 Users Say Thank You to $aur0n For This Useful Post: [ View ] Gift $aur0n Ad-Free
 
 
1st January 2011, 01:43 PM |#2  
$aur0n's Avatar
OP Senior Member
Thanks Meter: 506
 
Donate to Me
More
Changelog, proposed futures
Changelog:

UrukDroid 1.6 (02.01.2012) "DOV FUS LOS Wahl ko Daar Sivaas!"
  • [CHANGE] Incorporated changes from Archos firmware 2.4.19, 2.4.65, 2.4.80 and 2.4.81
  • [CHANGE] Updated superuser apk and binaries
  • [FIX] Fixed some library linking
  • [NEW] Changed top bar button size to 32px permanently
  • [NEW] New overclock module from milestone-overclock to change CPU voltage and max frequencies on the fly
  • [CHANGE] Added overclock support to CPUGovernor service
  • [FIX] Restored proper busybox binary
  • [NEW] New patches on kernel from December update from Archos git
  • [NEW] Full iptables support (with NAT, conntrack etc) - so everything is now possible (redirect, proxies etc)
  • [NEW] Full kernel timing for power consumption monitoring
  • [NEW] Recompiled WiFi? and HDMI drivers
  • [NEW] Added python 2.7, iotop (for watching i/o operations), PowerTOP (for power consumption monitoring - but it's not as useful as on x86)
  • [NEW] Added ntfs-3g support - full read/write support for NTFS file systems (need to be used manually, vold does not use it)
  • [CHANGE] Added UrukDroid? Rescue Menu - Repair submenu with disabling overclocking (for those who made their device unbootable with overclocking) and Dalvik cache cleaner
  • [NEW] New feature in cpugovernor script (genconf, current)
  • [CHANGE] New features in update subsystem
    scripts now tries to keep /data/.tmp directory cleaner,
    for those with disk shortage /data/.tmp can be now symlink to directory on sdcard
    updater now checks if you have enough free space in /data/.tmp before it begin installation
    update process now can be during bootup (better one) if you have enough free space on rootfs, or on running system (not so nice - this is default behavior until UD 1.6 release)
  • [CHANGE] restoring backup in Rescue Menu now erases partition before restore (until now it was just overwriting)
  • [FIX] added (again ) xbox pad kernel support (was missed out in new kernel compilation)
  • [FIX] fixes scp/sftp-server (on some configuration refused to start child processes)

UrukDroid 1.5 (16.0.2011) Manamana!
  • [CHANGE] Since UrukDroid? 1.1 (both beta1/2/3 and release candidate 1/2/3) had stability and compatibility issues - that I was unable to trace down (too many changes on changes etc.) - I've decided to implement all stuff from beginning on fresh OS. Since all "reverse engineering" stuff was already made and I already have required knowledge - It should be the fastest method. So entire system is cleaned up, updated to latest binaries - and so far looks good . That's why I've bumped version to 1.5 - just to make it a bit more visible it's not a straight continuation of 1.0/1.1.
  • [FIX] No more "soft reboots" (system reloaded it's graphics UI part)
  • [FIX] No more turning off WiFi issue (but it happens that WiFi can't pop in after full reboot - another reboot is required)
  • [FIX] CIFS startup on boot (Issue 57)
  • [CHANGE] Update process should be now more chatty and report more errors
  • [CHANGE] Reverted back WPA service (which enable UrukDroid? WPA supplicant with AdHoc? support) - since some people reported problems with adding new networks with Uruk version of WPA supplicant.
  • [CHANGE] Merged changes from Archos 2.3.28 OS
  • [NEW] New wpa_supplicant - hopefully with all features and without most of known problems (sometimes it still refuses to start)
  • [CHANGE] Updated modules and kernel
  • [FIX] Fix camera support for A43
  • [CHANGE] Merged changes from Archos 2.3.26 OS
  • [CHANGE] Redesigned services to output more reliable status
  • [FIX] Mediascanner fixes (did not rescan data sometimes)
  • [NEW] Introduced in 1.0 "Rescue Menu" now fully functional (RM)
  • [NEW] RescueMenu now have Alternative OS? boot feature
  • [NEW] RescueMenu now have "bare metal" backup/restore functionality
  • [NEW] Update process will now communicate with user with help of UrukConfig
  • [NEW] Enabled cgroups
  • [FIX] "Moved" boot image on A101
  • [FIX] 3Gmodem_init.sh fixes
  • [NEW] You can dissable boot from SDCard by naming any of it's partition "noboot" ('root@urukdroid:/root# e2label /dev/block/mmcblk2p1 noboot')
  • [NEW] patch (by Sibere) increasing USB current in Host mode
  • [NEW] New default apps in UrukDroid 1.5: WiFi Manager, FileExpert, QuickPic, Opera browser

UrukDroid 1.0 (30.04.2011)
  • [FIX] sshfs missing files fix
  • [FIX] EasyInstall: changed datafs max size from 2GB to 1.95GB (for market to work), fixed partition sizes for A101 16GB when doing internal install with resize, fixed installation for A70H devices
  • [NEW] small script to copy UrukDroid files from SDCard (external) to Internall (copy_from_sd_to_internal.sh)
  • [CHANGE] Changed behaviour of dvb service (device configuration)
  • [FIX] Added some missing modules for DVB support
  • [CHANGE] New kernel modules for more dvb devices (but it requires manual loading and testing)
  • [NEW] rsync tool
  • [CHANGE] swap service now can work on swap partition (or like before on swap file), also after mounting sdcard ext4 partition
  • [NEW] Ad-Hoc WiFi connection support by default (networks are visible with "*" on beginning of it's SSID)
  • [CHANGE] Some new progress indicators during install/upgrade
  • [NEW] Simple Animation during late phase of bootup
  • [NEW] New service: cifs (to load cifs modules)
  • [NEW] Added cgroups kernel setting
  • [NEW] Moved some modules dependencies (cifs,ntfs,dvb) to /etc/modprobe.d

UrukDroid 0.7 (28.02.2011) you're´╗┐ damn right it's a gift!!
  • [NEW] NFSv4 client support
  • [NEW] FS-Cache (cachefilesd) support for NFS (local disk cache for NFS files)
  • [NEW] sshfs support
  • [FIX] OpenVPN fix - thanks to nenadr
  • [FIX] PPtP fix - thanks to nenadr
  • [NEW] vpnc tool for using Cisco VPN connections
  • [NEW] vpnc UrukDroid service
  • [CHANGE] Updated to libc6 2.11 (and all binaries recompiled/changed because of it - big change)
  • [NEW] new gnu tools: nmap
  • [NEW] EasyInstall now allows installing UrukDroid on internal (mmcblk1) storage in A70 and A101
  • [NEW] Integrated 3G USB modem and RNDIS USB tethering service by nenadr
  • [CHANGE] New iobench.sh (with new bonnie++ test)
  • [CHANGE] Changed device fingerprint to work better with google market (enable download some missing apps)
  • [CHANGE] Merged Archos 2.1.8 firmware changes
  • [CHANGE] Changed DVB subsystem support and kernel/modules dependencies to work with new v4l2 modules (it will brake compatibility with most other kernels probably)
  • [FIX] Changes it UrukUpdate mechanism to work every time when file is moved to "/data/UrukUpdate"
  • [NEW] Added required modules and iptables service configuration for DroidWall (firewall) application
  • [NEW] sudo subsystem for launching properly some root tasks

UrukDroid 0.6 (11.02.2011) Eye of the Uruk... in new logo
  • [CHANGE] Merged changes from Archos firmware 2.1.2/2.1.3/2.1.4
  • [CHANGE] DVB support with LiveTV.apk from chulri (for selected cards, there are more modules then listed in /etc/uruk.conf/dvb - but it requires to do some experiment and report it back)
  • [CHANGE] Changed Uruk service to work better with new UrukConfig
  • [NEW] New services: openvpn, mediascanner
  • [NEW] IO Benchmark tool: iobench.sh
  • [NEW] Possibility to turn off mediascanner and use it on demand only
  • [FIX] Fixed mount_sdcard.sh script to work with 2.1.2 ext3 partitions
  • [NEW] Updated boot sequence with progress during upgrade/install
  • [NEW] You can hide soft buttons (Archos buttons) with UrukConfig
  • [NEW] Easy Install method - no need to know anything about Linux - just plug and wait...
  • [NEW] Kernel modules for 3g dongle

UrukDroid 0.5 (27.01.2011) Tom Bombadil... in red
  • [NEW] CompCache (aka ramzswap) support
  • [NEW] New CPU governor - interactive. Ported from XDA CyanogenMOD
  • [NEW] DVB: applied patches by chulri, Siano SMS1XXX USB support
  • [NEW] DVB: modules from outside kernel tree
  • [NEW] Some more GNU tools: gzip utils, zip utils, unzip utils, nc (NetCut for DVB streaming)
  • [CHANGE] New services model - so they can be easily run/configured with help of UI
  • [NEW] New kernel modules: usbnet, lzo
  • [NEW] Mediascanner modification - it should has much, much smaller impact on system performance
  • [NEW] sqlite3 (3.5.9) installed, for easy database file manipulation
  • [NEW] after restart of UrukDroid it will boot once again to Uruk without need of pressing any buttons, to boot on stock OS please use boot menu
  • [FIX] mount_sdcard.sh fixed so it will mount first ext4 partition on sdcard if exist, and will not interfere with Vold if its vfat
  • [CHANGE] New update/upgrade/flash model - everything done on UrukDroid - no boot menu required
  • [NEW] New application to configure UrukDroid - UrukConfig.apk. Installed with this release. Can be uninstalled in default way.
  • [FIX] Fixed corrupted logo in A101
  • [NEW] Unified kernel for UrukDroid on SDCard and internal storage (A70S/A101)
  • [CHANGE] Services ENABLED with this release: CpuGovernor, CompCache

UrukDroid 0.4.2 (21.01.2011)
  • Just extracted as a separate update file GoogleMarket

UrukDroid 0.4.1 (15.01.2011) Myyy preciousssss...
  • Some more tools like: bc, proc utils, vim, tcpdump, bzip2, tar etc.
  • Android apps (Market, Maps, Talk, Calendar, Contact, Feedback, Locator, Updater) by default
  • Samba (3.2.5) support for sharing /mnt/storage (internal and sdcard storage) from Archos
  • Dropbear SSH server
  • Backported modprobe, depmod etc. tools for modules management
  • WiFI driver recompiled, WiFi HW firmware update (from 6.1.0.0.335 to 6.1.5.44.7)
  • Initial DVB-T support (Afatech AF9005, Afatech AF9015, DiBcom DiB0700, Terratec CinergyT2/qanu)
  • Bootlogo with progress steps
  • Cleanups of initramfs and rootfs
  • EXT4 drivers backported from 2.6.30 - some mount changes (to prevent config files corruption)
  • Initial A70H support
  • SDCard/HD layout changed
  • Autoupgrade service and installation helper
  • ADB fixes
  • Removed two apps. TelephonyProvider.apk, Phone.apk
  • Since 0.4 all services are DISABLED by default, to enable it edit proper config file in /etc/uruk.conf/

UrukDroid 0.3 (9.01.2011) Rise my Uruk... not yet Hai :P
  • iptables, ntfs support
  • some more USB modules: usbserial, pl2303
  • fixed bluetooth problem (not working in Uruk 0.2)
  • automounting improvements (much more bulletproof)
  • new configuration files (/etc/uruk.conf/) to enable/disable features
  • new Uruk services (/etc/uruk.d/)
  • some more GNU utils openssh-client, coreutils
  • USB charging enabled (NOT tested!!!) - It would required much more power then standard USB in PC can give, use USB wall/car charges or double/triple USB cables

UrukDroid 0.2 (5.01.2011) Go GNU release
  • "smart" automounting script (that will mount ext4/vfat third partition from sdcard in RIGHT place, AFTER internal storage is mount)
  • plenty of useful GNU tools: whole e2fstools (mkfs, fsck for ext2/ext3/ext4), parted (for partition resize, format etc.), vfat tools, new toolbox, mtr, top, strace, bash - and much more (look in /usr/local/bin and /usr/local/sbin)
  • swap memory ON by default (50MIB file /swap01.file)
  • required compiled libraries libparted, libncurses, libe2fs... etc. (look in /usr/local/lib)
  • new text editor in text mode: nano (my favourite)
  • some init.rc cleanups
  • kernel changes (mostly toward console output)
  • fixed small (but problematic) misconfiguration in Archos (yep original one) Android in linking /etc/mtab

UrukDroid 0.1 (30.12.2010) Initial "release"
  • recompiled kernel with ext4, nfs4, fb console
  • added su and superuser.apk
  • bootup changes (to make it work)

Features planed in next releases:
  • backup scripts
  • proxy settings
  • CynanogenMOD parts backported
  • OC/UC kernel be default
The Following 22 Users Say Thank You to $aur0n For This Useful Post: [ View ] Gift $aur0n Ad-Free
1st January 2011, 01:43 PM |#3  
$aur0n's Avatar
OP Senior Member
Thanks Meter: 506
 
Donate to Me
More
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)
Code:
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

Code:
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
Code:
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
Quote:

Login: root
Password: UrukDroid

Now you can write Linux commands and cut/paste results for help/debug purpose.
The Following 10 Users Say Thank You to $aur0n For This Useful Post: [ View ] Gift $aur0n Ad-Free
1st January 2011, 03:31 PM |#4  
strongergravity's Avatar
Senior Member
Flag Earth...for now...
Thanks Meter: 67
 
More
Thanks!
I think you talked me into it! I'll play with it tomorrow.
1st January 2011, 07:04 PM |#5  
Junior Member
Flag Katowice
Thanks Meter: 6
 
More
I've found this on Nook Color thread http://forum.xda-developers.com/showthread.php?t=888216

Can someone test is it worth to do on Archos? I think we don't need phone service running in background. Ill try this tomorrow when i get back to home but maybe someone can test earlier?
1st January 2011, 10:37 PM |#6  
nimrodity's Avatar
Senior Member
Thanks Meter: 1,195
 
Donate to Me
More
sorry for asking,but what is the point in doing step 3,i mean what does it actually do?
1st January 2011, 11:09 PM |#7  
$aur0n's Avatar
OP Senior Member
Thanks Meter: 506
 
Donate to Me
More
This is backup of install instruction, leaving more space for custom approach. Instruction in first post is now much simpler with less 'if/or'.

Material for this thread came from discussion here. So please be kind read also this thread before getting to work

This is mini how-to boot modified Archos Android from SD card, using SDE. It's base on 2.0.71.


Since this Android mod/distribution required some name - let it be Uruk-Droid

Why bother:
  • ext4 (much faster than ext3, can store files >4GB comparing to FAT32)
  • full r/w access to every part of system
  • root (su + superuser.apk) out of the box
  • possibility to remove some google/Archos apps (already done partly)
  • swap memory when you need it
  • no 300MB limit for apps (and no faulty app2sd required)
  • you can have SD card Class 8/10 - and that's much faster storage than internal flash (inside is something equal class 6 or 4)

Warning
  • Be aware that this modification requires SDE and probably some Linux knowledge.
  • By doing described below steps you probably can't brick your Archos - but do it on your own risk.
  • Root access on your devices makes it less secure form malicious software (user more head - less fingers )

Known problems:
  • Android automounter (vold) does not recognize EXT4 in stock firmware - so it will claim SD card is damaged (it's just a message) (FIXED)

Before you start:
  • Read about SDE on forum
  • Install some terminal emulator from Market (eg. "Android Terminal Emulator")
  • You should have 2.0.71 already installed (I'm not sure if it's required but only with that configuration tested)
  • All operations described here, done on Linux or Android should be done from root user (you can switch to that user in terminal by typing "su" or "sudo su" command)
  • If you don't have Linux - find any recent Rescue CD, Live CD or Virtual disk (VirtualBox or VMware) - distributions does not matter

SD card partition design
First of all, preferably buy card class 6+. So it won't be slower than internal storage
I'm currently using 3 partitions
0,5GB / (rootfs)
1GB /data
rest /mnt/storage/sdcard/

but You can create one big partition instead - I've made my configuration because of easiness to backup and upgrade (rootfs is easy to upgrade later on, /data has only runtime data and application, rest is for movies etc.) Size of /data partition determines how many apps you can install on your device.

Here it's how it looks on fdisk
Code:
linux-machine:~# fdisk -l /dev/sdb

Disk /dev/sdb: 16.0 GB, 16012804096 bytes
199 heads, 44 sectors/track, 3571 cylinders
Units = cylinders of 8756 * 512 = 4483072 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         121      529716   83  Linux
/dev/sdb2             122         362     1055098   83  Linux
/dev/sdb3             363        3571    14049002   83  Linux
Step one
Create at least one primary partition on SD card with fdisk, gparted, parted or any other partitioning tool. Assuming your SDCARD is visible as /dev/sdb (on Linux box - check "dmesg").
Code:
su (go root)
fdisk /dev/sdb
fdisk options (it's interactive):
  • p (print existing partitions)
  • d n (delete partition by it's number 1,2,3 etc)
  • n (create partition, you will be asked about type (primary, secondary - go primary), number (give first available), start sector (just enter will set first possible), size (you can give it as +1M, +2G etc)
  • w (write all changes, until you give this command no changes are made on disk physically)

Format partitions as EXT4 - but without huge_file option (it won't work with this feature since it requires special kernel option that brakes compatibility with existing modules).

Code:
su (go root)
mkfs.ext4 -O ^huge_file /dev/sdb1
If you created more partitions - do those steps for everyone.
Code:
mkfs.ext4 -O ^huge_file /dev/sdb2
mkfs.ext4 -O ^huge_file /dev/sdb3
Kind of "session log" for this steps you can find in this post.

Step two
Extract content of rootfs.tar.gz onto first partition on SD card (it HAS to be first one). Do it from root account on Linux/UNI*X box - or you won't transfer all permissions properly (mainly +s on su/superuser.apk).
  • assuming your SD Card is visible under Linux as /dev/sdb (you can check it by typing "dmesg" after you connect it)
  • open terminal/shell - go root: su, or sudo su
  • create mount point: mkdir /tmp/sdcard
  • mount it (if it's not mounted already) for example: mount /dev/sdb1 /tmp/sdcard
  • go to /tmp/sdcard directory: cd /tmp/sdcard
  • extract rootfs: tar -zxf /path_to_file/rootfs.tar.gz
  • exit directory: cd
  • umount your card: umount /tmp/sdcard

Flash initramfs.gz and zImage from SDE boot menu:
  • reboot Archos70, hold up or down volume key until you see Recovery menu,
  • choose "Recovery System"->"Developer Edition Menu"->"Flash Kernel and Initramfs",
  • connect Archos to PC and copy initramfs.gz and zImage to device

Reboot and hold up or down volume, choose "Developer Edition".

You should see all yours apps etc. - it should look like your Archos , but with su/superuser.apk etc. (check it on terminal emulator by typing "su" and enter).

Before go to next step make sure you have booted to SDE system AND it has root access! (check "su" in terminal, run root explorer or titanium backup)

Step three
It's kind of optional - since you have already working system - but it's not fun yet
Now you should copy /data files onto SD card. Use terminal emulator (from market can be "Android Terminal Emulator") or sshd (QuickSSHd and log into your tablet) and do:
If you have ONE partition
Code:
su
cp -rp /data/* /data.new/
If two or more
Code:
su
mount -t ext4 /dev/block/mmcblk2p2 /data.new
cp -rp /data/* /data.new/
umount /data.new/
Poweroff device.

Step four
Put card into computer and:
one partion
  • remove /data
  • rename /data.new to /data
On Linux it may look like this:
Code:
su (or sometimes "sudo su")
mkdir /tmp/sdcard
mount /dev/sdb1 /tmp/sdcard
cd /tmp/sdcard
rm -rf data
mv data.new data
edit /init.rc (it's /init.rc on Android - on Linux box it's going to be something like /tmp/sdcard/init.rc) - use any editor to modify file - do it as a root!
Code:
su
vi /tmp/sdcard/init.rc (edit the file)
umount /tmp/sdcard/
What to edit:
Code:
# Comment this
#    mount ext3 /dev/block/mmcblk0p4 /data noatime nosuid
# Uncomment this
#    mount ext4 /dev/block/mmcblk2p2 /data noatime
    mount ext3 /dev/block/mmcblk0p4 /data.old noatime nosuid
two or more partitions

edit /init.rc (it's /init.rc on Android - on Linux box it's going to be something like /tmp/sdcard/init.rc) - use any editor to modify file - do it as a root!
Code:
su (or sometimes "sudo su")
mkdir /tmp/sdcard
mount /dev/sdb1 /tmp/sdcard
cd /tmp/sdcard
vi init.rc (edit file)
umount /tmp/sdcard
What to edit:
Code:
# Comment this
#    mount ext3 /dev/block/mmcblk0p4 /data noatime nosuid
# Uncomment this
    mount ext4 /dev/block/mmcblk2p2 /data noatime
    mount ext3 /dev/block/mmcblk0p4 /data.old noatime nosuid
If you have third partition on SDCARD, whether it's EXT4 (recommended) or FAT32 it should by automounted since 0.2 version.

Reboot - it should work

End

Stuff you can do later:
Vold - automount daemon on android is quit.... crappy - to let go message about "sd card damaged" edit /etc/vold.fstab and hash the line "dev_mount_lun volume_sdcard /mnt/storage/sdcard...."

Other partitions - if, by any reason, you have more partition on SD card (more then 3) you can also mount it putting in init.rc (there are some potential issues with vold to be solved)

for ext4
Code:
mount ext4 /dev/block/mmcblk2p5 /mnt/sdcard2 noatime nosuid
For fat32 partition preferably tweak with Vold config (/etc/vold.fstab) - or add something like this (in init.rc)
Code:
mount vfat /dev/block/mmcblk2p3 /mnt/sdcard2 uid=1000 gid=1015 fmask=0000 dmask=0000
Files (UrukDroid-0.3):
Megaupload.com
initramfs.cpio.gz
zImage
rootfs.tar.gz
Dropbox.com (there can be server error because of download limit)
http://dl.dropbox.com/u/1017593/Arch.../rootfs.tar.gz
http://dl.dropbox.com/u/1017593/Arch...tramfs.cpio.gz
http://dl.dropbox.com/u/1017593/Arch...oid-0.3/zImage
The Following 4 Users Say Thank You to $aur0n For This Useful Post: [ View ] Gift $aur0n Ad-Free
1st January 2011, 11:10 PM |#8  
Member
Thanks Meter: 5
 
More
Nm you said it's faster, interesting... I may test that out.
1st January 2011, 11:19 PM |#9  
Senior Member
Thanks Meter: 197
 
More
IMHO you should point out that it is a great security risk for having access to root without any password.
BTW this comment is not meant to insult you in anyway, but I think it is only fair to people that will use it and to cover your own ass.

Maurice
1st January 2011, 11:24 PM |#10  
Senior Member
Thanks Meter: 7
 
More
Does this require a clean system to do the SDE Root? what happens to everything already installed etc.
1st January 2011, 11:25 PM |#11  
$aur0n's Avatar
OP Senior Member
Thanks Meter: 506
 
Donate to Me
More
Quote:
Originally Posted by MoonPhantasm

Nm you said it's faster, interesting... I may test that out.

There was already link to my write speed tests (now I've pasted it to second post) - read speed is about the same. In quadrant I have something about ~2300 (one of quadrants test is I/O benchmark) - but that's not my goal - so I don't care much about that kind of speed.
Post Reply Subscribe to Thread

Tags
archos, ext4, gen8, root, urukdroid

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes