[EOL] [ROM] [5.1.1] [CyanogenMod] [GCC 4.9] [Excellent] [15/11/15] ArchiDroid V3.1.5

Search This thread

kjinx01

Senior Member
Jun 16, 2014
374
150
for the first time gonna be on justarchi build as it has most number of positive review....hoping for excellent results as mentioned in op..Happy flashing to all...
 
  • Like
Reactions: manoj36

babyyeobo14

Senior Member
Oct 5, 2012
1,060
141
Philippines
How did you fix the GAPPS crash problem? Do you play GTA san andreas on 4.4.4?

by doing this..
use the terminal emulator and enter the code as follows
you wont get any errors after that

1. Launch Terminal
2. Type su and press Enter
3. Give root rights
4. Paste this text:

pm disable com.google.android.gms/com.google.android.gms.droidguard.DroidGuardService

5. Press Enter
6. Crashing must stop

i dont have any games on my phone except Clash Of Clans :D

Sent from my C1905 using xda premium
 

Nicklas Van Dam

Senior Member
Dec 14, 2013
2,829
1,381
25
Tangerang
github.com
i already tried it. and same with other 5.1.1 i feel laggy .. but here in 4.4.4 very smooth and no lag. everytime i quit some game then go to app drawer. it loads atleast 3-5 secs . compare to 4.4.4 1-2secs :)

Sent from my C1905 using xda premium
Not much laggy for me :), okay thanks for your answer. But this ROM is better than another AOSP ROM I think, and this can be comparison too from old version with new version of ArchiDroid

Sent from my C1905 using Tapatalk
 

Damian11131

Member
Jan 23, 2015
37
4
23
Wroclaw
by doing this..
use the terminal emulator and enter the code as follows
you wont get any errors after that

1. Launch Terminal
2. Type su and press Enter
3. Give root rights
4. Paste this text:

pm disable com.google.android.gms/com.google.android.gms.droidguard.DroidGuardService

5. Press Enter
6. Crashing must stop

i dont have any games on my phone except Clash Of Clans :D

Sent from my C1905 using xda premium
I tried this method and tried flash other gapps package and had no effect :(
 

manoj36

Senior Member
Mar 30, 2014
418
53
30
banglore
Twice I clean flashed the ROM but still getting mobile data bug.. Any solution
 

Attachments

  • 1439436209245.jpg
    1439436209245.jpg
    33 KB · Views: 232

Top Liked Posts

  • There are no posts matching your filters.
  • 108
    nMl9qyT.png

    Clean | Stable | Flexible | Optimized | Excellent

    X61jzbN.png
    U6sT95o.png


    nryNTgG.png





    Changelog

    ArchiDroid 3.1.5
    - Newest ArchiKernel snapshot
    - Updated GAPPS, sources and other common things

    ArchiDroid 3.1.4
    - Newest ArchiKernel snapshot
    - Updated GAPPS, sources and other common things

    ArchiDroid 3.1.3
    - [i9300] Changed malloc implementation to dlmalloc
    - Implemented dex-preoptimization for ART
    - Removed xposed due to incompatibility with dex-preoptimized ART
    - Newest ArchiKernel snapshot
    - [nicki] AK: Added mpdecision switch to Synapse
    - [nicki] Added optional dual-sim patch to AROMA
    - Updated GAPPS, sources and other common things

    ArchiDroid 3.1.2
    - Switched arm-linux-androideabi toolchain back to SaberMod
    - Fixed wrong auto-vectorization of ID3 iterator causing various media crashes with badly-tagged MP3s
    - Newest ArchiKernel snapshot
    - Updated GAPPS
    - Updated Xposed
    - Other misc changes and bugfixes

    ArchiDroid 3.1.1
    - ArchiDroid Optimizations V4.1
    - ArchiDroid is now built with UBERTC 4.9 androideabi (instead of SaberMod 4.9) and 5.2 ArchiToolchain eabi (instead of 5.1)
    - Newest ArchiKernel snapshot
    - Updated GAPPS
    - Updated Xposed
    - Other misc changes and bugfixes


    ArchiDroid 3.1

    - Initial release



    Important notes

    - YOU DIRTY FLASH AT YOUR OWN RISK.
    - FULL WIPE IS ALWAYS SUGGESTED WHEN FLASHING NEW VERSION.
    - DON'T EXPECT A BUGLESS EXPERIENCE IF YOU DIRTY FLASH OR USE TITANIUM BACKUP.

    ArchiDroid 3.1 is major new release based on CyanogenMod 12.1 (Android 5.1.1 Lollipop). There are too many changes compared to previous release of AD 3.0.X, so you should treat this version as totally new ROM. Here you can find some important notes to make update easier, and to avoid some possible issues:

    - The only two kernels supported by AD are stock one, and ArchiKernel. AK is suggested one by me, as it already includes all major improvements I wanted to add, such as OC or deep AD optimizations. I DO NOT RECOMMEND FLASHING ANY OTHER CUSTOM KERNELS. Only AK uses my own AnyKernel method which guarantees 100% compatibility with the ROM, if you're using any other kernel you're doing it at your own risk, and it's nearly guaranteed to cause very deep incompatibility issues, which will hurt overall system stability.
    - If coming from AD 3.0.X or any other ROM, regardless what it is, you should make full wipe. ArchiDroid is smart enough to detect itself during install and offer you an update, but this option should not be used with major release such as this one. Full wipe in necessary.
    - It also means that you should AVOID restoring old, incompatible data with apps such as Titanium Backup. Full wipe means full wipe, not half wipe and restoring data later. Of course, it's up to you if you want to follow my suggestions or not, but do not expect that you'll have bugfree experience otherwise.
    - You should update your recovery prior to flashing, again, regardless of what recovery you have now. The best way is to do so right from ArchiDroid ZIP, as AD offers updating recovery prior to flashing the rest, from AROMA. On the preset screen you can choose "Recovery", which will flash stock kernel + recovery combo (TWRP self-compiled by me). Then reboot recovery and flash the rest. All other recoveries, including other/older TWRPs are unsupported and you're using them at your own risk.
    - While not mandatory, I suggest also a wipe of whole internal SD card (/data and /data/media), as this will make sure than no junk is left. If you don't want to do so, at least make sure to remove /data/media/0/ArchiDroid folder prior to flashing, even if you have experimental AD 3.1 already. I do not track all regressions and doing so will make sure that backend works in intended way. A best way to do so is to update your recovery first, then through TWRP file manager navigate to /data/media/0 and remove whole ArchiDroid folder.
    - AD already has built-in GAPPS, provided by OpenGApps project. Flashing other GAPPS is not recommended, but if you know what you're doing you can still untick all Google Apps offered in AROMA (Whole GAPPS category including core gapps + also google launcher and google keyboard) and install your own GAPPS package after AD installation. Although, as I said, I suggest to stick with AD gapps, as they're proven to be working well, and they're tested by me and other experimental users.

    TL;DR
    - Use only ArchiKernel or Stock kernel included in AROMA
    - Make full wipe
    - Update recovery prior to flashing
    - Wipe internal storage, or at least remove /data/media/0/ArchiDroid
    - Flash AD
    - Do not restore old data through titanium backup
    - Enjoy your fresh ArchiDroid experience



    Download
    All Files XDA

    Stable: ArchiDroid 3.1.5 GitHub | XDA Direct | XDA Torrent
    Oldstable: ArchiDroid 3.0.1.1 GitHub | XDA Direct | XDA Torrent
    Remember that you don't need anything else to flash. Google Apps are included already.



    Known Issues

    All known and unknown CyanogenMod bugs (if any)


    Follow ArchiDroid On XDA!

    Like ArchiDroid On Facebook!

    Write A Review!

    Rate This Thread!

    Buy Me A Beer!

    Hit Thanks!
    NIAIPTe.png


    XDA:DevDB Information
    [EOL] [ROM] [5.1.1] [CyanogenMod] [GCC 4.9] [Excellent] [15/11/15] ArchiDroid V3.1.5, ROM for the Sony Xperia M

    Contributors
    JustArchi
    Source Code: https://github.com/ArchiDroid/ArchiDroid/tree/nicki-cm-stable

    ROM OS Version: 5.1.x Lollipop
    ROM Kernel: Linux 3.4.x
    Based On: CyanogenMod

    Version Information
    Status: Stable

    Created 2014-07-06
    Last Updated 2020-09-13
    34
    Reserved

    [SIZE="+3"]ArchiDroid's FAQ / Q&A[/SIZE]​
    [SIZE="+1"]Please use above thread for information purpose only as it covers Samsung Galaxy S3 i9300[/SIZE]​


    [SIZE="+1"]Features / Why ArchiDroid?[/SIZE]
    First of all, ArchiDroid includes everything available in it's base. The whole point of ArchiDroid is to improve the base, without needing of making any trade-offs, so by flashing ArchiDroid, you're getting everything offered by the base itself. There's nothing to lose, everything to gain.

    You can read detailed information about every ArchiDroid component here. It's a massive wall of text, so I'm only going to list the core features without describing them.
    These were written from scratch, they're completely unique and you won't find exactly the same implementation in any other ROM.

    ArchiDroid-Unique features:
    - ArchiDroid's AROMA Installer
    - ArchiDroid's Pocket Debian
    - ArchiDroid's Flasher
    - ArchiDroid's RunOnce
    - ArchiDroid's Init
    - ArchiDroid's Backend Control
    - ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
    - ArchiDroid's Fast Random Number Generator (Frandom)
    - ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
    - ArchiDroid's Forced Update


    Apart from that, here, on the credits page, you can find all third-party projects, which have been implemented into ArchiDroid. In addition to that, it's up to YOU to decide if you want to install something, or not.

    ArchiDroid focuses on flexibility and user choice.
    If you're looking for fastest ROM, choose ArchiDroid.
    If you're looking for most battery-saving ROM, choose ArchiDroid
    If you're looking for cutting-edge functions, choose ArchiDroid
    If you're looking for the most flexible rom ever created, definitely choose ArchiDroid

    ArchiDroid adjusts to your needs. You can make it whatever you want. With bunch of presets, modes and questions, you can make your ArchiDroid behave. Check yourself why ArchiDroid is The TOP 1 ROM for Galaxy S3http://xdaforums.com/galaxy-s3#romList, according to number of followers, rates, reviews and downloads count. Check the Reviews, take a look at Video Reviews, do whatever you want to, ArchiDroid is proven to be one of the best ROMs for Galaxy S3, ever created, and now strikes directly at Xperia M.

    Try ArchiDroid once, and you'll never look back. I can assure you.


    Disclaimer
    ARCHIDROID SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES THAT IT IS FREE OF DEFECTS, VIRUS FREE, ABLE TO OPERATE ON AN UNINTERRUPTED BASIS, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
    Your warranty is now void.

    I am not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed. Please do some research if you have any concerns about features included in this ROM before flashing it! YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.

    Developer's Kitchen
    Unless stated otherwise, all ArchiDroid components are licensed under the Apache License:
    Code:
    Copyright 2014 JustArchi@JustArchi.net
    
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    
        http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

    Especially:
    4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:

    You must give any other recipients of the Work or Derivative Works a copy of this License; and
    You must cause any modified files to carry prominent notices stating that You changed the files; and
    You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
    If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

    You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.

    ArchiDroid is one of the most complex ROMs ever created. When you start digging in my work, you can very easily get lost. And I'm not talking about base itself, but about everything next to it. You can use every part of my work, as long as:
    1. You include proper credit where you should. This usually includes proper comment in a script/file and in the credits of the project, including license (if needed)
    2. You let me know about this fact. Through PM on xda or e-mail

    I'm always happy to help, especially with the problems I faced in the past. However I also want to be respected, considering that most of the ArchiDroid parts were written from scratch.



    Know Your ArchiDroid

    ArchiDroid is not only a rom. It's not only a baked android with third-party apps, modifications and tweaks. ArchiDroid is an universal backend which improves rom by many built-in functions.
    Let me tell you a story. During developing first version of ArchiDroid 2.0 I experienced many problems, which were not that easy to solve. First of all - apps data. Trust me or not but you can't simply extract data, put it in /data/data after install and hope that it works. Android will detect such injection, report inconsistent of data and wipe everything attached to that. Okay so... How I should provide you with my boeffla preset? CoolTool settings? STweaks profile? If I put my data during flashing it'll get wiped. If I put my data and deny wiping it then Android will report inconsistent of data to user and work unstable. Yes guys, it's impossible to do so without a trick or without recompiling whole rom.

    I won't tell you a whole story, because you probably don't want to hear about ArchiDroid development. I'll simply tell you that I overcome MANY difficulties, simply because I do what I like, and I like what I do. After countless number of hours, I can finally provide you with the ROM, which is the best. Why is it the best? Because I'm improving the base, and I'm not making any trade-offs.


    GitHub / Versioning / Experimental Versions
    ArchiDroid version contains 3 numbers. X.Y.Z. X is the base number of the rom. For now it won't change because ArchiDroid 1 is based on Sammy Rom and ArchiDroid 2 is based on CyanogenMod. Basically we have two numbers left, Y and Z. Y number will change when I'll implement something really new, when I'll make some advanced improvements or after many Z changes. Z number is the "standard" update, like updated sources, some bugfixes and so on.

    I've learned many things since releasing of first ArchiDroid 1.0.0. Because of that I've also created a GitHub repository, which you can find here. What does it mean for you? First of all as you can see there are 2 different branches. nicki-cm-stable and nicki-cm-experimental. What does it mean? You can enter selected branch and click on "Commits" button to see every single update which I've made to selected branch. Experimental branches will get updates nearly every single day, while stable branch will form from a snapshot of current experimental branch, whenever I feel like it's ready.

    However that doesn't mean you need to wait for my stable updates! You can easily "pack" latest experimental and flash without needing to wait for my weekly build. I'll tell you how to download and flash it by yourself.

    [Newbie Version]
    1. Open nicki-cm-experimental branch.
    2. Click on Download Zip button located in bottom-right corner.
    3. Install 7-Zip if you don't have that already. Other programs may, or may not work correctly.
    4. Right-Click on zip, select Extract Here
    5. Navigate to newly created ArchiDroid-nicki-cm-experimental folder
    6. Select all files APART FROM __build folder, right-click and select 7-Zip => Add to archive
    7. Make sure that you have zip format, fastest compression (to save some megabytes) and feflate method of compression.
    8. Done! Copy newly created ArchiDroid-nicki-cm-experimental.zip to your phone and flash as usual.

    [Expert Version]
    1. Install Git for Windows or Linux
    2. If you're on windows then make sure that windows won't change LF into CRLF (git config --global core.autocrlf false)
    3. Clone my git repository using .git file. Keep in mind to specify depth, as this repo is really big. (git clone https://github.com/ArchiDroid/ArchiDroid.git --branch nicki-cm-experimental --depth 1)
    4. Install 7-Zip if you don't have that already. Other programs may, or may not work correctly.
    5. Select all files APART FROM __build folder, right-click and select 7-Zip => Add to archive
    6. Make sure that you have zip format, fastest compression (to save some megabytes) and feflate method of compression.
    7. Done! Copy newly created ArchiDroid-nicki-cm-experimental.zip to your phone and flash as usual.
    8. In order to update your local repo execute git pull origin nicki-cm-experimental and go to point 5.

    Additionally you can watch my short video, which shows how to flash experimental ArchiDroid going through "Expert Version".
    20
    ArchiDroid Features
    Know your ArchiDroid, learn how to use it



    Introduction / Basics
    Welcome to ArchiDroid's world mortal. In this tutorial we will show you what ArchiDroid has "inside" and what it really offers. All of things included in this post are ArchiDroid-specific, which means that you won't find any ROM with the same features, as they're written from scratch.

    Here you can find some definitions of the words used in sections below. You should know most of them, but in case somebody is lost here you can get back on track.
    Terminal, Shell - Typical android shell, which may be obtained in three ways.
    1. Through native Android Debug Bridge (ADB) with command "adb shell" from the PC or even "ADB through network" (if supported).
    2. Through any Android terminal app, f.e. Android Terminal Emulator bundled with ArchiDroid.
    3. Through secure shell daemon (sshd), which needs to be turned on firstly. This is extremely useful in terms of pocket debian, which will be described later.

    You can use any of these methods to access android's terminal, however usually Android Terminal Emulator will be the easiest one, as it's android app bundled with ArchiDroid. WARNING! Most of the commands below WILL require root access. You can log in to super user shell by "su" command right after obtaining shell. If you're unsure if you're logged as root or not, "whoami" command should print actual user, "root" or "unknown uid 0" are OK, others are not.


    ArchiDroid's Pocket Debian

    From wikipedia:
    Debian is an operating system composed of free software mostly carrying the GNU General Public License. The operating system is developed by an internet collaboration of volunteers aligned with The Debian Project.

    From debian site:
    As most of you know, Linux is just a kernel. And, for a long time, the Linux kernel ran only on the Intel x86 series of machines, from the 386 up.

    However, this is no longer true, by any means. The Linux kernel has now been ported to a large, and growing, list of architectures. Following close behind, we have ported the Debian distribution to these architectures. In general, this is a process with a sticky start (as we get libc and the dynamic linker working smoothly), and then a relatively routine, if lengthy job, of attempting to recompile all our packages under the new architectures.

    Debian is an operating system (OS), not a kernel (actually, it is more than an OS since it includes thousands of application programs)

    How exactly this covers our beloved phone (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.
    4. Debian is built and included thanks to debootstrap utility, ArchiDroid command used for creating debian environment is debootstrap --verbose --arch armhf --include=git,ca-certificates,ssh,htop,tightvncserver,xterm,xfonts-base --exclude=manpages,man-db,rsyslog,vim-common,vim-tiny testing debian http://ftp.fr.debian.org/debian

    HowTo:
    Pocket Debian contains two main terminal commands, "adlinux" and "debian". Both of them are described below. By adlinux and debian you boot and jump into debian's chroot, which means you can use any debian-specific commands.

    Examples:
    passwd - changes password of actual user. This is needed to login as specific user, for example through ssh.
    service ssh start - starts local SSH (secure shell) daemon on native port :22, to which you can easily access via any client supporting ssh, f.e. PuTTY. So basicly after you start shell you can literally connect to your local area network (LAN) IP on port 22 f.e. through PuTTY from your PC.
    ifconfig - prints network-related informations about online interfaces, including your local IP, which may be useful for connecting to SSH.
    htop - Enhanced top utility. Gives you very good terminal-based view on actual running processes, used ram, load, and more.
    apt-get update - Syncs with debian's apt repository. This is mandatory to use many of apt commands because ArchiDroid's debian comes without local repo available, however fully configured to download and access it with just one command
    apt-get install XXX - installs packet XXX from debian's repository.
    apt-cache search XXX - searches for all packets including keyword "XXX". Ultra useful in terms of searching for specific packet.

    Please note that pocket debian is VERY similar to normal native Debian/Ubuntu distribution, therefore above commands are not ArchiDroid's magic, they're very widely used in Debian/Ubuntu distros. If you want to learn more, most of the Debian/Ubuntu tutorials will be very helpful.


    ArchiDroid's Pocket Debian Booter (adlinux)
    You can call "adlinux" command from your favourite terminal.

    adlinux is designed to boot and prepare ArchiDroid's Pocket Debian environment. It requires mode to be specified, and also respects any extra arguments passed.
    If you call standalone "adlinux" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adlinux command, f.e. by executing "adlinux default", which will execute adlinux with "default" mode.

    Available modes:
    default - Will mount /data /system /storage/sdcard0 /storage/sdcard1 and core filesystems in chroot. Default suggested mode
    safe - Will mount only core filesystems in chroot. Useful if you don't want to share your storage in chroot
    bare - Won't mount even core filesystems such as /proc /dev or /sys. Requires "debian force" to enter chroot. This is the "real" safe mode. You won't be able to interact with an android in any way, while debian itself will work in very limited environment, making core functions unavailable. Suggested only for testing purposes
    rebuild - Will automatically reboot your device and remove debian folder in the safe way. WILL CAUSE ALL DEBIAN DATA TO BE LOST!
    unmount - Will automatically reboot your device to safely unmount debian environment

    Extra options:
    extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
    intsd - Use internal sd card (/data/media/0)

    Additional information about modes:
    Debian shares core kernel filesystems in "safe" and "default" modes, while it also shares your internal and external sd card in "default" mode. This is nothing to be scared of, as you have full control of what you run in debian, however please note that you CAN'T do whatever you want. All mounted partitions in debian are "binded". "Bind" means that it's mirrored to the mount point and all changes on mounted partition WILL affect the mount point, which is logical. This is nothing to be scared of, as long as you know that debian only extends your environment, it does not fully works in it's own and you CAN cause serious problems from inside of chroot. The only really safe mode is "bare" mode, however in "bare" mode debian can't really do anything, as kernel filesystems are absolutely required for most of the functions. Okay so, you need to know one thing. If you have booted debian you SHOULD NOT touch debian's folder, which is ArchiDroid/debian (on your internal or external sd card, depends what you choosed).. As you know debian for example binds /data to it's folder /data, which is physically ArchiDroid/debian/data. If you for example delete ArchiDroid/debian through root explorer WITH mounted debian then it will ALSO delete debian/data folder, which is binded to /data, and therefore will delete your whole internal sd card, that's why it's extremely important to take care because booted debian becomes part of the android and deleting it can cause at least soft bricks, with a possibility of hard as well. If you want to delete debian folder PLEASE use "rebuild" mode, only through this way you're absolutely sure that nothing bad happens and you won't delete your whole system partition by accident.

    Note about extsd option:
    Debian requires symlink functionality, typically native windows filesystems DON'T support symlinks, therefore you need to have your external sd card formatted in one of the native linux filesystems, f.e. ext4. adlinux will automatically tell you if debian can be unpacked and used on your external sd card, however it won't be possible under most common filesystems, such as exFAT or FAT32.

    Technical informations:
    1. Pocket debian archive is located in ArchiDroid/System/debian.tar.gz file. This is "bare" system used for creating environment for the first time, you should not touch it.
    2. adlinux detects if debian is already extracted when booting, if not, it's firstly extracted from the file described above.
    3. After extracting (if required), core filesystems are mounted with "bind" option based on the mode you've selected in "mode" question above. Typically it mounts /data /system /storage/sdcard0 /storage/sdcard1 /storage/extSdCard /dev /proc /sys.
    4. Unmounting is not fully supported right now (linux barrier), therefore both "unmount" and "rebuild" options require a restart to execute properly.


    ArchiDroid's Pocket Debian Shell/Chroot (debian)
    You can call "debian" command from your favourite terminal.

    debian command is designed to allow you "jumping" into debian chroot created by adlinux. Please read how adlinux command works firstly if you haven't done that already. debian command checks if core filesystems are available (if debian is booted), and if they are then it firstly modifies required environment variables to make debian happy (such as TERM, HOME, PATH), then it changes root (chroots) into debian folder, therefore allowing you to execute everything from inside of chroot. It's very generic command, therefore standalone "debian" command won't give you a choice the way adlinux did.

    Available options (parameters):
    force - required for jumping into bare debian, created with "adlinux bare" command above. This skips debian checks for mounted core filesystems, normally you should avoid it at all cost, unless you know what you're doing. If core filesystems are missing then it's very likely that your debian will be disabled in more than 90%.
    extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
    intsd - Use internal sd card (/data/media/0)
    cmd - Executes command in debian chroot

    WARNING! cmd parameter will cause all further parameters to be threated as a command passed to debian, therefore you need to make sure that this is the last debian parameter which you want. For example "debian force cmd service ssh start" will skip filesystems checks and execute "service ssh start" in debian's chroot, however "debian cmd force service ssh start" will pass "force service ssh start" to debian, therefore respecting filesystems checks and passing invalid command.

    This function is extremely useful for making init.d and other startup scripts. For example you can easily call "adlinux default" and then "debian cmd service ssh start" to call secure shell daemon on every boot with two easy steps.

    Technical informations:
    1. debian command uses chroot technology to change root of current shell to debian shell.
    2. After chrooting to debian directory, /bin/bash shell is automatically called as default debian shell.


    ArchiDroid's Flasher (adflash)
    You can call "adflash" command from your favourite terminal.

    adflash is a great small utility, which allows you to easily update your ArchiDroid to latest stable or experimental version with one easy command and delta upgrade. It utilizes ArchiDroid functions, therefore you must be running ArchiDroid to use it.

    If you call standalone "adflash" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adflash command, f.e. by executing "adflash 2e git", which will execute adflash with 2.X-EXPERIMENTAL version using git mode.

    Available versions:
    2e - 2.X-EXPERIMENTAL
    2s - 2.X-STABLE
    1e - 1.X-EXPERIMENTAL
    1s - 1.X-STABLE

    Extra options:
    git - Sets up local git repository, which gives you delta upgrades and bandwidth saving
    direct - Downloads targeted branch as .zip file directly from github
    clean - Cleans everything up, including local repo and tmp folder from ArchiDroid directory specified below

    extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard)
    intsd - Use internal sd card (/data/media/0)

    nozip - Shows changelog and changes only


    Okay so, the most interesting option is the mode...
    Direct mode is simple, fast and effective. It downloads target version (stable or experimental) from GitHub server, then it repacks downloaded zip file and makes it available for flash. You should use this mode for one-time downloads, such as once per stable version or two. The only advantage of this method is the ability to download from github (and with one command).
    Git mode is complex. It uses ArchiDroid's Pocket Debian (read above) for cloning and updating local ArchiDroid repo. This gives several number of advantages, mostly for using experimental versions. Firstly, by having local ArchiDroid repo you have to download ONLY changes between your snapshot and server's snapshot, which means delta upgrades. Secondly, you have access to all commits from target branch, so you know exactly what has changed since your latest download. Again, this is extremely useful for experimental branch, as changelog may not be up-to-date. Keep in mind that git mode will require additional space on your device for keeping ArchiDroid repository, therefore you sacrifice some space for delta upgrades. This mode is extremely useful for flashing ArchiDroid often, for example daily experimental versions, because in fact you download only new commits instead of whole repo/archive.


    ArchiDroid's RunOnce (Backend)

    ArchiDroid's Init (Backend)

    ArchiDroid's Backend Control
    ArchiDroid Backend Control is a set of settings, which controls behaviour of ArchiDroid's Init. It's located in /system/archidroid/dev and contains a number of files, which are recognized by ArchiDroid's Init. You shouldn't directly touch /system/archidroid/dev, instead you can control behaviour of ArchiDroid's Backend through /system/archidroid/scripts. They can be easily executed through any script manager, f.e. Root Browser or Android Terminal Emulator. Some of the settings are also located in /system/archidroid/etc folder, mostly configurations for binaries utilized by ArchiDroid's Init.


    ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
    The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers. Current development of haveged is directed towards improving overall reliablity and adaptability while minimizing the barriers to using haveged for other tasks.

    The original HAVEGE research dates back to 2003 and much of the original haveged documentation is now quite dated. Recent work on haveged has included an effort to provide more recent information on the project and its applications.

    The original research behind HAVEGE use was based upon studies of the behavior of processor caches from a hardware level. The 'Flutter' documents attempt to provide a modern view of HAVEGE at software level through the use of a diagnostic build of haveged that captures the non deterministic inputs to haveged for analysis by external tools.

    ArchiDroid has built-in haveged entropy generator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Haveged_EnableDisable.sh. It's turned on in default configuration, through HAVEGED_ENABLED


    ArchiDroid's Fast Random Number Generator (Frandom)
    Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.

    ArchiDroid has built-in frandom activator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Frandom_EnableDisable.sh. It's turned on in default configuration, through FRANDOM_ENABLED.

    Notice: Kernel must support frandom module to actually make use of that. Init will try to search for frandom.ko module and load it, then use /dev/erandom for both /dev/random and /dev/urandom. If your kernel supports frandom, it will work. If it doesn't, obviously this will be skipped even if you have FRANDOM_ENABLED. Check ArchiDroid Init log located in /data/media/0/ArchiDroid/Init.log to check if frandom works properly for you.


    ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
    dnsproxy2 is a replacement DNS proxy for Android 4.3+
    This currently allows the user to manually override the DNS server IP,
    and it sets the correct UID on outbound requests so they can be filtered
    via iptables / AFWall+ / DroidWall / etc.

    Dnsmasq is a lightweight server designed to provide DNS, DHCP and TFTP services to a small-scale network. It can serve the names of local machines which are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP for network booting of diskless machines.

    Dnrd, Domain Name Relay Daemon is a caching, forwarding DNS proxy server. Most useful on vpn or dialup firewalls but it is also a nice DNS cache for minor networks and workstations.

    Pixelserv is a super minimal webserver, it's one and only purpose is serving a 1x1 pixel transparent gif file. Using some creative firewalling (netfilter/iptables) rules you can redirect some webrequests (for adds for example) to pixelserv.

    ArchiDroid has built-in Adblock. It's controlable through ArchiDroid's Backend Control:
    • ArchiDroid_Adblock_DnsmasqDnrdModeSwitch.sh
    • ArchiDroid_Adblock_EnableDisable.sh
    • ArchiDroid_Adblock_EnableDisableLocalDNSes.sh
    • ArchiDroid_Adblock_EnableDisableLocalDNSesDaemon.sh
    • ArchiDroid_Adblock_LockUnlockHosts.sh
    • ArchiDroid_Adblock_MoabAdawayHostsSwitch.sh
    • ArchiDroid_Adblock_Reload.sh

    It's turned on in default configuration, through:
    • ADBLOCK_ENABLED
    • ADBLOCK_LOCAL_DNSES_DAEMON_ENABLED
    • ADBLOCK_LOCAL_DNSES_ENABLED
    • ADBLOCK_USE_ADAWAY_HOSTS
    • ADBLOCK_USE_DNSMASQ

    In short. This is a very advanced and powerful solution for blocking ads through DNS queries. First of all we're forwarding all DNS traffic to localhost (127.0.0.1). Then we're handling them through local DNS server - dnsmasq (default), or dnrd (option). Our local DNS server reads blocked hostnames through special /system/archidroid/etc/hosts file, then if no record is found, it forwards DNS query to OpenDNS/Google DNS servers, or if it's found, returns 127.0.0.1 as the address. Lastly, pixelserv is providing a 1x1 NULLGIF response on local web server, so instead of big black/white screen instead of the AD, we get 1x1 transparent pixel, which usually perfectly hides ad from the app or the website.

    Extra features:
    1. You can specify if you want to use dnsmasq (default), or dnrd (option) as a local dns server. Dnsmasq is more flexible, modern, faster and has less memory footprint, however I also left dnrd as an option, because it's proven to work stable.

    2. You can specify hosts file, which you want to use. In default configuration we use AdAway's hosts file, with more than 30 thousand of records, which results in extra ~2.5 MB memory usage. You have also an option to use MOAB (Mother Of Ad Blocking) hosts file, with more than 330 thousand of records, which will result in about ~30 MB memory usage. Eventually you can append your own rules or use non-standard hosts file, available in /system/archidroid/etc/hosts. Pro tip: You can point AdAway to use this hosts file (/system/archidroid/etc/hosts_adaway), which will result in automatic updates. /system/archidroid/etc/hosts is a symbolic link, either to hosts_away or hosts_moab, if you want to specify your own hosts, you can delete symbolic link and write your own rules.

    3. Original /system/etc/hosts file has been locked from editing. This is to ensure that AdAway or other adblockers won't use obsolete and slow method of blocking ads through hosts. The whole point of implementing Adblock in ArchiDroid is to provide you with super-fast, flexible and effective way of blocking ads, also with getting rid of black/white ad screen. In 99% situations you don't want to touch ArchiDroid's default behaviour, as it blocks ads perfectly. Eventually, if you have a very good reason, you can unlock original hosts file through ArchiDroid's Backend Control and modify them, however keep in mind that every additional rule WILL slow down your network speed.

    4. In default configuration local dns server uses two OpenDNS servers at port 5353, two Google DNS servers at port 53 and up to two local DNS servers provided by your Wi-Fi/3G connection, which overall gives a sum of 6 remote dns servers. In some rare scenarios (f.e. some wi-fi hotspots) you can notice that a moron, administrator of this wi-fi, blocked all dns queries and forces you to use his DNSes. This is BAD because of freedom and so on, but it's very common practice, that's why I turned on local DNSes as well. If you want to improve your privacy at least a bit, you can disable local DNS servers and then use only OpenDNS and Google DNS.

    5. Above option initialy has been written to allow you one-time access to such non-trusty wi-fi's. But if you for any reason need automatic update of your local DNSes (3G and Wi-Fi's will use different local DNSes), you can also turn on Local DNSes Daemon, which will automatically query and update local DNSes if needed. This is also turned on in addition to local dnses above, of course in default preset.


    ArchiDroid's Forced Update (RunOnce)
    Forced update selected during mode selection in aroma tells RunOnce to work in "INSTALL" mode even on "UPDATE" mode, apart from that it works exactly the same as update mode, only RunOnce is affected.
    13
    ArchiDroid 3.0.1.1

    Golden release for Xperia M :cool:


    Changelog


    ArchiDroid 3.0.1.1
    - Initial ArchiDroid 3.X release for Xperia M


    Download
    All Files XDA

    Stable: ArchiDroid 3.0.1.1 GitHub | XDA Direct | XDA Torrent
    Oldstable: ArchiDroid 2.5.3 XDA Direct | XDA Torrent
    Remember that you don't need anything else to flash. Google Apps are included already.



    Follow ArchiDroid On XDA!

    Like ArchiDroid On Facebook!

    Write A Review!

    Rate This Thread!

    Buy Me A Beer!

    Hit Thanks!
    NIAIPTe.png



    Have Fun! :cool:
    13
    ArchiDroid 3.1.1

    Golden :cool:

    Changelog

    ArchiDroid 3.1.1
    - ArchiDroid Optimizations V4.1
    - ArchiDroid is now built with UBERTC 4.9 androideabi (instead of SaberMod 4.9) and 5.2 ArchiToolchain eabi (instead of 5.1)
    - Newest ArchiKernel snapshot
    - Updated GAPPS
    - Updated Xposed
    - Other misc changes and bugfixes


    ArchiDroid 3.1

    - Initial release


    Important notes

    ArchiDroid 3.1 is major new release based on CyanogenMod 12.1 (Android 5.1.1 Lollipop). There are too many changes compared to previous release of AD 3.0.X, so you should treat this version as totally new ROM. Here you can find some important notes to make update easier, and to avoid some possible issues:

    - The only two kernels supported by AD are stock one, and ArchiKernel. AK is suggested one by me, as it already includes all major improvements I wanted to add, such as OC or deep AD optimizations. I DO NOT RECOMMEND FLASHING ANY OTHER CUSTOM KERNELS. Only AK uses my own AnyKernel method which guarantees 100% compatibility with the ROM, if you're using any other kernel you're doing it at your own risk, and it's nearly guaranteed to cause very deep incompatibility issues, which will hurt overall system stability.
    - If coming from AD 3.0.X or any other ROM, regardless what it is, you should make full wipe. ArchiDroid is smart enough to detect itself during install and offer you an update, but this option should not be used with major release such as this one. Full wipe in necessary.
    - It also means that you should AVOID restoring old, incompatible data with apps such as Titanium Backup. Full wipe means full wipe, not half wipe and restoring data later. Of course, it's up to you if you want to follow my suggestions or not, but do not expect that you'll have bugfree experience otherwise.
    - You should update your recovery prior to flashing, again, regardless of what recovery you have now. The best way is to do so right from ArchiDroid ZIP, as AD offers updating recovery prior to flashing the rest, from AROMA. On the preset screen you can choose "Recovery", which will flash stock kernel + recovery combo (TWRP self-compiled by me). Then reboot recovery and flash the rest. All other recoveries, including other/older TWRPs are unsupported and you're using them at your own risk.
    - While not mandatory, I suggest also a wipe of whole internal SD card (/data and /data/media), as this will make sure than no junk is left. If you don't want to do so, at least make sure to remove /data/media/0/ArchiDroid folder prior to flashing, even if you have experimental AD 3.1 already. I do not track all regressions and doing so will make sure that backend works in intended way. A best way to do so is to update your recovery first, then through TWRP file manager navigate to /data/media/0 and remove whole ArchiDroid folder.
    - AD already has built-in GAPPS, provided by OpenGApps project. Flashing other GAPPS is not recommended, but if you know what you're doing you can still untick all Google Apps offered in AROMA (Whole GAPPS category including core gapps + also google launcher and google keyboard) and install your own GAPPS package after AD installation. Although, as I said, I suggest to stick with AD gapps, as they're proven to be working well, and they're tested by me and other experimental users.

    TL;DR
    - Use only ArchiKernel or Stock kernel included in AROMA
    - Make full wipe
    - Update recovery prior to flashing
    - Wipe internal storage, or at least remove /data/media/0/ArchiDroid
    - Flash AD
    - Do not restore old data through titanium backup
    - Enjoy your fresh ArchiDroid experience


    Download
    All Files XDA

    Stable: ArchiDroid 3.1.1 GitHub | XDA Direct | XDA Torrent
    Oldstable: ArchiDroid 3.0.1.1 GitHub | XDA Direct | XDA Torrent
    Remember that you don't need anything else to flash. Google Apps are included already.



    Follow ArchiDroid On XDA!

    Like ArchiDroid On Facebook!

    Write A Review!

    Rate This Thread!

    Buy Me A Beer!

    Hit Thanks!
    NIAIPTe.png



    Have Fun! :cool: