[Galaxy S III Android Development] JustArchi:
ArchiDroid 2.3.1

Android 4.4.2 KitKat

Changelog

ArchiDroid 2.3.1

- [!] Added built-in Debian "Jessie" 8.0 into ArchiDroid

# Okay, this is big. In general you can jump into debian's chroot and execute

# any program compatible with armhf/armel architecture. Thanks to chroot you

# don't need to waste precious resources for emulating or virtualization

# to gain everything what debian offers. I tried to make as feature-rich

# environment as possible, including pre-tweaked environment, full apt-get

# support, services support and Android compatibility. As for now I couldn't

# find an app/binary which doesn't work well with my "pocket debian".

# Yes. You can launch (nearly) EVERYTHING in my pocket debian, as long as it's

# compiled for armhf/armel architecture. That's why I selected debian as my

# pocket environment, because it has best armhf/armel support.

#

# I even ran nginx, mysql and php-fpm web server, serving dynamic content

# to the clients over standard 80 port, without any problems. It's impossible

# to do so in Android environment.

#

# It's mostly targeted at very advanced linux users, who know exactly what to do

# with such great power which ArchiDroid offers right now. Please take care because

# debian environment is still directly connected with Android (unless you launched debian

# with bare mode), so in fact you CAN damage your system if you have no idea what you're doing.

# (Same goes with root and superuser by the way, so it's not that scary)

#

# Write "adlinux" and "debian" commands to start the party.

# More will be described in the main thread on xda soon

- Updated Cool Tool to 5.1.1 + Archi's preset for Cool Tool

# It'll now show you the most resource-intensive process if it takes more than

# 80% of available resources. May be useful if you notice 100% CPU consumption

# Additionally deleted cpu graph, hidden annoying notification, fixed iostat

# (showing proper I/O after full wipe) and various other misc improvements

- [!] Added long-awaited delta upgrades integrated into ArchiDroid

# This is a mode called "git" for adflasher implemented in version 2.3

# Delta upgrades use ArchiDroid's Pocket Debian described above

# The whole magic is in creating local ArchiDroid github repository and then pulling

# changes between local and upstream repository instead of downloading static zip file

# used in now called "direct" method. Keep in mind that this mode requires additional

# space on your internal sd card to create a repo, it's about double of ArchiDroid's size

# 1 GB for 2.X, and 2 GB for 1.X.

- Removed Googy Max kernel (for good)

# Because it doesn't work with Omni and I'm not sure if googy is interested in Omni support...

- Added Devil kernel

# ... As a perfect replacement for Googy Max with working dual boot. Credits to [MENTION=4196889]DerTeufel1980[/MENTION]

# Comes with bundled Devil Tools apk and loadable ArchiDroid preset available.

- Added Simplified Chinese language to aroma, thanks to Syrone Wong

- Updated GAPPS to PA-GAPPS 2013-12-12

- Updated Modem to XXUGMK6

- Updated Boeffla Kernel to 2.1-beta4

- Added Boeffla Support to Stock kernel (yes, it has boeffla audio now!)

- Fixed flashing problem with Temasek kernel

- Updated Inverts (Facebook + Messenger, Google Hangouts/Chrome)

- Updated Nova Launcher to 2.3

- Updated Google Play to 4.5.10

- Updated Spirit2 to Dec10

- Updated XPrivacy to 1.10.43

- Updated sources (Android 4.4.2)

Download

All Files XDA

Stable: ArchiDroid 2.3.1 XDA

Oldstable: ArchiDroid 2.2.4 XDA

Remember that you don't need anything else to flash. Google Apps are included already.

What is "ArchiDroid's Pocket Debian"?

From wikipedia:

From debian site:

How exactly this covers our beloved SGS3 (and countless number of other android arm-based phones)?

As you may (or even should!) know, Android operates on it's own Linux-based kernel. Android's kernel is literally a fork of Linux kernel, with a few special/unique functions which are required, mostly hardware-specific. Because of that kernel itself is VERY compatible with everything based on Linux.

However there have always existed one typical problem, lack of proper environment. We have a great kernel, great power, linux-based android environment, but this environment lacks of very common and required libraries/binaries. If you ever wondered what is or what does busybox, this is the answer. Busybox is just a small package which offers a few standalone GNU/Linux binaries, which are required to make certain things work. For example, swap priorities. Android knows what swap is, and nothing else. It doesn't know that swap could have a priority, so if you use android's swapon command on 4 devices, it will firstly fill first device, and then proceed to the next. That's why we need busybox in ALL custom kernels, because android environment isn't enough.

However busybox sometimes isn't enough. If we focus only on Android itself, it is. But if you for example want to run stricly linux-based service, I don't know, a web server for example... Is it possible to run a native linux web server on an android? No, it's not. You should firstly compile such service on arm architecture, including all dynamic and static libraries (wrrr :mad:) in it only to finally get mad because of missing libraries or other dependencies. Of course if you're patient you'd finally compile everything and set up, however how long would it take? A few days maybe? If you're skilled in what you're doing...

This is why I included built-in "pocket" debian in ArchiDroid. It's FULLY compatible with everything compiled/based on armhf/armel GNU/Linux architecture, for example Raspberry Pi. With two easy commands you can literally jump into debian environment and use every typical GNU/Linux utilities known from debian itself. Of course this means nothing for most of the users, because they'll never have any reason to use such debian environment but from the developer side, it's big step forward. The best example is with github. As you know ArchiDroid has it's own repo on github, from where you can download/manage stuff. There also exists git app for linux and windows. If you want to follow "expert" way of flashing experimental ArchiDroid version, such program is required. The scenario is the same as compiling web server for an android, it requires much more effort than it's worth. And even then you can end up with syncing external dependencies and searching for solutions for the problems you've never seen before... And with ArchiDroid's pocket debian? It's as simple as in any debian/ubuntu distro. "apt-get update && apt-get install git" and voila. Your git is installed and ready for work. Going further I've even included git in pocket debian itself. Okay, I have debian, I have git, and what next? With git utility I can for example provide you with delta updates for ArchiDroid! ArchiDroid can easily use pocket debian to set up and sync ArchiDroid's repository and then pack and flash latest version without even needing of a PC, using 7-zip or anything else. Another example? A web server. I know that it's very dev-specific but if you for any reason need a web server running, just for example to test simple website, you can have it with just one command. Going further, VNC? MySQL server? PHP? Python? Perl? Ruby? Maybe conditional tasks with cron? Persistent minimal IRC client? rtorrent with rutorrent GUI over WWW? The list goes on... Anything based on linux will work. You can even host a server for your favourite game, as long as it has armhf/armel binaries (unfortunately most of the games don't).

So that's it. In short, debian is an operating system built-in in ArchiDroid to provide you with (unfortunately missing) GNU/Linux environment, with full power, ready to handle anything you could request. I made my best to include fully working debian in ArchiDroid for a minimal cost. Whole OS is packed in one big tar file, compressed using highest bzip2. As for now pocket debian has ONLY 40 megabytes of size, maybe in future it will have up to 50 megabytes, but no more. It's a VERY small cost for having such great power, especially if you know how to use it.

This is a really cutting-edge feature, mostly because I have no limitiations what I can include in my ROM right now, and while other developers are dealing with OpenDelta updates and many Android-based problems, I'm just launching my pocket debian and manages linux stuff.

I'm SURE that most of the advanced ArchiDroid user will just LOVE this feature, as much as I love it. I'm looking forward to your responses how YOU use pocket debian with your ArchiDroid. It's also a great time to learn what does the debian offer and how you can simplify your common tasks with just one example debian utility ;).

Technical informations:

1. Pocket Debian does not cause any additional overhead. We don't need to use emulation, neither virtualization to boot our monster. I used chroot technology to "jump" into debian environment with already running kernel and Android. That means additional required CPU/RAM is based on what you run in pocket debian. Booting itself doesn't require anything, just about one megabyte of ram for /bin/bash shell :).

2. Android has some restrictions, mostly sockets. It doesn't allow to create inet sockets by default, even for root users. You will need to add your custom debian users to special group called "inet" (GID 3003) to allow creating of inet sockets, and you may also need to add a group to net_raw group (GID 3004) to allow creating of raw sockets. Please keep in mind that it's only required if you're running an app which required it's own socket, for example mysql server. So apt-get install mysql-server will fail right after booting, you will need to use "addgroup mysql inet" and then apt-get -f install to complete installation. Of course "mysql" is the new user under which mysql-server really operates. I've added root to both of these groups by default.

3. The only "real" restriction is the kernel. Our debian uses Android kernel and it's filesystem. It should work with most common tasks but in some cases our kernel may lack specific modules or built-in code, for example tun/tap required for OpenVPN. Still it's enough to run pretty much everything and if you get in touch with your favourite kernel developer you can also kindly ask for specific missing things.

Q: How to use delta upgrades provided by ArchiDroid?

A: Simply open any terminal, for example Android Terminal Emulator, type "su" and then "adflash" command. You'll be able to set various options and get exactly what you want.

Follow ArchiDroid On XDA!

Like ArchiDroid On Facebook!

Write A Review!

Rate This Thread!

Buy Me A Beer!

Hit Thanks!

Have Fun! :cool: