[DEV] Debian GNU/Linux (testing) for Galaxy Note i717 - AT&T Samsung Galaxy Note I717

Now that I've ported the Kexecboot bootloader, I'm moving on to my ultimate goal of getting a GNU/Linux desktop distribution running on the Note. My distro of choice for ARM these days is Debian, because it works well both in a chroot on Android as well as natively booted on its own. With kexecboot, you can boot kernels off of the external SD card or even off of USB drives, so you can have Debian and Android installed simultaneously. I'm booting Debian off of my external SD, a 16GB Sandisk class 10.
TO-DO LIST:
* Creating rootfs [DONE] - Use debootstrap to create a minimal armhf rootfs of Debian testing
* Compile kernel [DONE] - Using the CM11 kernel as a base, compile a kernel with features necessary for Debian
* Booting [DONE] - Boot a kernel that loads the Debian root filesystem natively
* USB OTG [DONE] - Once booted, use USB keyboard and mouse to interact with the device
* WiFi Networking [DONE] - Automatically load the WiFi driver and connect to a wireless network at boot, enabling remote access
* Basic Video [DONE] - Load an X server to display graphical applications on the display
* 3D Acceleration [WIP] - Use the Freedreno driver to accelerate GLES and GL 3D applications
* Screen rotation [TODO] - Figure out if Freedreno can rotate the screen to landscape mode
* Video Acceleration [TODO] - Use the MSM video decoder to accelerate video playback
* Audio [WIP] - Write an ALSA UCM configuration file to map the correct mixer channels to get sound out of internal speaker and/or headphones
* Touch and Pen [WIP] - Pen input seems to work, but touchscreen isn't being detected by X
* Bluetooth [WIP] - I can initialize and scan, but was unable to pair and hold a connection. Useful for keyboard and mouse while charging/externally powering device.
* Mobile Radio [TODO] - Make use of the mobile connection for data, possibly calls if anyone wants to take a shot. I'm not going to work on this.
* Package for release [TODO] - Build a fresh rootfs free of my development changes, copy any necessary stuff, package, and upload.
I plan on developing this simultaneously for the Note i717, Note 3 (N900T), and HP TouchPad as I have all three of these and I should be able to get supported kernels working for all three as well. I'll post pictures as I go, right now I'm still mostly working from an SSH shell over WiFi.
https://www.youtube.com/watch?v=qtb-TSGumNo
EDIT: Got the same patch applied to the TouchPad and it too is running these programs as shown in the video. Unfortunately the backlight doesn't come on on the TouchPad so it's hard to see anything.
EDIT 2: Colors sorta fixed: http://i.imgur.com/1kmKDOw.jpg I fixed the main picture but the 3D rendered video is now messed up with red and blue swapped.

CalcProgrammer1[/QUOTE said:
That sounds way to kool.
If I could get over my "terminal" fear I'd give you a hand, but as reading code I have no clue.
I couldn't even get linuxonandroid nor deploylinux to work and they both had a GUI.
That idea to use a REAL OS on the plablet is as great as using a REAL OS on a computer.
I do hope you succeed especially if the phone works also. LOL!
Thanks. :good:
Click to expand...
Click to collapse

What keyboard/trackpad combo are you using?

Related

[Q] Porting Honeycomb to Toshiba AC100

Hi,
I own a Toshiba AC100 loaded with Android 2.1. Toshiba promised since the launch an update for Android. Nothing is out today.
I saw that a guy has achieved to port Honeycomb to Nook Color using the preview sdk. I really would like to know from you experts if this would be possible on the AC100.
Waiting for answers.
I second that question, would be very much interested in it.
Your not going to get any other answer then this. ..... wait till nvida and Toshiba release the source. Developers can't properly port or develop software or a Tom to run on tetra hardware for hunycomb untill they have the drivers(source) so to speak. I am sure if you look in your device specific thread for the Toshiba folio100 u will see the answer similar to mine there......
I heat that Pipposanta of tabletroms has a honeycomb port for the AC100 that just got released.
aComb100 v0.3 x3 Honeycomb 3.0.1 Review & installation Android 3.0 on Toshiba AC100
Original & active thread: tabletroms.com/forums/ac100-rom-development/1918-acomb100-v0-3-honeycomb-3-0-review-installation-android-3-0-toshiba-ac100.html
Review Android 3.0.1 on Toshiba AC100
10.09.11 InterSolar
Video (russian language) youtube.com/watch?v=nLCTN2tyTaY]Toshiba AC100-116 android 3.0 - YouTube (video is early beta version 3.0, if you have camera, we need new review.
Installation Android 3.0 on Toshiba AC100
Last Installation files:
1. Install 2.2 Silver 4b narod.ru/disk/14151973001/ac100_flash_v4b.7z.html
Choice 116 cmd - with 3G build-in modem
Choice 117 cmd - without 3G build-in modem
2. After this install last Android 3.0.1 narod.ru/disk/24414263001/and3v0_3x3.7z.html
last version: Android 3.0.1 v 0.3 x3 for Toshiba AC100
Choice flash_uni.cmd
*Only if its cant work, сhoice 117 cmd
what works
touchpad
sound
usb
graphic acceleration on android
sleep (standby) (after patch)
keyboard after patch work perfectly (cant works only two or three key in top raw - function keys)
Wi-Fi (when dancing with a tambourine ala shaman - now need more action after installation
function cant work now:
Camera
bluetooth
Debugging & work list on Android 3.0 on Toshiba AC100
It would be nice to finish here, these bugs and comments (which complained about the user):
Operating Bluetooth
Camera (users write that it does not work)
Support for networks WiFi AD-Hoc - WiP (All Android devices cant default support Adhoc, but we have solution (is'nt very easy))
Support AC3 Sound codec in Films & Hardware decoding (avi) - WiP, we have solution
No H/W acceleration in MX Player.
Youtube playback not working probably because of above.
Lid switch not working.
Support WiMax (use madwimax drivers)
Save all network settings in Wi-Fi by SSID - partially done, use market.android.com/details?id=org.kman.WifiManager - WiFiManager
Time from battery work ~3-4 hours (its not power save) & AC100 little heat - partially done, use Powersave profile market.android.com/details?id=com.antutu.CpuMasterFree - CpuMasterFree. Its increase battery life up to 6-7 hours & heat off.
Force closes on browser when trying to download files - done, need use this solution tabletroms.com/forums/ac100-rom-development/1918-acomb100-v0-3-honeycomb-3-0-review-installation-android-3-0-toshiba-ac100-9.html#post25323
To run all the programs for 2.2 (eg 2gis, skype last) - done, need use this solution tabletroms.com/forums/ac100-rom-development/1918-acomb100-v0-3-honeycomb-3-0-review-installation-android-3-0-toshiba-ac100-9.html#post25323
OpenVPN support - done, did xandrster
Supports NTFS * - done, is implemented in firmware v4a by silver-alx *
Incorrect sleep/suspend mode - done
The top row of the keyboard (add functions work. Keys correctly) partially done
The software increases the volume of sound (the sound of movies in 3.0 as quiet?) done
Wi-Fi connection with open access points (after the flash without additional) - Partially done. did xxl-pda & after xandrster
3G modems USB detect automaticly - done, did xandrster
Blocking turning in applications where rotation is programmed by default (similar to 4b) - done
Thanks pipposanta (first developer A3.0 on AC100), xxl-pda, Xakep_fsb, xandrster, big_agent & LicRen
old version (0.2 , 0.1) - tabletroms.com/forums/ac100-rom-development/949-acomb100-v0-2-honeycomb-3-0-a.html
(0.3 test1) db.tt/l4r2ykm - download in dropbox here
dl.dropbox.com/u/27358017/test_2.7z (fast direct link)
(0.3 test2) ac100.163.ru/firmware/3.0/Android%203.0%20(test).rar
(0.3 x1) ac100.163.ru/firmware/3.0/ac100v03x1.zip
(0.3 x2) narod.ru/disk/24204997001/and3v0_3x2.zip.html
Goog evening
Russia
Sample Android 3.0:
tabletroms.com/forums/attachments/ac100-rom-development/393d1311775823-acomb100-v0-2-honeycomb-3-0-open-apps-asus-sm.jpg
tabletroms.com/forums/attachments/ac100-rom-development/445d1312464304-acomb100-v0-2-honeycomb-3-0-298211.jpg
Click to expand...
Click to collapse
aComb100 v0.4 Honeycomb 3.0.1 Review & installation Android 3.0 on Toshiba AC100
Original & active thread: tabletroms.com/forums/ac100-rom-development/2793-acomb100-v0-4-honeycomb-3-0-1-review-installation-android-3-0-toshiba-ac100.html
New 0.4 released!
Review Android 3.0.1 on Toshiba AC100 (Dynabook AZ)
07.10.11 InterSolar
Video (russian language)Toshiba AC100-116 android 3.0 - YouTube (video is early beta version 3.0, if you have camera, we need new review.
Installation Android 3.0 on Toshiba AC100
Last Installation files:
2. After this install last Android 3.0.1 download
last version: Android 3.0.1 v 0.4 for Toshiba AC100
Before flashing - install drivers, get miniusb-plugged ac100 to fastboot (ctrl+esc+power),
Also you can start backup.cmd (copy from scripts) or backup.sh before install for backup your current firmware.
Run flash.cmd - for windows , flash.sh - for linux.
Run restore script if firmware not start.
All function now works
Touchpad
Sound
USB
Graphic acceleration on android (All Games works)
Sleep (standby) (after patch)
Keyboard after patch work perfectly (cant works only two or three key in top raw - function keys)
Wi-Fi
Bluetooth
Camera (little delayed now & cant show preview)
Features:
- New kernel with swap,loop,squashfs,joystick,btusb,wimax support (look into /system/lib/modules);
- Battery hold 8+ Web-surf, if SetCPU have Powersave profile (you can try too from market juiceDefender);
- Correct Sleep if bluetooth is on (Go to sleep hold button Power more 3 sec, for un-Sleep all functional keys (i'm using down arrow);
- WiFi connect with open point (immediately after the flash, no more run the additional scripts? if not - run 2.sh);
- Correct work DHCP in WiFi connect;
- Keyboard works more correctly;
- 3G modems (usb or internal) start automatically;
- correct automount points;
- MidnightCommander,dropbear,busybox 1.1.19 included;
- openVPN support.
- usb mouses,keyboard support;
Debugging & work list on Android 3.0 on Toshiba AC100
It would be nice to finish here, these bugs and comments (which complained about the user):
Operating Bluetooth (default is off, work only manually from terminal, (!) work normally in 0.4)
Support for networks WiFi AD-Hoc - WiP (All Android devices cant default support Adhoc, but we have solution (is'nt very easy))
No H/W acceleration in Adobe MX Flash Player.
Youtube playback working slowly because of above.
Lid switch not working?
Support WiMax (use madwimax drivers) - experimental done, need test
Maybe the kernel to support usb sticks? - partially done. did xandrster
Internal Terminal (app) cant work after flash - partially done.
Support AC3 Sound codec in Films & Hardware video decoding (avi & mkv) - download MX Video Player (with support for AC3), + hardware decoding video at Tegra (last version 1.3, you need both files: player & codec ) and use (AC3 sound to display software). Thank sergyo007 and rasta12
Save all network settings in Wi-Fi by SSID - partially done, use WiFiManager
Time from battery work ~3-4 hours (its not power save) & AC100 little heat - partially done, use Powersave profile CpuMasterFree. Its increase battery life up to 6-7 hours & heat off.
no installs several applications at the time of installation errors in the log fall down - done, did xandrster
Internal 3G Modem may cant work after flash x3 & greather version - done, did xandrster
Force closes on browser when trying to download files - done, need use this solution aComb100 v0.3 Honeycomb 3.0 Review & installation Android 3.0 on Toshiba AC100
Market & Gtalk work, but cant download or install apps from Market - done, did xandrster
To run all the programs for 2.2 (eg 2gis, skype last) - done, need use this solution aComb100 v0.3 Honeycomb 3.0 Review & installation Android 3.0 on Toshiba AC100
OpenVPN support - done, did xandrster
Supports NTFS * - done, is implemented in firmware v4a by silver-alx *
Incorrect sleep/suspend mode - done
The top row of the keyboard (add functions work. Keys correctly) partially done
The software increases the volume of sound (the sound of movies in 3.0 as quiet?) done
Wi-Fi connection with open access points (after the flash without additional) - Partially done. did xxl-pda & after xandrster
3G modems USB detect automaticly - done, did xandrster
Blocking turning in applications where rotation is programmed by default (similar to 4b) - done
Camera (users write that it does not work) - done, thanks zombah, xandrster
Thanks pipposanta (first developer A3.0 on AC100), xxl-pda, Xakep_fsb, xandrster, big_agent & LicRen
old version (0.2 , 0.1) - aComb100 v0.2 Honeycomb 3.0
0.3 - aComb100 v0.3 Honeycomb 3.0 Review & installation Android 3.0 on Toshiba AC100
Goog evening
Russia
Click to expand...
Click to collapse
Please use the Q&A Forum for questions Thanks
Moving to Q&A

[CLOSED]CyanogenMod 7 "Galaxy5" Port

PLEASE NOTE: This topic is outdated. I am not maintaining the 7.0.x port - please upgrade to the latest 7.1 version here. Mods, please lock this thread.
Cyanogen 7.0.3 (Android 2.3.3)
Current version: galaxy5-v3.41 - 4/June/2011
Video Reviews: Russian, Brazilian Portuguese 1, 2, 3 (thanks to the uploaders)
Threads: XDA
Hey folks,
This is a port of Cyanogen 7.0.3 (based on the stable Android Gingerbread 2.3.3 release) for the Samsung Galaxy 5 I5500 (Europa) phone. The current port status is beta - most functions work, but it may not be suitable for everyday use, unless you can live without the missing features (see errata below). If you have programming experience, any assistance in resolving the remaining issues will be much appreciated. See the working features and "errata" listed below for more information.
Special thanks to Motafoca for starting Cyanogen development, and for his constant assistance.
WARNING!
* READ THE ERRATA BEFORE ASKING QUESTIONS OR USING THIS ROM. The most important entries are written in red.
* If you fail to read the errata (and ask silly questions that are already answered), I will personally find out where you live and hunt you down.
* This is beta-quality software, and some functions are still not available compared to the Froyo builds!
Instructions:
1. Download the latest release, and extract the .tar file from the .7z/.rar archive (using WinRAR or 7zip).
2. Flash .tar file in Odin with One Package option - do NOT select any other options (such as debug).
3a. If upgrading from Eclair or Froyo (any version), you must data-wipe.
3b. If you are upgrading from an older Cyanogen version, read the changelog for the newest release if you need to data wipe.
3c. If you are flashing a hotfix, you must flash it after flashing the full release. Data wiping is not necessary for hotfixes.
4. When the Google Setup Wizard appears, I recommend that you leave the phone idle for a minute or so. Applications are still installing in the background, and completing the wizard early may cause some icons (such as Market) to go missing. If you were impatient, and some icons are missing, install Titanium Backup and use the "unfreeze" feature.
5. Optional: during Google account setup, you may want to disable the backup feature of Google Apps. Some users have reported that it causes lag (which will be investigated).
6. Optional, but highly recommended. Upgrade your baseband to the version recommended for your region. This is explained in the next section.
Baseband
The baseband (also known as the MODEM/AMSS) deals with telephony, mobile networking (3G/GPRS) and GPS. Unlike Froyo, Cyanogen is sensitive to the baseband version you have installed, and some functions do not work properly (most notably GPS) when using older basebands. For that reason, I recommended that you upgrade your baseband to the latest version when using Cyanogen. Follow the steps below:
1. Make sure you have a working backup of your phone's official AMSS (in case you have problems). There is no way to backup the AMSS from a running phone, so you must have a full copy of an official ROM. You really should have a backup of your official ROM, as you will need to flash it before sending the phone for warranty repair (for whatever reason). Refer to this guide for more details on how to acquire a backup of your official ROM: http://androidforums.com/samsung-galaxy-europa-5/321656-manual-device-cant-updated-workaround.html
2. Go to Settings -> About phone -> Baseband version. If your baseband version is already the same version as you intend to flash (in step 3a or 3b), then stop here. You don't need to do anything else.
3a. For Europeans, download the I5500XWJP4 baseband.
bb. For the Americas and & rest of the world, download the I5500LUYJPE baseband.
4. When you have downloaded the appropriate baseband for your region (and you are sure that it needs to be upgraded), simply flash the .tar file in Odin with the One Package option. Data-wiping is not necessary.
5. Once your baseband is flashed and your phone has rebooted, go to Settings -> About phone -> Baseband version, and verify that it is now the correct version.
6. Note: you only need to flash the baseband once. Flashing Cyanogen itself will not change the baseband. If you flash an official Froyo ROM that was downloaded from Kies or SamFirmware, your baseband will be changed to the version that was included in the ROM package.
Release list/changelog:
* v3.41 - includes v3.4+hotfix2 changes; improved default kernel settings for stability and performance (tested by ghusdark, reported to fully solve wakeup problems); tweaked cache settings; added mpeg4 to list of working codecs (but the rest are still not working). Data-wipe will not be necessary, but you should disable app2sd before upgrading if you are using a release older than 3.4hotfix2.
* v3.4 + hotfix2 - 2/June/2011 - removed old patches from kernel (were causing system instability, such as framework restarts when first connecting to wifi or batch restoring apps in Titanium Backup); updated kernel source against I5503 2.2.1 source code; removed Titanium Backup from default install (as it was conflicting with the Pro/Donate version); fixed audio issues such as headphones not being detected during call / microphone not working during speakerphone call; fixed issue where Market cannot download large apps; FM Radio app will be installed (despite it still not working) in case people want to try and make it work somehow. Hotfix2 enhances app2sd. It now keeps /data/data in the phone's internal storage, which prevents lag and slow download speeds. You must use ADB to enable/disable app2sd, and if you already have app2sd active, you must data-wipe after installing hotfix2 (even if you installed the previous hotfix1).
* v3.31 - 31/May/2011 - improved Bluetooth reliability (now less likely to fail during initialization). Data-wipe is highly recommended if you are upgrading from 3.2 or lower. You can skip this version if you don't care about Bluetooth.
* v3.3 - 31/May/2011 - fixed bug where phone would not wake from sleep; fixed reboot when disabling Bluetooth; changed wifi sleep policy back to defaults; fixed wifi reconnection problem when waking from sleep; converted system filesystem to EXT4; removed galaxy5_defaults script (it was causing Market and some other icons to sometimes disappear); removed need for 1 minute freeze & bootloop on every flash; added more preloaded apps: Street View for Google Maps, Blade Wifi Fix, Titanium Backup. A data-wipe is highly recommended for this version.
* v3.2 - 30/May/2011 - fixed wrong microphone problem (again); enabled H264 codec (DIVX and MP4 videos don't work yet, but HQ Youtube video now works); improved galaxy5_defaults script (will no longer cause Market or other icons to disappear after data-wipe); preloaded more apps (Gmail, Youtube, Maps & AdFree Android); changed readahead values (to help prevent lag, especially for app2sd users); now uses Froyo 2.2.1 (JPE) proprietary files; changed kernel config (potential fix for phone not waking from standby - please test). Data-wipe is not necessary but recommended if you have problems.
* v3.1 - 28/May/2011 - decreased Davlik VM size to 16m, set proper minimum CPU frequency/CPU scheduler settings (to hopefully fix unresponsive phone when left overnight); reduced audio latency (fixes ringtones). This version is highly recommended. Data-wipe not necessary if upgrading from 2.992+, but recommended.
* v3.0 - 28/May/2011 - removed "test" from build name. Fixed touchscreen sensitivity (regressed in 2.994). Increased audio driver latency (fixes audio lag - games will now run 100% smooth). Fixed one other bug, not worth mentioning [edit: it was the reboot on first incoming call bug ]... So tired. Gotta sleep.
* test2.994 + hotfix1 - 27/May/2011 - script fixes/enhancements: 1) get_macaddrs - no longer blocks the system_server on each boot; 2) galaxy5_defaults - runs more efficiently (which means that first boot after a flash will not be delayed as much); 3) madteam_app2sd - several fixes, including a more efficient transfer procedure, and will now set the writeback journalling flag for partitions properly; 4) 04galaxy5 - readahead speed tweaks are now different between STL and MMC devices. Slightly modified microphone fix in libaudio so that it initializes the microphone only when an input device is requested (to hopefully prevent some audio lag). Recompiled entire framework with different TARGET_CPU_ABI (was armeabi-v6l, now armeabi - this appears to reduce system lagging). Removed (currently useless) FM app + some orphaned .odex files. Tweaked keyboard size. Tweaked ADWLauncher to reduce battery usage and help avoid accidental widget removal. Summary: several bug + lag fixes = better performance and reliability. Update to this version is recommended. Data-wipe not necessary, but recommended. Hotfix1 (thanks to Motafoca/npmap) includes a new kernel with several patches to EXT4, bugfixes and a new Simple IO scheduler (optimized for flash devices).
* test2.993fix4 - 25/May/2011 - completely fixed reboot hangs (when turning off or rebooting phone); potentially fixed VPN support; tweaked touchscreen (should be more responsive at edges - please test); fixed various boot loop problems related to app2sd; fixed lockscreen widget (no longer obscures caller); reduced keyboard size; added Live Wallpapers; added USB tether option (not yet working); improved app2sd/caching to fix lag issue; updated kernel (new performance tweaks + TUN module added for VPN support). Data wipe is required if upgrading from 2.991 or older. If you have enabled app2sd in version 2.992, please see errata step 2d.
* test2.992 - 22/May/2011 - now based on Cyanogen 7.0.3 (stable version based on Android 2.3.3 - hopefully less bugs for us!). Fixed problem with missing Market icon; improved delay during first boot; upgraded audio driver (slightly less lag); added swap support / new app2sd implementation (see errata). Data wipe is required in all cases.
* test2.991fixed - 16/May/2011 - fixed Bluetooth & WiFi MAC on first boot, improved scripts so that data wipe should no longer be necessary when upgrading between Cyanogen versions; fixed WiFi disconnection problem; partially fixed the problem of the lockscreen hiding the incoming caller's name; enhanced status bar icons (now uses: Wifi / Mobile Data / Bluetooth / Brightness / Sound / Orientation). This ROM should now be considered BETA quality. NOTE: There was a slight problem with a script, so I reuploaded the fixed version. You may need to re-download and flash again.
* test2.99 - 16/May/2011 - updated Cyanogen source; TELEPATHY NO LONGER REQUIRED -> for those who missed the joke, the microphone problems is fixed, so you don't need to practice telepathy with your friends while making calls
* test2.98 + test2.98 hotfix3- 15/May/2011 - updated Cyanogen source; tweaked settings to keep launcher in memory and allow purging of unused assets (this should greatly reduce lag and improve multitasking); more improvements to boot scripts; Bluetooth now uses proper MAC address (see errata); tweaked cache settings for disks; changed GPS libraries (it should now connect to satellites a bit faster). Hotfix3 fixes Bluetooth speed.
* test2.97 + 2.97 hotfix - 13/May/2011 - updated Cyanogen source; improved 2D performance; fixed slow WiFi connection on first boot; fixed WiFi tethering; fixed 3G/WiFi DNS (now uses DNS address from your APN/access point instead of forcing Google's DNS servers); added "Download" mode to list of reboot options (helpful for your once-a-day reflashing ); reverted to stable Google Apps version (because newer version still has problems); improved boot scripts (cleaner + faster boot); updated kernel (the beginning of some performance tweaks). The hotfix will fix some sound-related lagging caused by a bad kernel configuration.
* test2.96 + 2.96 hotfix - 11/May/2011 / 12/May/2011 (hotfix) - updated Cyanogen source; fixed WiFi signal, mac address & slow DHCP resolution; improved boot scripts; phone will now power off/restart faster (and will also no longer crash during these periods); phone seems to stay cooler (possible battery savings?); moved download cache to data partition (so you can install large apps from the Market, such as Angry Birds Seasons).
* test2.95 - 06/May/2011 - updated Cyanogen source; improved boot scripts so that Bluetooth is initialized properly; updated Google Apps (Talk should be voice-enabled, but hasn't been tested)
* test2.94 - 06/May/2011 - now using open source lights library; fixed USB Mass Storage; fixed headphones; removed unnecessary Cyanogen statistics and update apps; tweaked cache settings
* test2.93 - 03/May/2011 - now based on lge_thunderg code; fixed camera & video recorder; Broke USB Mass Storage and headphones.
* test2.92 - 01/May/2011 - rebuilt against first Cyanogen 7.1.0 (Gingerbread 2.3.4_r1) code merges, fixed WiFi for new version of Gingerbread; Broke USB Mass Storage.
* test2.91 - 30/Apr/2011 - converted system to ext4 (more speed + stability), new kernel (improves performance), fixed regular headphones (thanks to Ronison & Motafoca for patch), fixed wifi disconnections (hopefully), added Google Setup Wizard (no longer crashes), removed RomManager (we can't use it yet), battery life improvements
* test2.9 - 28/Apr/2011 - fixed app crashes (Angry Birds/FPSE, etc.), fully rooted, Phone dialer now locks during call, Market can now sign into Google account, tweak to prevent possible bootlooping problem. Thanks to Motafoca for discovering the crashing problem!
* test2.8 - 27/Apr/2011 - fixed: USB Mass Storage, brightness controls, battery usage, misc telephony bugs, SD/internal drive access speed
* test2.7 - 25/Apr/2011 - fixed 3G, Bluetooth (partial), ADWLauncher scrolling speed (fixed permissions)
* test2.6 - 24/Apr/2011 - fixed lcd density (now 120); added low dpi resources to fix various graphical problems (such as lock widget, boot animation, overlapping widgets, badly sized icons); added FM Radio app (but hardware is not yet working).
* test2.5 - 23/Apr/2011 - first release.
Working:
* GPS [1]
* WiFi
* WiFi tethering
* 3G
* Brightness controls
* Video
* Audio (recording and playback)
* Touchscreen (no multitouch, don't ask because I'm not working on it)
* Root
* Camera (and video recorder)
* Microphone
* SIM Contacts
* MAD Team App2SD [2]
* Swap [3]
* Telephony
* Sensors [4]
Partially working:
* Bluetooth [5]
* SIM Toolkit
* Battery [6]
* Hardware encoders/decoders (H264/MP3 working, others not).
Not working/unknown:
* USB tethering - we need a newer kernel, or backported kernel patches.
* FM Radio
* Kies - note: you should never expect a custom rom to work with Kies - Cyanogen or otherwise. You can always downgrade to an official ROM to restore Kies compatibility.
Errata:
[1] GPS does not work with the newest Americas baseband ending in JP9. Check your version at Settings -> About phone -> Baseband. If you have the new baseband, you should downgrade to the JP2 baseband to get GPS (and possibly also 3G) working correctly. GPS is confirmed to work correctly on all European basebands (so far).
[2a] This rom uses a custom app2sd script that I wrote, called madteam_app2sd (based on Motafoca's idea). All folders are put on the SD card, but to prevent lag, the EXT4 partition on the SD card uses a separate journalling device (stl14, which is usually configured as the /cache drive). The phone's original /data partition (stl13) is then reconfigured as the new /cache drive. Additionally, all drives are configured to use EXT4 writeback journalling, which improves performance.
[2b] App2SD is disabled by default. To enable, run madteam_app2sd on from an ADB shell. When you run the command, your phone will freeze for a few minutes and then reboot.
[2c] Toggling app2sd on or off will *not* cause data-loss - all your data is transferred normally. The script also does a free-disk space check on the source/destination drives, and will refuse to change the configuration if there is not enough space available to complete the requested action.
[3] Swap is disabled by default. Run madteam_app2sd swapon or madteam_app2sd swapoff to enable/disable. Changes will be permanent (i.e., swap will be activated/deactivated on every reboot).
[4a] Although the sensors work fine, the sensor daemon is draining a lot of battery. With sensors enabled, the phone generates between 800-1000 wakeups per 15 seconds; for comparison, other phones do around 50-100 wakeups per 15 seconds with sensors enabled. More wakeups = more battery used, so this is not good.
[4b] With the sensors turned off, the phone does just 70-80 wakeups per 15 seconds. If you wish to conserve battery, therefore, you may wish to disable sensors whenever possible. The sensor toggle icon is the furthest on the right in the drop-down notification bar.
[4c] Thanks to testing by LoopMind, we now know that Froyo has the same problem with high wakeups as Gingerbread, so this is not a problem with my port.
[5] Bluetooth has two issues:
[5a] Sometimes Bluetooth will refuse to turn on. This is because of a timing conflict when trying to insert the patched firmware into memory. This problem happens with other Samsung phones, and currently the only known workaround is to reboot your phone and try again. You will have more success enabling Bluetooth if you try when there are no CPU hogging processes running in the background.
[5b] Bluetooth pairing works perfectly, but file transfers do not work properly. In my own testing between my phone and laptop (via a Bluetooth dongle), I noticed that file transfers will only work when the phone is set as discoverable, and the file transfer is initiated within the discoverable timeout.
[6] Battery usage is higher than Froyo. Although sensors are a large part of the problem, it is not the only cause. We are investigating.
Source:
Available here: https://github.com/p...samsung_galaxy5
great firmware.
Yu really made it... NW ram use less... speed also boosted.... wowed I love dis 2.991
Galaxy 5 Subpsyke Cyanogen 7
myshu said:
great firmware.
Click to expand...
Click to collapse
Yea Yu r ryt!! NW dis one is d perfect 1 hmm
Galaxy 5 Subpsyke Cyanogen 7
thx a lot!!!!
I think it would be better if the changelogs added here..
But download link posted only on madteam's forum..
Sent from my Nobu5 using XDA Premium App
Currently using the cy7 test 2.991 on my device! Such an incredible ROM !!
Sent from my Galaxy5 using XDA Premium App
Gonna have a look at it, anyone can post a screen of his home screen to see if there's changes.. Thanks !
Khalil. said:
Gonna have a look at it, anyone can post a screen of his home screen to see if there's changes.. Thanks !
Click to expand...
Click to collapse
This port should look identical to any Cyanogen port (aside from the different screen resolution). The first post has some videos.
I tested it and it's great!
i am now back to froyo because i couldn't backup my contacts via kies...
is there any app to do that? and also the calendar maybe?
if i could do that i would go back to cyanogen 7 i guess
now a few point:
- the keyboard; ist to big in portret mode so you can only see 1/3 of the screen
- the radio doesn't work
- nothing else
so great work but you have to fix some things like the phonecall bug...
Sent from my Galaxy5 using XDA Premium App (Froyo)
EDIT:
i am now back to cyangen 7
i used phone backup 2 for my contacts...
and i also tried a full benchmark with quadrant and my score is: 863! (froyo is like 500) that higher than the GS
subpsyke said:
This port should look identical to any Cyanogen port (aside from the different screen resolution). The first post has some videos.
Click to expand...
Click to collapse
Best rom! Only a few minor bugs
Dis is a best rom... Bt i dint test the rom 2.992 waitun for stable release....
Sent from my GT-I5500 using XDA Premium App
suuper ROM...
thank you sub and MadTeam
How much partirion i sud uSe....???
Sent from my GT-I5500 using XDA Premium App
i am testing it....
conclusion:
- radio still doesn't work
- pick up a call doesnt work (not touchscreen not buttons)
- some apps doesn't work (easymoney)
- it is a bit laggy
just to let you know
i am testing it....
conclusion:
- radio still doesn't work
- pick up a call doesnt work (not touchscreen not buttons)
- some apps doesn't work (easymoney)
- it is a bit laggy
just to let you know
Click to expand...
Click to collapse
The rom 2.99 was awesummm..... There was noo lag n enuf space ram upto to 115.... I removd all unwanted software cyanogen7 n d system went awesummm.....
Sent from my GT-I5500 using XDA Premium App
2.993 is out now!
look: http://www.madteam.co/forum/index.php?/topic/460-testing-cyanogen-7-galaxy5-port/
Cool
Sent from my Galaxy5 using XDA Premium App
Hey Guyss.... download the best ROM. released today 2.993 fixed.... its awesum....
Sent from my Galaxy5 cyanogen7 using XDA Premium
Link to 2.993fix says temporarily not available

[ROM][KVT49L] ArchiDroid [Carbon][Linaro][Stable][Flexible][Excellent][28/04/14]

Clean | Stable | Carbon | Flexible | Optimized | Excellent
-> ArchiDroid 2.X <-
Ported to the Galaxy Player 4.0
BIG thanks to @JustArchi
{
"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"
}
Changelog
ArchiDroid 2.4.3
- Improved archidroid_pixelserv
# Previously archidroid_pixelserv responded to all requests with the same 1x1 NULLGIF response (GIF89a[]![])
# This was OK but in some apps it showed our gif in binary form (GIF89a[]![]) instead of showing nothing, i.e. in Subway Surfers game
# Now we respond with a "NULL" content proper for request
# If app requests JPG, we respond with NULLJPG, if app requests TEXT, we respond with NULLTEXT etc.
# This way app "gets what it wants" and won't show something, which it can't understand to user
# Surprisingly, at least Subway Surfers doesn't show any ad right now, so it also stops some apps from displaying NULL content, instead of showing NULL in binary form
- Removed VNC Viewer
- Updated ArchiDroid Backend tools (dnsmasq, haveged, dnsproxy2, pixelserv) to latest versions
- Updated PA GAPPS to 0417
- Used Carbon as base; Omni is maybe coming in future (if requested; this eventually needs much time)
Download
All Files Dev-Host
Experimentals on GitHub
Stable: ArchiDroid 2.4.3
Oldstable: ArchiDroid 2.X
Remember that you don't need anything else to flash. Google Apps are included already.
Known Issues
All known and unknown Carbon/CM bugs (if any)
Debian and adflash are not working yet (maybe we have to create a virtual ext4 partition cause of too little /data partition).
If this is working it's possible to modify adflash to fit my GitHub repository.
Follow (original) ArchiDroid On XDA!
Write A Review!
Rate the Official Thread!
Buy The Masterchief A Beer (he created this awesome ROM!!)
Like ArchiDroid On Facebook!
Hit Thanks!
Informations:
[ROM] [KVT49L] [OmniROM] [Linaro] [Stable] [Flexible] [Excellent] [20/04/14] ArchiDroid V2.4.3 | Power In Your Hands, a ROM for the Samsung Galaxy Player 4.0
Contributors
JustArchi
andreasltcf
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.0.x
Based On: Carbon; ArchiDroid
Version Information
Status: Beta
Created 2014-04-28
Last Updated 2014-04-28
[SIZE="+3"]ArchiDroid's FAQ / Q&A (i9300)[/SIZE]​[SIZE="+1"]Remember.. This is the Galaxy Player 4.0 thread.. And based an Carbon.. It maybe differs from following information..[/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.
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
You can easily "pack" latest experimental and flash without needing to wait for the next build. I'll tell you how to download and flash it by yourself.
[Newbie Version]
1. Open 2.X-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-2.X-EXPERIMENTAL folder
6. Select all files WITHOUT __dont_include 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 Deflate method of compression.
8. Voila, copy newly created ArchiDroid-2.X-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/andreasltcf/ArchiDroid.git --branch 2.X-EXPERIMENTAL --depth 1)
4. Select all files WITHOUT __dont_include folder zip them into standard .zip format with Deflate compression or without any compression.
5. Copy .zip to your phone and flash as usual
6. In order to update your local repo execute git pull origin 2.X-EXPERIMENTAL and go to point 4.
Additionally you can watch @JustArchi's short video, which shows how to flash experimental ArchiDroid going through "Expert Version" (Archi's GitHub).
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
ArchiDroid Core
- AROMA Installer
- AROMA Filemanager
- 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
- Carbon Rom
- Linaro Toolchain
- Impulse Kernel
- Spirit 2
Special thanks to:
- @JustArchi for creating ArchiDroid icluding all it's optimizations, a helpful hand to make this possible and his AWESOME SCRIPTS + documentation inside them.. really.. this guy is able to do ALL with scripts..
- @zaclimon for his work on our device with its own very little but awesome community, Impulse kernel, his sources for building and again all his contributions for our device..!!
- 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
Nice to see it here as well, good luck with the port .
okay.. if anybody out there using this rom.. pocket debian is working fine.. (img on external sd).. have to write the scripts to do it all automatically..
edit: ups.. have to upload the rom first.... but if there's any interest in this.... btw if you're using carbon just now.. you'll love this rom..
I think people would be interested... I would be interested in trying it out once I get more time on my hands, maybe use it as a daily driver if it fits my needs.

[EXPERIMENTAL] Unofficial CyanogenMOD for WeTek Play with Kodi Live TV

{
"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"
}
Release notes
This build includes a totally new kernel and Amlogic code based on their latest SDK, and I took the chance to get rid of Amlogic DVB drivers and use those from WeTek Play's OpenELEC build; by doing this I am able to run DVBAPI apps like Tvheadend.
Kodi Live TV support under Android was one of the most requested features, this experimental build allows you to run Kitkat (CyanogenMOD 11) or Lollipop (CyanogenMOD 12 or Android TV) and Kodi Live TV (WeTek Theater is no longer supported with the provided drivers).
The new 3.10 kernel brings OMX support as well (Android libstagefright media decoding), while Amlogic's prebuilt libraries work very good on KitKat they don't work at all with Lollipop.
Just to be sure to have a good media experience use Kodi, at the end of the post you will find latest stable official Kodi packed in a flashable zip and in the second post you will find a link to a modified version that should give a better experience on the WeTek device.
Now I will give you some details on how to configure Tvheadend, if you already know what to do you can skip this section.
Tvheadend will run automatically at boot and you can access to it from a web browser (even from a different device, you are not forced to do it from the box) at http://wetek_ip_address:9981
From this WebUI click "Configuration" -> "DVB Inputs" -> "Networks" and add a new Network according to the type of tuner you have (for example I created a DVB-S network called "Hotbird" and assigned the E13.0 pre-defined muxes, just pay attention that they are not bleeding edge updated so if you don't find a channel you might have to insert manually the transponder by looking at frequencies on sites like kingofsat or lyngsat).
After that go to "TV Adapters", click the link with a folder icon showing your adapter's name (if you're running the dual DVB-S2 tuner you will see two of them, #1 is the input closer to the edge of the box, while #0 the one closer to the rear usb ports), and click "Enabled", configure the eventual parameters (DiseqC, Unicable, etc.) and save the settings.
Go to the option right under the adapter name, assign it to the network that you have created and configure the eventual parameters.
Now go back to "Networks", after a couple of minutes you should see the "Scan Q length" lowering its value, when in reaches 0 everything has been scanned and you can proceed mapping the channels from "Services" section.
For further instructions, here you can find a tutorial to show you how to configure the DVB-T/C tuner, and here one for the DVB-S tuner.
Before leaving the configuration go to "Recordings" and set a "Recording System Path" pointing it to your external storage (on my roms it will be "/storage/sdcard1" for the MicroSD, "/storage/usbdisk0" for the lower rear usb port, "/storage/usbdisk1" for the upper rear usb port and "/storage/usbdisk2" for the side usb port).
Not doing that will drive Kodi's Tvheadend client plugin crazy trying to determine the available space for recordings.
Now you can launch Kodi, go to its settings, enable Live TV and select the "Tvheadend backend".
Remember that this is still something EXPERIMENTAL
Like the other Lollipop buils, remember, this is not a bug, but a consequence of the switch to art from dalvik: first boot, updates and apps installation will take longer; this happens because art compiles the apk and does not work like dalvik that was using a just-in-time approach (so expect almost 10 minutes for the first boot and future upgrades)
First install instructions
* As really first thing get this CWM recovery, unrar it and copy "recovery.img" to a MicroSD.
* Power off your device and unplug the AC power cord.
* Get the latest available ROM and GAPPS version from the links below and copy them to a MicroSD card.
* Now insert the MicroSD card in your STB.
* Plug the AC power cord while you keep pressed the little reset pinhole (located on the bottom of the device) for 10 seconds (just count slowly to ten and it will be good).
* Once the device has booted to recovery perform a factory reset and flash the ROM's zip for first followed by the GAPPS zip.
* Reboot and enjoy CyanogenMOD.
Update instructions
* If you're coming from the "regular", not "experimental" builds, please follow the "First install instructions"
* Get the latest available ROM and GAPPS version from the links below and copy them to a MicroSD card.
* Now insert the MicroSD card in your STB.
* Enable "Developer options" following this tutorial and from it enable the "Reboot to recovery" option.
* Bring up power menu by keeping pressed the power button on the STB for a couple of seconds (or pushing F4 if you have a keyboard plugged in) and select "Reboot -> recovery".
* Once the device has booted to recovery flash the ROM's zip for first followed by the GAPPS zip.
* Reboot and enjoy your updated CyanogenMOD.
Downloads
* ROM (CM12) 2015-03-20
* GAPPS 2015-01-07 (LITE)
* ROM (Android TV) 2015-03-20
* GAPPS (Android TV) 2015-01-30
* ROM (CM11) 2015-04-06 - Real 1080p output (r1)
* GAPPS 2014-06-06 (LITE)
* Kodi 14.1 "Preinstall"
Misc tips
* If you wanna start Kodi at boot go to "Developer options" and enable the last entry called "Start Kodi at boot"
* There are some keyboard shortcuts: F1 (Home), F2 (Menu), F3 (App switch) and F4 (Power menu) and some CEC remote shortcuts: Red (Power off the device), Green (Home), Yellow (Menu) and Blue (Search).
* By enabling "Google remote support" in "Other" section of "Network" configuration you will be able to control your device from your Android smartphone / tablet by using this app on it.
* When an app forces the portrait orientation, the default behavior is to simulate a portrait / phone-like UI adding black bars to the sides (an example is Antutu when it runs the benchmark, or Box.com). If you prefer to have a landscape stretched UI flash this zip. To revert to the default behavior flash this one instead.
Note that the setting will persist even if you upgrade the ROM so you have to flash that zip only once.
* Once you have configured your OSCam reader, set-up Tvheadend this way.
Real 1080p output (optional zip for CM11)
On Android Amlogic MX SOC uses a 1280x720 framebuffer coupled with a scaler to do the up/down scaling.
They did it for a good reason, 720p resolution has half the pixels of the 1080p one so the UI will be snappier and 3D performance will be better but if you don't care about that and you just wanna the best image quality (I noticed the scaler gives me a weird motion when watching sports) you can flash that optional zip.
Once flashed if you wanna change resolution go to Android Display settings, set your resolution and reboot the device (this step is required because some stuff has to be set at boot because Android is not meant to change resolution while it's running).
I didn't do it for Lollipop builds because it runs already slower than Kitkat, adding this mod might be too much
Since you have this option (WeTek Play is the only MX device that allows you to do that) I would give it a try, if you have a good TV set you will clearly see the difference.
Kodi 14.2 WeTek_mod_v1
This is a Kodi build that includes some patches not included upstream that will improve (hopefully) your overall experience.
Since it's been signed with different keys respect those from Kodi build server you won't be able to install it over the older Kodi but you'll have to uninstall it.
Take a backup of /sdcard/Android/data/org.xbmc.kodi folder before uninstalling or Android will delete it and you'll lose your configuration; restore it after installing the new APK.
Download
You can use OE's /sdcard/Android/data/org.xbmc.kodi/files/.kodi/userdata/advancedsettings.xml file
Code:
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<network>
<cachemembuffersize>20971520</cachemembuffersize>
</network>
<samba>
<clienttimeout>30</clienttimeout>
</samba>
<network>
<readbufferfactor>4.0</readbufferfactor>
</network>
<pvr>
<minvideocachelevel>5</minvideocachelevel>
<minaudiocachelevel>20</minaudiocachelevel>
</pvr>
</advancedsettings>
or (this is what I'm using)
Code:
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<network>
<buffermode>1</buffermode>
<cachemembuffersize>31457280</cachemembuffersize>
<readbufferfactor>10</readbufferfactor>
</network>
<gui>
<algorithmdirtyregions>0</algorithmdirtyregions>
</gui>
</advancedsettings>
External disk spindown for WeTek Play
Flash this zip from recovery, once booted to android use a root capable file explorer (like Solid Explorer for example) and edit "/system/etc/spindown.conf" to fit your needs.
The default configuration is set-up to spin down "sda" disk after 3600 seconds (60 minutes) using sg3-tools.
You don't need to flash the zip again if you do a rom update because I've added the addon.d backup script.
Note: your drive have to ne able to be set to sleep using "sg_start --stop /dev/block/$disk", I've tried it with 3 drives, 2 WDs and 1 Seagate and it worked.
Debian chroot
As very first thing you have to set-up a MicroSD card with two primary partitions, the first one must be formatted in FAT32, the second one can be left unformatted because the "sdcardfiles" zip will format it (I suggest you to give at least 1GB of space to the secondary partition).
After that grab the two zips: wetek-debian-chroot-sdcardfiles.zip and wetek-debian-chroot-systemfiles-rc1.zip and copy them (together with CWM's recovery.img) to the FAT32 partition of the MicroSD (the primary one).
Boot to recovery and flash the two zips (the order doesn't matter).
How to actually use it:
The "systemfiles" zip will add an helper file that I called "debian-chroot", together with the init.d script it will set up the chroot at boot and run the configured services (as a template the /system/xbin/debian-chroot file includes the execution of dropbear daemon, so you can use it as starting point for your own stuff).
To access Debian you can just type as root from terminal emulator / serial console / adb over network "debian-chroot chroot", othwerise you can access using an SSH client to the configured Dropbear SSH server that is listening on port 2222.
There are two default users: 'root' (pwd: wetek) and a regular user 'wetek' (pwd: wetek), both can be used to access to the ssh server.
* ROM 2015-01-30
* GAPPS 2015-01-07 (LITE)
* ROM (Android TV) 2015-01-30
* GAPPS (Android TV) 2015-01-30
In the "regular" CM12 build added some things I had forgotten when upgrading the device tree from the old to the new kernel (the most important, I had forgotten to mkdir the paths for the hard drives mounting).
Included the new tvheadend posted in OpenELEC section (the one with the different decsa algorithm)
Added Android TV build and just a tip for the first boot of it...
Don't change the language, use the default english already selected (don't know why but changing language is VERY sluggish/laggy), when you're doing configuring it you can change it to your preferred one in Android's settings.
Another thing, if the screen stays black after allowing or denying the "Network location" option (the last step of the wizard) for more than 10 seconds just bring up power menu and perform a reboot, the Wizard will kick in again, you'll have to just click continue because everything is configured and it will work. I don't know why it acts like this sometimes!
Guys if you experience some freezes of the box after running for certain time an encrypted channel (I noticed that it happens to me between 45/60 minutes after tuning to such channels) it might be caused by the new decsa library, it looks like it has a memory leak.
I will revert to the older binary, in the meantime you can flash this zip to go back to the one from the older build.
After reverting I'm tuned on an encrypted channel since an hour and I don't see any weird memory issue
Oh, guys, I forgot to mention that in this build I've enabled Amlogic's "anymote" support (the backend to be remotely controlled use Google TV remote app).
To use it go to "Network -> Other" options in Android's settings and enable "Google TV Remote support", after that install this app on your Android phone/tablet and you'll be able to use it as a remote.
PS: I didn't have much luck running the "Google TV Remote" app from the Play Store, it wouldn't find the device at all, maybe they are enforcing a private key handshake like in newer Google Cast Receiver to be able to run it only on official Google TV devices.
PPS: remote audio input doesn't work, the Amlogic's anymote throws an exception regarding a class not found. Can't do much about that since it comes as a precompiled APK (and I already had to do some smali hack to be able to run it on Lollipop)
* ROM (CM12) 2015-01-31
* GAPPS 2015-01-07 (LITE)
* ROM (Android TV) 2015-01-31
* GAPPS (Android TV) 2015-01-30
* ROM (CM11) 2015-01-31
* GAPPS 2014-06-06 (LITE)
Lollipop ROMs:
* Reverted tvheadend to the older version that doesn't suffer of memory leak
* Introduced a workaround to prevent Netflix from using OMX
* Updated upstream sources
Kitkat ROM:
Added CM11 based on the new kernel. It's generally faster than Lollipop, as I have said ART probably is too much for the MX
I haven't added the extra stuff to Android settings so I'm including the ugly MboxSettings app, I have given more love to Lollipop, I have to admit it, in case if you people prefer this rom I can start customizing it more.
I suggest you to install SuperSU from Play Store, let it update the "su" binary choosing the normal way and converting it into a system app + installing the backup script to let it survive rom updates. This because CM11's SuperUser doesn't work nicely with the way Kodi request root rights.
Beside the same F1/F4 shortcuts as the Lollipop roms above, there's a further shortcut with F8 to toggle expanded desktop mode.
* ROM (CM11) 2015-02-01
* Added the most important things of MboxSettings to Android settings (display resolution, overscan, cec, digital audio and google tv remote).
* Added an entry, accessible through developer settings (at the very end of the list), to enable the autostart of Kodi at boot
* ROM (CM11) 2015-02-02
* added the new suspension method (I will quote my previous post to describe it)
ChristianTroy said:
Guys I've been trying a new suspension method, it's a better solution IMHO.
I'm going to use Android's capabilities to prevent the device from entering suspension (with wakelocks) to only let the kernel turn off everything but without really entering suspension, something like flashing the "wetek-disable-shutdown.zip" that you find in the second post of all my other rom's threads.
But I did a modification in the kernel: it will turn the power led blue/red if the display is on/off so you'll know if you actually turned it off. I decided to mantain on the eventually enabled wifi or eth led so you'll see if you have connection or not.
This thing is very useful if you're going to program a recording in tvheadend, otherwise the device won't wake from sleep (at least not with easy work without using Android's AlarmManager to create a new wake up task) and in this way the device won't have to perform boot from scratch once you put it to sleep, but it will be instantly on again.
It will consume a little bit more of power though (haven't run much tests but since this device when it's on runs at 7w, I guess it will be <5w) but I think that many of you keep it running all the time, in this way it's like if it was running but just with the output turned off
Click to expand...
Click to collapse
* corrected an unwanted (by me) behavior of Amlogic's android ethernet service that was putting off the interface when the display was being turned off. If you were connected using eth you would find yourself without network with the new suspension method... if for some reason you want your eth to be turned off when the display is off add "ro.screen_off.disable_ethernet=true" to /system/build.prop
* disabled google setup wizard that was causing a black screen on first boot because it was invoking the AOSP version of setWifiEnabled instead of CM's one with AppOps support
* enabled the execution of a boot service to set up the remote (you couldn't power off the device using the remote before this build) that I had forgotten to set up after moving to the new kernel branch
ps: let me know what you think about this new suspension method, personally I do really love it and was thinking about that since quite some time
Debian chroot
As very first thing you have to set-up a MicroSD card with two primary partitions, the first one must be formatted in FAT32, the second one can be left unformatted because the "sdcardfiles" zip will format it (I suggest you to give at least 1GB of space to the secondary partition).
After that grab the two zips: wetek-debian-chroot-sdcardfiles.zip and wetek-debian-chroot-systemfiles.zip and copy them (together with CWM's recovery.img) to the FAT32 partition of the MicroSD (the primary one).
Boot to recovery and flash the two zips (the order doesn't matter), after each ROM upgrade you'll have to flash only "wetek-debian-chroot-systemfiles.zip" (the other one is just to set up Debian, flash it in case you mess up the system and wanna start from scratch).
How to actually use it:
The "systemfiles" zip will add an helper file that I called "debian-chroot", together with the init.d script it will set up the chroot at boot and run the configured services (as a template the /system/xbin/debian-chroot file includes the execution of dropbear daemon, so you can use it as starting point for your own stuff).
To access Debian you can just type as root from terminal emulator / serial console / adb over network "debian-chroot chroot", othwerise you can access using an SSH client to the configured Dropbear SSH server that is listening on port 2222.
There are two default users: 'root' (pwd: wetek) and a regular user 'wetek' (pwd: wetek), both can be used to access to the ssh server.
Regarding the random black screen on channel change can anyone try this advancedsettings.xml (location on Android is "/sdcard/Android/data/org.xbmc.kodi/files/.kodi/userdata/") and tell me if it acts better? I didn't have any black channel since using it (3 days) but I don't wanna that it's just a lucky coincidence
Code:
<advancedsettings>
<network>
<buffermode>1</buffermode>
<cachemembuffersize>52428800</cachemembuffersize>
<readbufferfactor>10</readbufferfactor>
</network>
<pvr>
<minvideocachelevel>10</minvideocachelevel>
<minaudiocachelevel>15</minaudiocachelevel>
</pvr>
</advancedsettings>
Regarding the XMLTV EPG I set up xmltv to use tv_grab_it for some channels (47 to be precise, and it takes ~1 hour per fetched day with the --slow parameter that includes descriptions) and fix it using tv_sort on the generated output because some channels don't have a stop time and this won't let tvheadend add them to its database.
I used a Debian chroot in my Synology NAS and set up a crontab job in Synology's crond to execute a script, located at '/root/xmltv.cron' with this content:
Code:
#!/bin/sh
# Package
PACKAGE="debian-chroot"
DNAME="Debian Chroot"
# Others
INSTALL_DIR="/usr/local/${PACKAGE}"
PATH="${INSTALL_DIR}/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin"
CHROOTTARGET=`realpath ${INSTALL_DIR}/var/chroottarget`
chroot ${CHROOTTARGET}/ su -c 'tv_grab_it --output /volume1/homes/alan/www/tvguide_wip.xml --days 3 --quiet --slow --cache-slow && tv_sort --output /volume1/homes/alan/www/tvguide.xml /volume1/homes/alan/www/tvguide_wip.xml' alan
After that I enabled "Web Station" for the users and I can access my EPG from "http://NAS_IP/~alan/tvguide.xml" and use this URL as w*g*e*t parameter for tv_grab_file
This is the result:
If you install on your Play the Debian chroot that I posted yesterday you can practically do the same, just install xmltv on it running
Code:
sudo aptitude install xmltv
(or, if you know what you're doing, compile it from sources installing the required dependencies, some perl modules)
Install a cron daemon like "vixie-cron" and add it to "/system/xbin/debian-chroot" in the "start_services" function (like the template that runs the SSH server).
Set it up, save the XML output somewhere like "/home/wetek/tvguide.xml" and replace the "w*g*e*t" line in tv_grab_file with "cat /storage/debian/debian-chroot/home/wetek/tvguide.xml"
* ROM (CM12) 2015-02-07
* ROM (Android TV) 2015-02-07
Both Lollipop roms have been updated to match features/fixes of latest CM11 builds, plus upstream sources have been updated
New builds:
* ROM (CM12) 2015-02-14
* ROM (Android TV) 2015-02-14
* ROM (CM11) 2015-02-14
* OSCam (r10566)
Oscam zip for these builds, just flash it from recovery, when booted into Android access to http://wetek_ip:8888 and add your server (remember to add it to group 1, that is the group assigned to the dvbapi user).
Open TVH configuration page and in "CAs" section add a new "CAPMT (Linux DVBApi)" with these content:
ps: this oscam has Smargo (libusb) and PCSC support
tvh-3.9.2509_oscam-r10566_android-wetekplay.zip
New Tvheadend built from sources (updated this morning), no more using OE's libraries but with another approach instead. I've built it with some enhancements in CFLAGS for the cortex-a9 cpu.
OSCam included, if you set it up the way I explained yesterday you're good to go, otherwise just configure it that way
ps: it looks like this version recognizes the hybrid c/t tuner as c only so if you need dvb-t keep using the one you're already using
* ROM (CM12) 2015-02-22
* ROM (Android TV) 2015-02-22
* ROM (CM11) 2015-02-22
tvh-3.9.2515_oscam-r10607_android-wetekplay.zip
Test zip that will change the following things:
- update tvh to latest sources (synced this morning)
- update oscam to r10607
- update wetekdvb.ko with the one from OE 5.0.4
PS: now the hybrid tuner is recognized, I had to change a couple of things
* ROM (CM12) 2015-03-05
* ROM (Android TV) 2015-03-05
* ROM (CM11) 2015-03-05
If you're upgrading from a build where you were running oscam, go to "mounts and storage -> format /system" before flashing the new stuff (or manually delete "/system/addon.d/80-oscam.sh" if you know what you're doing).
Changes:
* updated upstream code
* updated WeTek DVB kernel driver
* updated Tvheadend
* added OSCam (no support for it, it's a "grey area" thing)
* fixed a bug where the resolution was resetted to 720p @ 60hz under certain conditions (like when swapping HDMI input in some TVs), and use 1080p @ 50hz as fallback resolution
In case you wanna try a test zip with brand new OSCam and Tvheadend built with Android toolchain (NDK) flash THIS zip on top of today's build. I'd really like some reports about any crash using the native binaries.
Kodi 14.2 BETA 1 apk
This is a Kodi 14.2 BETA 1 based build with two patches added that add support for automatic frame rate switch (you have to enable it in settings) and that should behave better with the black screen bug.
Since it's been signed with different keys respect those from Kodi build server you won't be able to install it over the older Kodi but you'll have to uninstall it.
Take a backup of /sdcard/Android/data/org.xbmc.kodi folder before uninstalling or Android will delete it and you'll lose your configuration; restore it after installing the new APK.
Download
I'm using this /sdcard/Android/data/org.xbmc.kodi/files/.kodi/userdata/advancedsettings.xml file
Code:
<?xml version="1.0" encoding="UTF-8"?>
<advancedsettings>
<network>
<cachemembuffersize>20971520</cachemembuffersize>
</network>
<samba>
<clienttimeout>30</clienttimeout>
</samba>
<network>
<readbufferfactor>4.0</readbufferfactor>
</network>
<pvr>
<minvideocachelevel>5</minvideocachelevel>
<minaudiocachelevel>20</minaudiocachelevel>
</pvr>
</advancedsettings>
* ROM (CM12) 2015-03-10
* ROM (Android TV) 2015-03-10
* ROM (CM11) 2015-03-10
- CEC improvements (codesnake's OE fix)
- Mapped CEC red/green/yellow/blue buttons to power/home/menu/search
- upgrade tvheadend and oscam with the native (android ndk) ones
- updated dvb code (same code as latest OE)
- few other minor things at kernel level
- updated upstream sources
Notes: run it with Kodi that I posted yesterday (and that you can find in the second post) with Aeon Nox skin + Live TV mod and you will get a very good experience, specially if using CM11 or, if you don't mind it being a bit more laggy, ATV
* ROM (CM12) 2015-03-11
* ROM (Android TV) 2015-03-11
* ROM (CM11) 2015-03-11
Fixed a problem with the dual tuner and the new bootloader (the one flashed by NAND version of OE and latest WeTek OS)

[WIP] Enhanced kernel for CherryTrail devices (tablets/convertibles) - 4.14

Hi, there!
Now that we can use Project Croissant to get ChromeOS running or non-Chromebook devices, what is missing is a better kernel for improved compatibility.
Thanks to the threads by @nabil2000 I was able to successfully build a chromeos-4.14 kernel that boots on my test device (Lenovo MIIX320-10ICR - Z8350 processor) using a CONFIG from FydeOS 5.31 with most hardware enabled (WiFi, Bluetooth, sound), but it has the same issue as latest ATB builds: it freezes after a while. This doesn't happen with latest FydeOS or CloudReady builds (CloudReady bought FlintOS so I guess they are using some of their code now), so my guess if that their kernels have some patches that aren't included in the Chromium git. FydeOS is open-sourced only for RaspberryPi and TinkerBoard, there are no sources available for the PC or VMWare versions (PC version is not open source as many say, so be aware).
I already have some ideas to make the trackpad as well as the battery meter and brightness work, but it is not useful if the kernel isn't as stable as FydeOS (virtually no freezes or crashes once booted). I have already checked, and the issue is not the intel_idle.max_cstate issue that plagued most BayTrail/CherryTrail devices in the past (using value 1 doesn't change anything).
So any ideas how to get FydeOS kernel source? Patches to make the current chromeos-4.14 kernel stable?
UPDATE: As @nabil2000 reported, it seems that FydeOS is not willing to release their kernel source. But it is possible to get kernel config from v5.31 using configs.ko module, which is missing in the next version (v6.0). Using FydeOS v5.31 as base it is possible to build a very stable kernel for CherryTrail devices.
Thanks
Installation v71/v72 - kernel 4.14
FydeOS has the best support for the MIIX320-10ICR, with some caveats:
It will boot to a black screen, but you just need to wait until it finishes loading the hit Ctrl+Alt+Fn+F2, the screen will blink and then hit Ctrl+Alt+Fn+F1 to go back to ChromeOS (for some reason, the developer shell is blank in 5.31 but it seems to work fine on 6.0). Use Ctrl+Shift+Fn+F3 to rotate the screen manually;
WiFi works out of the box, Bluetooth is detected but audio does not work (Chromium misses a library for audio over Bluetooth);
Sound works too, but you need to install some UCM files (more about this later);
Camera does not work, and the trackpad works very well, with gestures, but does NOT click (tap to click work with a custom conf file, see below - the trackpad actually sends two events when clicking the physical button, as some Windows devices do, and this doesn't work with cmt driver).
First I tried to build the ChromeOS file using the chromium.img from FydeOS v5.31. It booted fine and I was amazed to see the ChromeOS logo and Google enrollment, but PlayStore setup didn't finish (low space?) and there was no way to install it to another driver: many GPT errors and the installer failed...
Then I tried to do everything on place:
Booted to FydeOS on USB drive;
As I could not get to the dev shell in v5.31, I had to login then use crosh and shell, then installed it on a second external disk (120GB SATA on USB, /dev/sdb):
PS: your device may be a different one, check the correct device name using "lsblk" or "fdisk -l" and be aware that this installation erases the whole disk!
Code:
sudo chromeos-install --dst /dev/sdb
After installing, I have used option 2A from GitHub page (very detailed, thanks!) with the script, soraka (or pyro) and caroline recoveries (both versions 11151.113 = v71) on another disk:
PS: FydOS v5.31 kernel does not have support to VTPM_PROXY, while v6.0 does, it means you cannot use swtpm.jar with FydeOS v5.31 and chromefy. For nocturne or Android Pie ARC, you must use FydeOS v6.0, otherwise ARC won't work.
Code:
sudo bash ./chromefy.sh /dev/sdb recovery.bin caroline.bin
Answered YES to use the local installation, YES to resize partitions and NO in the end to keep SELinux as enforced (it may work fine if you keep it to enforced with nocturne recovery tho when using FydeOS v6.0);
Rebooted using the final installation, logged in and everything seemed fine, but then Play Store would not show installed apps even after a reboot, so I tried a powerwash and it seems it fixed the issue, now it seems to be working fine.
Original post: https://forum.xda-developers.com/showpost.php?p=78891386&postcount=729
Post installation fixes v71/v72 - kernel 4.14
1. Sound
You need to install UCM files using linuxium-install-UCM-files.sh script after remounting rootfs as RW.
Code:
sudo remount -o rw,remount /
sudo bash ./linuxium-install-UCM-files.sh
2. Headphone jack
You must send this quirk to the rt5645 module when loading it, so while rootfs is still RW, as root add a file named "miix320.conf" to /etc/modprobe.d with this line:
Code:
options snd_soc_rt5645 quirk=0x1030
PS: if you have used the correct UCM files then the audio should change between speakers and headphones, but not mic. To enable internal mic:
Code:
sudo alsaucm -c chtrt5645 set _verb HiFi set _enadev DMic
and to enable mic from headset:
Code:
sudo alsaucm -c chtrt5645 set _verb HiFi set _enadev HSMic
3. Tap to click with trackpad
While rootfs is still RW, as root add a file named "50-mixx320.conf" to /etc/gestures:
Code:
Section "InputClass"
Identifier "MIIX320 conf"
MatchUSBID "048d:*"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "Tap Minimum Pressure" "1"
EndSection
PS: for this to work, make sure "tap-to-click" is enabled in trackpad section of system Settings. If you have another device, use "dmesg | grep input:" with "lsusb" to find your device USB id instead of "048d:*".
Still needing fixes:
- chrome://flags is blank for some reason, so any special flags should be added manually to "chrome_dev.conf" instead;
- Trackpad physical button click;
- Brightness control;
- Battery meter;
- Rotation;
- Automatic change between tablet/desktop modes;
- Cameras (hardly they will work as they rely on ATOMISP, which was abandoned and does not work even on newest kernels).
Original post: https://forum.xda-developers.com/showpost.php?p=78978577&postcount=757
reserved
Good news! With chromeos-4.19 it is possible to fix most problems:
- trackpad button click;
- battery meter;
- accelerometer sensor module is loaded, it needs to be tested;
- possibly brightness can be fixed too.
Using FydeOS v5.31 kernel config as base I could get a very stable build, but it broke loading ARC somehow, and I have no idea why. Maybe it's a permissions/signatures issue? I will try to run chromefy again, with the new kernel already in place to see if it works.
lfom said:
Good news! With chrome-4.19 it is possible to fix most problems:
- trackpad button click;
- battery meter;
- accelerometer sensor module is loaded, it needs to be tested;
- possibly brightness can be fixed too.
Using FydeOS v5.31 kernel config as base I could get a very stable build, but it broke loading ARC somehow, and I have no idea why. Maybe it's a permissions/signatures issue? I will try to run chromefy again, with the new kernel already in place to see if it works.
Click to expand...
Click to collapse
Nice to see you do some kernel work.
Care to share link to Chromium OS Kernel 4.19 source code, I would like to get a crack at using menuconfig to add drivers..
nabil2000 said:
Nice to see you do some kernel work.
Care to share link to Chromium OS Kernel 4.19 source code, I would like to get a crack at using menuconfig to add drivers..
Click to expand...
Click to collapse
Sure. I should post a full guide as soon as I get ARC working without issues, the new kernel is awesome.
I have used the same base procedure as you did:
https://github.com/dnschneid/crouton/wiki/Build-chrome-os-kernel-and-kernel-modules
I then cloned (duplicated) the kernel source (chromeos-4.14) so I could then checkout the newer version while keeping the old one:
Code:
$ cd ~/kernel_new
$ git reset --hard origin/chromeos-4.19
PS: I am building on Xenial (not chroot), so I had to install libssl-dev in order to successfully build it.
lfom said:
Sure. I should post a full guide as soon as I get ARC working without issues, the new kernel is awesome.
I have used the same base procedure as you did:
https://github.com/dnschneid/crouton/wiki/Build-chrome-os-kernel-and-kernel-modules
I then cloned (duplicated) the kernel source (chromeos-4.14) so I could then checkout the newer version while keeping the old one:
Code:
$ cd ~/kernel_new
$ git reset --hard origin/chromeos-4.19
PS: I am building on Xenial (not chroot), so I had to install libssl-devel in order to successfully build it.
Click to expand...
Click to collapse
I am a lazy billy - thanks - I like copy & paste, & think as little as I can afford
Could you help me patching it on my GPD pocket?
it uses cherry tail
https://forum.xda-developers.com/ha...gpd-pocket-t3928828/post79496417#post79496417
thank you

Categories

Resources