[R&D] [DEV]init.d scripts included in roms - AT&T Samsung Galaxy S II Skyrocket SGH-I727

Been looking at some roms here on xda and realizing that the devs are mostly
Either not including much in their roms, or including lots, and even duplicating some.
Personally these have been a way to add complete user-level customization in my roms
My question is simple, ive started on a HTC varient of one of my roms and have to make my init.d scripts more universal, which was an objective anyways
Would the DEVS here like an extensive set of user configurable scripts?
Controlling TCP settings, various kernel, vm, On/off for many aspects, custom cfg/log dir, etc.
Basicly pop em in, reboot, edit the cfg, reboot find the settings you like, package em with your cwm zip and have it completely configured no more fumbling with bash xD
No matter how easy it is
I wrote it as basic as possible for compatibility, which broke one part but should have it fixed when i get a working runtime for it xD seems to work on sky ics build and a few others..
First boot after injection only creates default folders and stock config and sets permissions on them. User level customization is key here
Basis is simple:
Create bash style cfg including user variable
Load said cfg in required script
Inject user settings
To no use a setting, remove either cvar or entire line from cfg
The runtime i need if sum1 can paste is zipalign would b nixe
If your intererested just lemme know..

Related

Some questions about cooking ROMs - Reg Tweak

I am absolutely new to ROM cooking stuff, I searched the Q & A section but did not find any thread related to the topics I was interested to know:
1. I want to incorporate certain registry tweaks in my ROM, which is somehow getting over written (to be exact I want to turn off all plugins except Home Screen plus plus clock ui and quick launcher). I have exported the registry settings and tried to incorporate in the ROM, but somehow they are getting over written. I want to know is there any way I can make a particular package (in this case my tweaks) get compiled into the ROM last, so that whatever I define there don't get over written.
2. I have found some great freeware like the finger friendly keyboard in this forum, when I try to integrate them into my ROM using Package Creator 5.4, it gives error saying duplicate files. however upon viewing the cab, I saw that the file names may be same, but they are placed in different folders , what is the way to do it.
Can some one help me out?
BTW I do not use any kitchen and I am talking about building for my Gene.
Thanks for the help.
No one wants to share his/her knowledge? Wow

[Idea] Rom deployment / setup scripts for ROM developers

I'm thinking about creating an application ( based on GScript ) that allows Rom developers to add the ability for rom developers to run shell scripts after the actual rom is flashed and to allow the user to run some rom-specific scripts.
I don't know if there is any need for this by any of the devs, but i have seen TwistedUmbrella used GScript Lite to add some scripts to his build, so that people don't have to ask the same question on how-to run the scripts ( and commands ) over and over.
Although GScript can be easily used for it I think that a special project could offer much more then this and the actual output can be a lot user friendly when its less generic ( i have done the same for the LucidREM script application which can be found in the market ).
And maybe the ability to run some scripts when the actual rom is started the first time after flashing etc.
If you think this could be useful in rom deployment or you have ideas/feature requests etc please drop a post so i know if its worth the work.
like UC
Kinda like UC for windows mobile (I said kinda)? I suppose it could have its uses. First thing that comes to mind is automatic restoration of sms, wep settings, etc.. after a wipe. One thing I like about the g1 is it so easy to build and customize your own builds in comparison to winmo (from a development standpoint). Well, depending on how you look at it I guess.
Curiously, If a function or program like this existed already, what uses would you get from it.
Edit)
I suppose it could be useful afterall. I drew a blank when I initially read your post because everything I run from a script or terminal for that matter is because I'm not behind a computer. If I'm gonna modify something it can be implemented in the update.zip before flash ect.. but if I'm flashing a new rom and I want the dalvikvm updated, louder sound mod, Odex optimized, etc to be done from the first boot I guess it'd be cool. But usuall i'd implement it in an update.zip. I donno I don't think I'm thinkin creatively enough about its uses.
We could create an easy way to backup/restore sms mms bookmarks etc, which can be started before updating and which will run to restore when the image is flashed.
Automatically create the apps2sd settings etc after a flash.
Or even create "smaller"-distributions which asks if the user wants to download extra applications after reflashing...
We could even incorporate google source projects so that users can look for and report issues from within the app for the given distribution.
An easy way to bring out small updates without users having to reflash or have to do manual stuff
Just shooting out some ideas....
I love this idea, I'm a huge supporter for GScript so this only seems natural. Since I use gscript after wipes/loading custom roms ANYWAY it'd be awesome if the process was automated. Chances are people are going to want to restore previous settings and info when they load new roms. I hope more Rom devs see this. So mildly bumping for notice.
Eventually user support will be deciding for developers to use it or not...
I will have a test application finished in a few days.
I will post the first screenshots tomorrow if i will find some time...

[SCRIPT] Energy XDA_UC Configuration Tools (EXCT) V1.1.1 Final

This is a little project i've been working on and i thought it was ready enough to be released into the wild. Below is the readme file. I think it covers everything for now. Before posting please read the first 3 posts - especially post 3 - if it is obvious that you haven't done this i will not respond with any form of help and i don't not expect any of the users to do so either.
----------
Included with this zip file are several .cab, .reg and .xml files that will automatically configure your NRGZ28 energy rom when XDA_UC runs upon first boot after flashing.
Included are the following configuration files
activesync.xml
This will configure your MS Exchange settings. Editing with your personal settings is required. Look for the username, server, domain and password tags at the start of the file
aGPS.reg
Enables aGPS
BackLight.reg:
Sets backlight to auto. There are some other settings included for dim and light off times when on battery and AC power aswell
bt_ident.reg
Sets the Bluetooth Identity. Edit the deviceid line to suit
copy.mscr
Copies files from the copy2root folder to the matching location in device storage. A My Documents folder with My Ringtones and My Wallpapers sub folders have been created already. Place you ringtones and wallpapers in these folders. There is also an application data folder which contains a coreplayer config.xml and a program files folder which contains a myPlayer options.ini. Feel free to create more. Thanks to nrfitchett4 for providing this script.
Del.mscr
This file will remove all unwanted ringtones, wallpapers and any other files you decided to add. Edit as you need to. N.B any readonly files will need attributes changed before they can be deleted.
DisableSenseVsync.cab
Disables Vsync in sense increasing the framerate thus making it faster
HD2MemTweaks.cab
Increase's glyphcache size past the bsb tweaks and advanced config defaults, incrases filesystem cache size and a few other bits. This cab file is optional. Delete it if you don't want it. Thanks go out to g.lewarne for documenting the tweaks
HTCAlbumIgnore.reg
Stops the sense music player playing ringtone files from \My Documents\My Ringtones\ and \storage card\ringtones. Copy the examples
if you want to add to it.
M3PH HTC Location Service Enable.cab
Enables HTC location Service and automatically excepts the TOS
ident.reg
Changes the phones identity at first boot. If NRGZ28 won't make it sensible i'll make it so we can customise it . Editing required. this one is pretty obvious
Palringo.reg
Sets up palringo, sorta, change [email protected] to your user name and it should show up at sign in. All you need to do is enter your password
QuickGPS.reg
Enables and configures QuickGPS with the defaults
Ringtones.reg
Configures the ringtone, sms tone and email tone. Needs some editing but you only need to change the file name for each entry, not the
path. The Ringtone2 entry allows for second ringtone to be added to the list of usable ones so you change them with too much fuss.
Also enables flashing light on sms reception for 5 minutes.
wifi_setup.xml
wifi settings. Edit required. This link should help you set it up (see post 3 for details on how to edit)
M3PH Enable Time Auto Update.cab
Enables NTP
Volume.Reg
Sets the volume levels. You can use this one or export your own from HKEY_CURRENT_USER\ControlPanel\Volume
Windows live.reg
Pretty much configures windows live. You do still need to enter your password and you will also need to do atleast one manual sync before Sense will create the mailbox on the email tab but otherwise it works
Opera User Agent String folder
See the readme.txt in that folder
Sense Folder
If you put your wallpaper in this folder it will be installed as the sense default. Just rename it to sense_wallpaper.png.
Start Menu folder
Copy Start Menu shortcuts here
----------
If you like this or any of my other work click the "donate to me" link above my avatar
----------
REMEMBER THIS COLLECTION OF FILES IS PRESENTED AS IS UNDER THE GNU GPLv2. IT IS BETA SOFTWARE AND COMES WITH NO WARRANTY OR ANY FORM OF OFFICIAL SUPPORT. I, M3PH, SHALL NOT TAKE RESPONSIBILITY FOR ANY DAMAGE OR DATA LOSE THAT MAY OR MAY NOT OCCUR TO YOUR DEVICE.
Change Log
Change Log:
1.1.1 Final
Removed Keyboard sensitivity tweaks
Removed opera memory tweaks
Added more palringo settings
Added Quick shutdown settings
1.1 Final
Updated volume.reg to default to seperate system and ring volume controls.
Removed all tweaks now included in Energy roms dated nov30 and newer. I will leave v1.0 posted for a while so people that like to install older versions still get the benefit
1.0 Final
Added Windows_live_settings.reg. You will need to edit it as prescribed on page 16 but it will work.
Added Improved GPS settings.cab. This is untested by me but i trust scabes24 enough to know he's not going to pass on unreliable tweaks
Improved M3PH Location Service enable.cab: Added an extra registry setting that should trigger Manila to showing it's on. This is doubtful but even if it doesn't the file does work
Added alarm_settings.reg: This is only an example file. You will need to export your own settings but this should be a reasonable starting point
Removed readme.txt: It was a habit a picked up from Linux development practices and was pointless for this project
Removed time.reg permanently because there is nothing changed in the registry when it is enabled.
--- Pre Final releases
Tips and Tricks
What follows are some tips and tricks i have found that i'm not going to include for whatever reason but thought some people might find handy or notes on what settings do what and their options.
Q. Can i delete file xyz using xda_uc because i like to have as much space as possible?
Yes you can. i found this link. All you need to do is create a file in the xda_uc folder with the extension .mscr which contains the following:
Code:
delete \test.txt, TRUE
or
Code:
deltree \test, TRUE
Obviously change test to the file or directory you want to delete. For more details check out the provided link above.
Q. The default wifi.xml doesn't match my configuration and i can't find a resource that tells me what are valid values for the options?
A. See this link and this one. As a note if you use WPA2 you need to use <parm name="Authentication" value="6" /> and WPA2-PSK is 7
Q. The exchange settings in activesync.xml aren't how i like them. Can i change them?
A. Sure can! Here's a link to the documentation
Q. I use a [enter service name here] and i want to create an xml file to configure it when i update my rom. Can i do this?
A. Thanks to microsoft developing WAP provisioning to an incredibly encompassing level you can do almost anything. See this link
Q. I want to make a cab file out of all my changes. How do i this?
A. There are many ways but i think this is the best one i've found because it doesn't involve any third party software and is really simple. All you need is the windows mobile sdk, which can be found here. You may also need visual studio but i'm not sure
Making either is very simple. You just pass a normal XML file to makecab and give it the name of the output file you want. The one trick is that the XML file must be named _setup.xml. If you call it something else, makecab will succeed, the CAB or CPF file will be generated fine, and then it will fail with a cryptic error when you try to use it. Beware, the documentation doesn't make this very clear.
The syntax for making a CAB file is:
Code:
makecab _setup.xml config.cab
Click to expand...
Click to collapse
Q. Wow you really do know a lot about this sort of stuff. How can i learn?
A. Well i don't know that much at all really, i just learn fast. Most of the stuff you see here was obtained from or via this MSDN article: http://msdn.microsoft.com/en-us/magazine/cc500581.aspx
Q. Is there a way to boost the performance of Opera in terms of memory/speed?
A. Yes, this cab will force Sense to unload when launching Opera, allowing for better performance while browsing. (When exiting Opera, Sense will then reload) (thanks to Scabes24 for this one)
Code:
[URL="http://www.megaupload.com/?d=O5O1RE97"]Enable Opera Max Memory Tweak.cab[/URL]
Q. I've installed the Opera tweak and everything is working fine, but the page loading seems very slow. Is there a way to improve this?
A. Yes you can, the following registry tweak will enable almost instantaneous web page loading in the web browser. It apparently enables wireless N mode but seems to work with cellular data too. Go to:
HKLM/Comm/BCMSDDHD1/Parms
11nModeDisable = Change from 1 to 0 (thanks to Scabes24 for this one aswell)
Q. My wifi hotspot uses EAP certification and i can't use it because the phone gives me a certificate verification failure error. What can i do?
This was posted in the energy rom thread
NRG, after weeks of not being able to connect to my work wireless network because I was getting a "certificate is from an unknown authority" error, I finally got it working. Can you add this key to your ROMs?
[\HKLM\Comm\EAP\Extension\25\]
"ValidateServerCert"=dword:00000000
This is where I found the answer:
http://social.msdn.microsoft.com/for...-3ebe003aa996/
Click to expand...
Click to collapse
Thanks to oppressa for hunting this one down. The tweak is included as an option in EXCT as M3PH EAP Cert Disable.cab
Here are some locations where 3rd party apps store their values. These were provided by angusc
CodeCity Time settings and Key Code:
[HKEY_CURRENT_USER\Software\CodeCity\CityTime]
Ageye G-Alarm settings and keycode:
[HKEY_CURRENT_USER\Software\ageye\G-Alarm]
Ageye G-Profile settings and keycode:
[HKEY_CURRENT_USER\Software\ageye\G-Profile_v1]
SK Manager settings and Keycode:
[HKEY_CURRENT_USER\Software\sk\smgr]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Rai\:S KSM]
SlingPlayer Login Details:
[HKEY_LOCAL_MACHINE\Software\Sling Media\SlingPlayer\SlingAccounts]
SPB Language Cards key code:
[HKEY_CLASSES_ROOT\CLSID\{F5C24D33-742A-41BC-BC22-1195BC138ECE}]
SPB Traveller Key Code:
[HKEY_CLASSES_ROOT\CLSID\{7D562A74-A69B-45F5-8D1F-20DABDCE2C76}]
SPB Wallet Key Code:
[HKEY_CLASSES_ROOT\CLSID\{A79D1B0D-2F6A-4E7E-AF94-5EEBC8BFD684}]
Sprite Back-up Key Code:
[HKEY_LOCAL_MACHINE\Software\Sprite Software\Sprite Backup]
RSS Hub Settings and Feed Storage Locations:
[HKEY_CURRENT_USER\Software\Ilium Software\RSS Hub]
SPB Traveller Settings:
[HKEY_CURRENT_USER\Software\Spb Software House\SPB Traveler]
Today Wall Paper Location:
[HKEY_CURRENT_USER\Software\Microsoft\Today]
KeyBoard Config by Tarkim (Settings):
[HKEY_LOCAL_MACHINE\Software\KeyboardConfig]
Resco Explorer Settings:
[HKEY_LOCAL_MACHINE\Software\Resco\Explorer]
Palringo Settings:
[HKEY_CURRENT_USER\Software\Parlingo\Settings]
Click to expand...
Click to collapse
The FAQ
Q. Will you include xyz tweak for me?
A. Only if it's a common one or one that i haven't thought of
Q. I use xyz program and i want to have the config file included in your great collection. What do ya' say?
A. See above but you could always spend 10 minutes tracking it down and then creating a folder in copy2root for it
Q. Why is the bluetooth identity the only tweak for BT you include?
A. Because everyones setup and hardware is far too different for it to be worth it. Also, Although you can export the pairings importing them may not be possible due to the way the bluetooth security protocols work.
(More To Come)
Happy to try this, thank you for cobbling everything together.
wow
this would be so handy, i hate spending time making your phone how you like it. I don't flash as often because i get too comfortable with the current configuration.
thanx M3PH
btw: without NRGZ28 i would have sold my HD2 7 months ago
grumpylad said:
Happy to try this, thank you for cobbling everything together.
Click to expand...
Click to collapse
No worries. I did it because i was getting annoyed with spending ages setting everything up and even more annoyed with people not reading the energy rom FAQ properly (i'm guilty of that too). I used the pre-release version last night after flashing the latest energy rom and it saved me in the region of an hour to an hour and a half. It's not perfect by a long way. Things like the sms led notification is enabled and some people may not like that but is is easily reverted with bsb tweaks.
My plans for the next version is to have all the reg files converted in to cab files for they can be removed and i'll tidy up the readme a bit.
One thing i would like help with though is the FAQ. Can the first few people take notes of any problems or questions they have and things or that nature.
Thanks everybody
Thank you, I'll try it out with the new Energy release. I'd be happy with the reg files to import it doesn't even need to be a cab!
Thanks!
lantern20 said:
Thank you, I'll try it out with the new Energy release. I'd be happy with the reg files to import it doesn't even need to be a cab!
Thanks!
Click to expand...
Click to collapse
Cab files are better because they can be removed and Reg files can't. So if one of these files causes a problem your stuck and that's why it's labeled as alpha software. Also labelling it as that will scare off the less experienced users from trying it and doing themselves a mischief.
V0.2 will be all cab files as far as possible but don't expect a release until 0.1 has had a thorough real world testing.
oh. it is better ,if i find this post eight hour ago.
it drives me nuts ,everytime i get into a new nrg rom.
thank you very much.
Great idea man, thank you so much for this!
Thanks a lot for this! It will definitely save me a lot of time after a rom update. I just have to hope I've set them up correctly and dont break something
Hello
This project is a very good project, I hope is work well
Is it compatible with other language ?
Ex : "Start Menu" folder in WWE Rom is "Menu Démarrer" In FR
Good luck.
@+
diamond_cbr said:
Hello
This project is a very good project, I hope is work well
Is it compatible with other language ?
Ex : "Start Menu" folder in WWE Rom is "Menu Démarrer" In FR
Good luck.
@+
Click to expand...
Click to collapse
no sorry as it stands it's wwe only. If you want to convert it to french and send it over to me i will post it.
yeoldgreat, if you would like to pm me your changes i will look them over.
Overall i'm really pleased with the response so far but i really do need everyones help with composing the faq because for me this works fine (apart from the unteseted bits because i haven't used them yet) so can all of you please, please, please make some notes on your progress and keep posting those questions
M3PH said:
Overall i'm really pleased with the response so far but i really do need everyones help with composing the faq because for me this works fine (apart from the unteseted bits because i haven't used them yet) so can all of you please, please, please make some notes on your progress and keep posting those questions
Click to expand...
Click to collapse
My temptation would be to assume that the FAQ is written for me if I can install and get it working anyone can. For instance in the wifi detailing where the various parm's can be found would make it much easier to install. Very happy to install on what you have and pass back any questions assumptions.
As I frequently flash(ROM's only) I can help with refining the documentation.
grumpylad said:
My temptation would be to assume that the FAQ is written for me if I can install and get it working anyone can. For instance in the wifi detailing where the various parm's can be found would make it much easier to install. Very happy to install on what you have and pass back any questions assumptions.
As I frequently flash(ROM's only) I can help with refining the documentation.
Click to expand...
Click to collapse
Sweet, thanks. That is exactly the sort of thing i'm looking for, because it's been over a year since i did any kind of manual writting i'm pretty rusty. It also doesn't i developed most of the parts in just over 24 hours working on my phone and not my pc everything is a bit scattered in my mind. That's the reason why the readme looks the way it does. It all came out in a bit of a splurge.
The wifi script is one of my older scripts and it took 3 attempts to get right and now i can't for the life of me find the resource on ms technet that i used.
I'll probably have a sitdown over the weekend and have a rerun through the readme and make it a bit more detailed. If i can make it as easy to install as possible then the faq won't be such an important thing
How many people want me to include a coreplayer config.xml in the next version? i've got one that works perfectly with myplayer and turbo3d.
Nice Work
I used a number of these to flash the latest Energy Rom and it worked out great. Very smooth! It will be interesting to see what is added on in the future. Thank you for putting the time in and starting a new thread.
jamesdee said:
I used a number of these to flash the latest Energy Rom and it worked out great. Very smooth! It will be interesting to see what is added on in the future. Thank you for putting the time in and starting a new thread.
Click to expand...
Click to collapse
I'm taking suggestions for additions. So how about one?
Very interesting sir!
I am going to flash the new Energy ROM either tonight or tomorrow and so will chuck this in with it.
I wont use several of them as I dont use those aspects, but those I do will return with feedback.
I have been frustrated with this as well.... fingers crossed.

[ROM][Discontinued] ArchiDroid [CM_ROM][GCC 4.8][Flexible] [V2.5.1] [15/07/14]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Clean | Stable | Flexible | Optimized | Excellent
-> ArchiDroid 2.X <- || Change to ArchiDroid 1.X
A Port of JustArchis Rom to our S3 LTE
Changelog
ArchiDroid 2.5.1
- ArchiDroid_Init code review
- ArchiDroid_RunOnce code review
- Fixed ArchiDroid backend not being executed in some scenarios
- Updated all ArchiDroid backend tools to latest versions
- Updated PA GAPPS to 8 July
- Reverted back to official Google PlayStore # This means that multi-dpi patch is not included anymore in the app itself, use xposed module or patch yourself
- PlayStoreFix is now included with Xposed
- App Settings is now included with Xposed
- Updated BetterBatteryStats to 1.16 RC5
- Updated XPrivacy to 2.1.24
- Updated GravityBox to 3.2.5
- Updated sources
Download
All Files Dev-Host
ArchiDroid-20140715-i9305-2.5.1-Experimental: ArchiDroid 2.5.1 Dev-Host, Mirror: Mediafire
Oldstable: ArchiDroid 2.4.6 Dev-Host
Remember that you don't need anything else to flash. Google Apps are included already.
Recovery-Philz_Touch_6.41.6: http://www.mediafire.com/download/?rf75pfrp34zws7b
Known Issues
All known and unknown CyanogenROM bugs (if any)
INSTALLATION INSTRUCTIONS
- Download the latest build of ArchiDroid ROM
1.- Wipe data / factory reset (mandatory if you coming from STOCK OR 4.2.X version or any other ROM)
2.- Install the Main ROM via Aroma installer, make your choices and lean back.
3.- Reboot
Attention: first boot will last a couple of minutes, at least almost 5 minutes or a few more. So after flashing take a rest and drink a coffee or a beer !
And after rom has booted up, led it settle a bit, till all apps and settings are initialized!
UPDATE INSTRUCTIONS
- Download the latest build of ArchiDroid ROM
- Take a nandroid backup
- Flash ROM using recovery and aroma installer
- Reboot
- Enjoy!
Known Bugs:
none...-> tell me if any.
In Aroma Installer you can select for example:
- 3 different Kernels: Boeffla, Angi and Cyanogen Stock
- different Launchers
- different Keyboards
- different Bootanimations
- many additional apps
- to add nav bar
and many other things
Follow ArchiDroid On XDA!
Write A Review!
Rate This Thread!
Buy JustArchi a Beer!
Like ArchiDroid On Facebook!
Hit Thanks!
XDA:DevDB Information
[ROM] [4.4.4. - KTU84P] [OmniROM] [GCC 4.8] [Experimental] [Flexible] [Excellent] [27/06/14] ArchiDroid V2.5.1 | Power In Your Hands, a ROM for the Samsung Galaxy S3 LTE I9305
This Rom is an official kanging of i9300 thread by @JustArchi lead developer and author of ArchiDroid ®. So all credits and thanks goes to JustArchi!!
Contributors
rodman01
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.0.x
Based On: CyanogenROM / ArchiDroid / SelfKANG
Version Information
Status: Experimental
Created 2014-05-01
Last Updated 2014-07-15
[ROM] [XXUEMKC] [4.3] ArchiDroid V1.7.15 [25/05/14] & FAQs
Clean | Stable | Flexible | Optimized | Excellent
-> ArchiDroid 1.X <- || Change to ArchiDroid 2.X
INSTALLATION INSTRUCTIONS
Be aware that this ROM includes Knox!!!
So your counter will be increased to 1
- Download the latest build of ArchiDroid ROM
1.- Wipe data / factory reset (mandatory if you coming from STOCK OR 4.2.X version or any other ROM)
2.- Install the Main ROM via Aroma installer, make your choices and lean back.
3.- Reboot
4.- After rom is up, led it settle and start SU app to led it deactivate Knox
Changelog
Sammy_ArchiDroid 1.7.15
- Initial release
- removed S5 Theme, because of systemui fc
- Boeffla Kernel as default
Download
Download: Sammy_ArchiDroid-XXUEMKC Dev Host
Known Issues
All known and unknown Sammy bugs (if any)
Wifi strength is a bit low
[SIZE="+3"]ArchiDroid's FAQ / Q&A Section for i9300[/SIZE]​[SIZE="+1"]There is a special thread in the SIII section with and for FAQs. If you are interested in, I am sure there are good infos about the rom, for everybody and also related to our S1.[/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://forum.xda-developers.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.
Try ArchiDroid once, and you'll never look back. I can assure you.
Disclaimer
Developer's Kitchen
Unless stated otherwise, all ArchiDroid components are licensed under the Apache License:
Code:
Copyright 2014 [email protected]
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:
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.
ArchiDroid 2.X vs. ArchiDroid 1.X
The long battle between choosing over ArchiDroid 2.X and 1.X is still recent. There's no one real and true answer to this. It's up to YOU to decide who wins this battle, because obviously every user is different. I'm only going to give you some tips and briefly describe differences.
Despite the name, ArchiDroid 2.X and 1.X are totally different ROMs. It all started with ArchiDroid 1.X, a ROM based on Sammy's stock firmware, with all needed goodies and features baked in. Then eventually I managed to implement everything what I ever wanted to implement, therefore making ArchiDroid 1.X more or less complete. Then I started with ArchiDroid 2.X project, built from scratch from AOSP sources, with all source codes available.
The point is, ArchiDroid 1.X is more or less complete, there's no "real" development going on, as I obviously don't have samsung sources to begin fun with. On the other hand, ArchiDroid 2.X will never be finished, there's always something to improve, something to add, something to fix... This is ongoing process, which will reach the end when I finally break my SGS3 or change the phone to another one .
If you're new user or you don't know how AOSP works on our SGS3s then I highly suggest to flash ArchiDroid 1.X firstly. ArchiDroid 2.X is targeted at advanced users, who don't mind some "core" features being broken. It will NEVER be as stable as ArchiDroid 1.X is, so if stability is the number 1 for you, choose 1.X.
ArchiDroid comparision
From 1-10, based on my own point of view
Stability
2.X - 5
1.X - 8
Compatibility
2.X - 4
1.X - 9
Battery
2.X - 6
1.X - 9
Performance
2.X - 9
1.X - 6
Features
2.X - 9
1.X - 4
Android Updates
2.X - 9
1.X - 6
-----------
Overall
2.X - 42
1.X - 42
This is ArchiDroid comparision in a nutshell. If you ask me, I think that ArchiDroid 1.X is far better choice for daily driver, but if you're advanced user and you know how to deal with possible broken functions then you can have great time using ArchiDroid 2.X as well.
Remember that only ArchiDroid 1.X supports Samsungs-specific features, such as Smart Stay, Screen mirroring, Allshare or whatever. This also includes closed-source proprietary drivers, such as many bluetooth headsets, which won't work under open-source AOSP. Think twice before considering 2.X if you're addicted to these Samsung goodies.
On the other hand, ArchiDroid 2.X is the only ArchiDroid with "real" development going on, however all universal changes are also backported back to ArchiDroid 1.X, so you're not missing any feature, which benefits also Sammy's base.
That's it. I hope that a choice between both of these awesome roms is a bit easier now. If you still can't decide I suggest to flash both of them for some time and then decide which suits you better.
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.
Video Reviews / How ArchiDroid looks like?
@Koogly
@SkywalkerZ
ArchiDroid User Signatures
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:
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 ) 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.
Credits
First of all many thanks to JustArchi, who gave me the permission to port this rom
and helped me not only one time to get all things to work :good:!!!
Many many thanks JustArchi for the help and support!​
ArchiDroid Core
- AROMA Installer
- AROMA Filemanager
- Boeffla Kernel-> @Hbohd plus his team not only because he was the first who ported and provided us a kernel for JB 4.3 and is doing it till today!!!
- Angi Kernel -> @psndna88
- PhilZ Touch Recovery
- SuperSU
- Nova Launcher
- TouchPal Keyboard
- Hacker's Keyboard
- Android Terminal Emulator
- BetterBatteryStats
- Cool Tool
- Greenify
- MX Player & Custom Codec
- LMT
- Root Browser
- Titanium Backup
- CrossBreeder
- Online Nandroid
- Xposed Framework
- App Settings
- XPrivacy
- Debian
- cURL
- GitHub
ArchiDroid 2.X
- OmniROM for GT-I9300
- Linaro Toolchain
- Spirit 2
- Wanam Xposed
ArchiDroid 1.X
- SamMobile
- JustArchi's Android Kitchen & dsixda's Android Kitchen
- Boeffla Kernel
- Yank555.lu Kernel
- KitKat Revolution Theme
- Blue Theme
- All Backs Black Theme
- Wanam Xposed
Special thanks to:
- Kenshin, for graphic design and ArchiDroid Touhou bootanimation
- @mrtur, for graphic design and helpful hand during ArchiDroid experimental tests
- @malachow, for helping users across both international and polish board, sharing the spirit of ArchiDroid
- All ArchiDroid Contributors, for improving and making ArchiDroid better!
- ArchiDroid Facebook Group, for beta-testing the very first alphas of ArchiDroid 2.0.0
- ROM Cleaner, for awesome generic list of bloatware
- Android Revolution HD, for being ex-ArchiDroid 1.X base
- WanamLite, for being ex-ArchiDroid 1.X base
- Temasek's Unofficial Build, for being ex-ArchiDroid 2.X base
- crDroid, for being ex-ArchiDroid 2.X base
- You, for choosing ArchiDroid over other available ROMs
So finally finished
looks good bro, keep up the good work :good:
Thanks...yes and high five ...fortunately today is public holiday here in germany I got some time !
Awesome, I tried porting using porting guide before but unfortunately it didn't boot compiling from source is probably the way to go, I guess. Thanks very much @rodman01 and @JustArchi!
ohh typo in thread under the xda Dev
his Rom is an official kanging of i9300 <---- link has extra h in the http
chongc1996 said:
Awesome, I tried porting using porting guide before but unfortunately it didn't boot compiling from source is probably the way to go, I guess. Thanks very much @rodman01 and @JustArchi!
Click to expand...
Click to collapse
yeah tried that too, unfortunatly didnt boot. now im trying to build from source with VirtualBox Ubuntu, of course getting help from some guys like my neighbor Rodman, great guy btw! :laugh:
Nice looking ROM
I ran this ROM on my S1, nice to see it on the S3LTE now.
Thanks
For me it's better to port Archis 1.X rather than 2.X. We are still lacking of stable roms on our devices.
Waiting for boot fix since it's not booting ATM.
Wysłane z mojego GT-I9305 za pomocą Tapatalk 2
Perhaps I will do the 1.X too, because I am interested in too. But nor sure when...
painball said:
For me it's better to port Archis 1.X rather than 2.X. We are still lacking of stable roms on our devices.
Waiting for boot fix since it's not booting ATM.
Wysłane z mojego GT-I9305 za pomocą Tapatalk 2
Click to expand...
Click to collapse
Not sure if it doesn't boot, it should boot, me and maho_66 were talking about our own attempts to port this. You should give it a shot!
Sent from my GT-I9305 using XDA Free mobile app
rodman01 said:
Perhaps I will do the 1.X too, because I am interested in too. But nor sure when...
Click to expand...
Click to collapse
Get in touch with my ArchiKitchen if you wish to make 1.X release.
http://forum.xda-developers.com/showthread.php?t=2597220
Basically:
1. You download any Samsung release in .tar.md5 format for Odin.
2. You extract from this .tar.md5 system.img boot.img (cache.img modem.bin - these are optional)
3. You load it with ArchiKitchen and you make deodexing, rooting, busyboxing, zipaligning and ArchiDroid init.d.
4. Then you create a ROM from AK and the effect should be similar to my base release: http://forum.xda-developers.com/galaxy-s3/general/rom-sammys-stock-deodexed-rooted-t2682453
5. You put in in the ADROOT and you run known magic build.sh script with "sammy" parameter - "bash build.sh sammy"
6. It should start extracting and replacing everything, as you know .
What is a difference with sammy and no sammy parameter?
- When building in sammy mode, build.sh doesn't compile anything and jumps straight to extracting .zip
- It also applies some sammy-related misc tweaks like ArchiDroid wallpaper, because this requires putting image in .png format in framework-res.apk
The fact that its not booting has i.m.h.o something to do with the correct/missing libs and or wrong permissions, for someone who is new to all of this its very frusturating i know, but you could give it a try whe sure need more stable roms i agree
Sent from my GT-I9305 using XDA Premium 4 mobile app
@rodman01
https://github.com/JustArchi/ArchiDroid/commit/14739db139ca50eedbfef5b26ac2933a24c70cf5
This should make you happier .
Make sure to check RunOnce Init and Cron logs after you merge upstream.
2.X works a great here.. Many customizations very smooth battery friendly.. Illl be sticking with this for the time being for sure.. Great work mate!
Sent from my GT-I9305 using XDA Premium 4 mobile app
The lockscreen notifications commit to omni hasn't been merged as of yet, I'll be watching until it gets merged
Sent from my GT-I9305
Performance wise this is definitely the best ROM out for the 9305 and I've tries them all.... Highly recommended !!
Sent from my GT-I9305 using XDA Premium 4 mobile app
Has anyone worked out a way to add different quick tiles?
Sent from my GT-I9305 using XDA Premium HD app

New Linux TCP side-channel attack

Last week they announced a new TCP side-channel attack against the Linux networking stack. I believe the fix is already in the mainline kernel, though I have no idea when it will be back-ported to the kernel used by Android, and especially no idea IF it will be ported to the KitKat kernel, which is what we seem to be stuck with on the Relay.
In the meantime, there is a mitigation that can be applied by setting /proc/sys/net/ipv4/tcp_challenge_ack_limit to something much bigger than the default "100". Normally on a Linux system this is set in "/etc/sysctl.conf", but I see that my Relay does not have that file. I've done a little searching and see that others have tampered with the file, perhaps on other ROMs, primarily for power tuning.
Does anyone here know anything more about /etc/sysctl.conf on the CM11 as used by the Relay>
I'm still running a stock Android 4.1.2 ROM.
BusyBox and Toybox each include a sysctl tool — but not a sysctl.conf file. If you use the sysctl binary to make a change, I don't think it'll persist across reboots.
Did your ROM ship with a /system/etc/sysctl.conf file? Could you create one? If you add a line to it and reboot, does the option in the file get successfully loaded into RAM?
Your question isn't really so specific to the Galaxy S Relay. Maybe post a question elsewhere and provide us with a link to that question?
No, "/system/etc/sysctl.conf" does not exist. I wasn't even able to get into "/system" without root, but with it I did. I tried:
echo "net.ipv4.tcp_challenge_ack_limit=999999" >/system/etc/systcl.conf" and got the error that it was a read-only filesystem.
Next question... What's up with "/etc" and "/system/etc"? I've always seen the former on Linux, but I've seen references to the latter on Android, and found both to exist on Android. Many of the Linux-isms I've grown accustomed to seem to exist in multiple places under multiple names on Android. Is there a simple explanation to this somewhere?

Categories

Resources