Hello,
WARNING: Perform at your own risk. This won't brick your Nook Tablet
I've added NFS modules.
I've compiled cifs, nls_utf8, slow-work, and tun modules for CM7 Alpha. They're down in the attachment. Stock modules are also in the attachment.
If you have audio lag while streaming 720p/1080p, it's because of software encoding and didn't add CIFSMaxBufSize=130048 to option. I've tested videos in stock with hardware video decoding and there was no audio lag with HD movies. 1080p videos might have a few stutters. CM7 Alpha/Beta, in my test does not support H/W decoding yet.
I've been using cifs built in to the kernel for a while with CM7 beta, it's better than using modules. I've talked to Celtic, and Gonz will have cifs/tun built into the kernel in later release.
I've tested HW decoding in CM7 and both 720p/1080p struggled. CIFS transfer over wifi is slow and it's suggested that you use NFS.
*UPDATE in CM7: For 720p/1080p MP4 videos, streaming through ES File Explorer is perfectly fine. Through CIFS, the videos stutter. You can try to play around with options like rsize=130048,wsize=4096. 130048 (127x1024) is the max size.
HW Decoding is limited to 3GP, 3G2, MP4, M4V, MKV, WEBM, H.264 (Baseline/Main/High profile) up to 1920x1080, MPEG-4 Simple/Advanced Simple profile up to 1920x1080, & H.263
https://market.android.com/details?id=ws.plattner.cifsmanager
Description
Access your CIFS/NFS network shares with your Android device. (root needed)
Manage your cifs/nfs network shares on your Android device (root access needed). This little app allows you to conveniently mount/unmount your network accessible file resources and access your data transparently via your favourite Android app (playing music / videos, accessing documents etc.).
credit - f3d0r
How to setup cifsmanager,
http://iamafanof.wordpress.com/2010/12/27/streaming-epub-books-media-to-nook-color-with-cifsmanager/
In the settings,
path to cifs.ko -> /PATH/slow-work.ko:/PATH/cifs.ko:/PATH/nls_utf8.ko
change “PATH” to the location where you put your *.ko files. I'd recommend putting the modules on your sdcard root. It's much easier to enter the location.
When creating new share,
Options -> iocharset=utf8,directio,CIFSMaxBufSize=130048
*no spaces between comma
If you want your mount point to be on your sdcard,
Mount Point -> /sdcard/PATHNAME
change “PATHNAME” to your desired folder name.
I've attached tun.ko to the attachment. It load via insmod, but not tested.
{
"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"
}
For NFS modules, you can insmod them or use CIFSManager to load them.
By terminal insmod
Open up terminal
# su *give superuser access
# cd sdcard
# insmod exportfs.ko
# insmod sunrpc.ko
# insmod lockd.ko
# insmod auth_rpcgss.ko
# insmod rpcsec_gss_krb5.ko
# insmod nfs.ko
Alternatively using cifsmanager to load module
path to cifs.ko -> /sdcard/exportfs.ko:/sdcard/sunrpc.ko:/sdcard/lockd.ko:/sdcard/auth_rpcgss.ko:/sdcard/rpcsec_gss_krb5.ko:/sdcard/nfs.ko
change “PATH” to the location where you put your *.ko files. I'd recommend putting the modules on your sdcard root. It's much easier to enter the location.
I don't know if auth_rpcgss.ko and rpcsec_gss_krb5.ko are needed. I've never used NFS before. These modules loaded via insmod, but I can't test them.
-- specify the Share Path as <server>:<path> (e.g. 192.168.1.17:/mnt/Spajz)
-- Username and Password fields are ignored in this case
You can use terminal to mount NFS,
$ su
$ busybox mount -o nolock,ro,hard,intr,vers=3 -t nfs 192.x.x.x:/your/nfs/share /mnt/sdcard/share
cm7_mods_2.6.35.7-TEAM-B+.zip <- contains cifs, nls_utf8, tun, and slow-work modules for CM7 Alpha (NEW)
cm7_mods_2.6.35.7-ge8ff105.zip <- contains cifs, nls_utf8, tun, and slow-work modules for CM7 Beta (OLD)
cm7_mods_2.6.35.7 <- contains cifs, nls_utf8, tun, and slow-work modules for stock 1.4x.
nfs-cm7-2.6.35.7-TEAM-B+ <- contains exportfs, sunrpc, auth_rpcgss, rpcsec_gss_krb5, lockd, and nfs modules for CM7 Alpha (NEW)
nfs-cm7-2.6.35.7 <- contains exportfs, sunrpc, auth_rpcgss, rpcsec_gss_krb5, lockd, and nfs modules for stock 1.4x.
How to compile modules (cifs.ko, slow-work.ko, nls_utf8.ko, and tun.ko).
I am assuming you know how to install tools and dependency packages for compiling kernel source.
Toolchain: CodeSourcery compiler version Sourcery G++ Lite 2010q1-202 for ARM GNU/Linux
Build Host OS: Ubuntu 11.10 in Oracle VM Virtualbox
Source: nook_tablet_1-4.tar.gz
My toochain path -> /HOME/arm-2010q1/
My Nook Tablet source path -> /HOME/distro/
In Ubuntu terminal,
> export CROSS_COMPILE=$HOME/arm-2010q1/bin/arm-none-linux-gnueabi-
> export ARCH=arm
> cd $HOME/distro/kernel/android-2.6.35/
> make android_4430BN_defconfig
# Create a .config file
> make
# This can take a while, depending on your processor(s). It will compile your kernel, zImage.
# You can add “-j(cpu+1)”, -j3 or –j5
> cp kernel/slow-work.* fs/cifs
> gedit fs/cifs/slow-work.c
# Change the following two lines of code in slow-work.c and save.
Code:
round_jiffies(jiffies + SLOW_WORK_CULL_TIMEOUT));
->
jiffies + SLOW_WORK_CULL_TIMEOUT);
round_jiffies(jiffies + SLOW_WORK_OOM_TIMEOUT));
->
jiffies + SLOW_WORK_OOM_TIMEOUT);
> gedit /fs/cifs/Makefile
# Add slow-work.o
Code:
obj-$(CONFIG_CIFS) += cifs.o slow-work.o
> make menuconfig
Code:
Device Driver -> [*] Network device support -> <M> Universal TUN/AP…
File systems -> [*] Network File Systems - > <M> CIFS support…
File systems -> [*] Network File Systems - > <M> NFS client support…
File systems -> -*- Native language support -> <M> NLS UTF-8
> make modules
# cifs.ko location -> fs/cifs/cifs.ko
# slow-work.ko location -> fs/cifs/slow-work.ko
# nls_utf8.ko location -> fs/nls/nls_utf8.ko
# nfs.ko location -> fs/nfs/nfs.ko
# tun.ko location -> drivers/net/tun.ko
# To reduce modules size, we need Android NDK.
> $HOME/NDKPATH/linux-x86/bin/arm-linux-androideabi-strip --strip-debug PATH/MODULE.ko
# Manual loading modules
> insmod /PATH/cifs.ko CIFSMaxBufSize=130048 cifs_mic_rcv=1 cifs_max_pending=20 forcedirectio=1
# Manual remove modules
> rmmod MODULENAME *ie rmmod cifs, rmmod slow-work
# View loaded modules
> lsmod
# Modify network throttling in Windows 7
# Open regedit
# HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
# Edit entry “NetworkThrottlingIndex" (default value is 10); set it to FFFFFFFF
# Reboot
# Disable RDC in Windows 7
# Go to “Programs and features” > “Turn Windows features on or off” > Uncheck Remote Differential
Compression
# Loading NFS modules
> insmod /PATH/sunrpc.ko
> insmod /PATH/lockd.ko
> insmod /PATH/nfs_acl.ko
> insmod /PATH/nfs.ko
> busybox mount -t nfs -o nolock,ro,hard,intr,tcp,vers=3,rsize=32768 IP:/SHAREPATH /MOUNTPATH
Source credits,
http://forum.xda-developers.com/showthread.php?t=837170
Thanks a ton for this!!! It works great.
However, I have trouble unmounting... Is there a trick to doing this? It says that it is unable to...
Also, how does the mounting work after your device goes to sleep? Does everything connect as it should?
slgooding said:
Thanks a ton for this!!! It works great.
However, I have trouble unmounting... Is there a trick to doing this? It says that it is unable to...
Also, how does the mounting work after your device goes to sleep? Does everything connect as it should?
Click to expand...
Click to collapse
Hey,
Un-mounting work when the file from the share is no longer access. If the file is still being used, it will not un-mount, so you have close the app you're using. I do have problem un-mounting when viewing image with PerfectViewer. For some reason the image is still being used even if you close the app but I've had that problem even with NC. To un-mount, just press menu and un-mount all or long press on the share you want to un-mount.
When your NT sleeps, the Wi-Fi get disabled. It will reconnect once Wi-Fi get reestablish.
Everything work, I can stream videos, books, images, apps, musics. etc..
Fantastic. I was able to get it to unmount after rebooting (after mounting again after boot). I must have had an app that was stubborn.
I'm surprised that more people aren't interested in this app. I guess they don't understand what they can do with it?
Omg I just realized about this, im interested in the tun.ko. module so I can set up a vpn ill test tomorrow. Can someone confirm is working?
Edit1: I confirm that the .ko files work with cifsmanager flawlesly , testing tun.ko now first with DroidVPN and OpenVPN after, will report back.
Edit2: tun.ko WORKS!!! woohoo, eather if i put it in /sdcard/modules/ or /system/lib/modules/ works and cifsmanager does the job loading all the .ko files via insmod . Tested with DroidVPN and im using Pandora right now.
~ Veronica
Sent from XDA premium using my Nook Tablet
Ok im all setup via LAN for stream my media succesfully but now i want to stream my media anywhere with a wireless connection (WAN).
I have been doing my research for 2 days and so far i have tried setting up a FTP filezilla server with a no-ip host ip on windows pc but it doesn't work neather with cifsmanager nor ES file explorer FTP tab, vpn is not a go for me because stream videos can be choppy, anyway what i want is to find a reliable way to do this at list for music and videos, i have been searching but all i find is how to do it "local" which i already have setup and running. So big question here is does anybody know a reliable way to reach this - Windows to Android media streaming?
~ Veronica
Choppy is a generic term. The video player could cause it to play choppy (VPlayer is choppy for me, while MX Player is smooth).
Unfortunately there are a LOT of variables that will affect the performance. The VPN itself shouldn't really have an impact on how smooth the video plays (at least not on the tablet). The issue is most likely related to your internet connection and the software you are using to stream the video.
We would need a lot more details to determine what is going on, and you should probably create a new thread for this question.
lavero.burgos said:
Ok im all setup via LAN for stream my media succesfully but now i want to stream my media anywhere with a wireless connection (WAN).
I have been doing my research for 2 days and so far i have tried setting up a FTP filezilla server with a no-ip host ip on windows pc but it doesn't work neather with cifsmanager nor ES file explorer FTP tab, vpn is not a go for me because stream videos can be choppy, anyway what i want is to find a reliable way to do this at list for music and videos, i have been searching but all i find is how to do it "local" which i already have setup and running. So big question here is does anybody know a reliable way to reach this - Windows to Android media streaming?
~ Veronica
Click to expand...
Click to collapse
slgooding said:
Choppy is a generic term. The video player could cause it to play choppy (VPlayer is choppy for me, while MX Player is smooth).
Unfortunately there are a LOT of variables that will affect the performance. The VPN itself shouldn't really have an impact on how smooth the video plays (at least not on the tablet). The issue is most likely related to your internet connection and the software you are using to stream the video.
We would need a lot more details to determine what is going on, and you should probably create a new thread for this question.
Click to expand...
Click to collapse
Thanks but your answer does not help my question is explicit, anyways im going to try with VLC and report back, i know in the end i will figure it out. I could probably make a tutorial once i figure it out if anyone is interested.
~ Veronica
lavero.burgos said:
Thanks but your answer does not help my question is explicit, anyways im going to try with VLC and report back, i know in the end i will figure it out. I could probably make a tutorial once i figure it out if anyone is interested.
~ Veronica
Click to expand...
Click to collapse
I'd be interested once you figure it out.
Sent from my Nexus S 4G using Tapatalk
Have you looked into NeoRouter? It's sort of like a vpn (like Hamachi) and may have less overhead than the VPN you tried. I have it running on my windows machine along with my android devices.
I've compiled cifs, nls_utf8, slow-work, and tun modules for CM7, they're down in the attachment. Stock modules are also in the attachment. I've deleted the download links.
I might try to reduce the modules size and merge them all together, if I can do it.
lavero.burgos said:
Ok im all setup via LAN for stream my media succesfully but now i want to stream my media anywhere with a wireless connection (WAN).
I have been doing my research for 2 days and so far i have tried setting up a FTP filezilla server with a no-ip host ip on windows pc but it doesn't work neather with cifsmanager nor ES file explorer FTP tab, vpn is not a go for me because stream videos can be choppy, anyway what i want is to find a reliable way to do this at list for music and videos, i have been searching but all i find is how to do it "local" which i already have setup and running. So big question here is does anybody know a reliable way to reach this - Windows to Android media streaming?
~ Veronica
Click to expand...
Click to collapse
I'm running a filezilla server and am able to stream both music and video through ES File Manager while tethered to my Thunderbolt. Are you able to connect at all to your ftp server?
tgraves said:
I'm running a filezilla server and am able to stream both music and video through ES File Manager while tethered to my Thunderbolt. Are you able to connect at all to your ftp server?
Click to expand...
Click to collapse
Uhmmm which OS? This filezilla server does not work right in my windows 7 x64bits, first try to loging with an anonymous user which I haven't created and takes its time, then login with the user I have setup in first place to finally disconnect so pfff I have spent an entired day troubleshooting it, I just decided not to waste more time with it. Also what version do you have?. I got it working witth VLC but I would prefer to be able to stream all my data not only music and videos.
~ Veronica
Sent from XDA premium using my Nook Tablet
succulent said:
I've compiled cifs, nls_utf8, slow-work, and tun modules for CM7, they're down in the attachment. Stock modules are also in the attachment. I've deleted the download links.
I might try to reduce the modules size and merge them all together, if I can do it.
Click to expand...
Click to collapse
Awesome, you the man. Ill update my tutorial tomorrow, ehrm meant later its almost 3am here lol.
~ Veronica
Sent from XDA premium using my Nook Tablet
I'm on windows 7 x64, using FileZilla 0.9.37 beta. Also have my IP address updater through DynDNS. I like to keep my home PC sleeping when not in use, so I use ProWol to wake it up prior to accessing. It works like a charm on the NT. This may help in setting up the server.
http://www.sevenforums.com/tutorials/17663-ftp-server-set-up-your-computer.html
tgraves said:
I'm on windows 7 x64, using FileZilla 0.9.37 beta. Also have my IP address updater through DynDNS. I like to keep my home PC sleeping when not in use, so I use ProWol to wake it up prior to accessing. It works like a charm on the NT. This may help in setting up the server.
http://www.sevenforums.com/tutorials/17663-ftp-server-set-up-your-computer.html
Click to expand...
Click to collapse
ahahah finally got it working thanks, the version of filezilla server was the guilty here as i had the latest one 0.9.40 , downloaded the version you have and its working now.
~ Veronica
lavero.burgos said:
ahahah finally got it working thanks, the version of filezilla server was the guilty here as i had the latest one 0.9.40 , downloaded the version you have and its working now.
~ Veronica
Click to expand...
Click to collapse
Glad it's working. One thing to keep an eye on is the activity log. I found that when I kept the server running all day, I'd like see a few times a week, hackers trying to break into my server.. They couldn't get past the account name and password, but was disconcerting having these guys trying to get through. I now have my server set up to lock out any IP address after 5 failed to attempts for a few hours. Then they snoop on someone else's server. Now I have have WOL set up and running can wake it remotely and I have my pc set to sleep after 10 minutes. I don't need to keep my home pc on and running.
It took some doing to get my router set up to allow WOL over the Internet, but it is worth the fiddling around to get it set up. I'll share some pointers if you are interested in getting WOL set up and running.
tgraves said:
Glad it's working. One thing to keep an eye on is the activity log. I found that when I kept the server running all day, I'd like see a few times a week, hackers trying to break into my server.. They couldn't get past the account name and password, but was disconcerting having these guys trying to get through. I now have my server set up to lock out any IP address after 5 failed to attempts for a few hours. Then they snoop on someone else's server. Now I have have WOL set up and running can wake it remotely and I have my pc set to sleep after 10 minutes. I don't need to keep my home pc on and running.
It took some doing to get my router set up to allow WOL over the Internet, but it is worth the fiddling around to get it set up. I'll share some pointers if you are interested in getting WOL set up and running.
Click to expand...
Click to collapse
Yes i did set it up to auto-ban any ip address but after 10 attempts (the min in filezilla server) and for 48 hours. Yeah i had to setup my router , i opened ports 7 n 9 udp/tcp and also enabled the WOL feature in the BIOS of my desktop-server , after that worked perfectly but im using WOL Wake On Lan app it has more options.
~ Veronica
Added cifs/tun modules support for CM7 alpha. Hopefully TEAM-B+ stop changing the kernel version or have cifs/tun built into the kernel in their next release.
Related
I will no longer be updating this guide, to keep up to date with the project please see the App thread HERE. The Free app can be downloaded HERE and the Paid HERE
First and for most this guide has been created from a mixture of a few guides to get it all working on the tablets, I do not take any credit for the methods all I have done is taken the time to work out how to get it working on our tablet. This guide is for windows or can be done all on the tablet. Anyway on with the guide
How To Install Ubuntu on the Desire S
Before we start you will need a ROM and kernel that supports loop devices.
This works best on UrukDroid but may well work on stock roms, due to the lack of RAM ubuntu isn't very fast but everything works unlike running it outside of ubuntu.
It is also recommend that you have the Android SDK install so that you can access adb however all commands can be done on the tablet via the terminal emulator
Also make sure that you have debugging mode enabled Go to Settings->Applications->Development and make sure USB Debugging is checked ON.
You will also need atleast 3.5GB of memory card space
Download and extract ubuntu.zip
Once you have a working ROM with loop support you must now download the special modified ubuntu image. I have hosted the file on my own server however if this is not quick enough feel free to mirror it or message me and I shall host else where as well.
There are now three versions to use as you wish, however the new 10.10 image has pretty much everything working, see change log at the bottom of the next post. the 11.10 image's UI does not work right and the 9.04 image is well rather old
[*]10.10 image V2 (Recommend)
[*]10.10 image OLD
[*]11.10 image
[*]Old 9.04 image
Once you have downloaded this .zip file you will need to extract it to a folder on your sdcard name this folder "ubuntu".
Install and run Ubuntu!
If you do not have the android SDK install or wish to do all the commands via your tablet please skip to step 7
1) Connect your Desire S to your computer via your USB cable and make sure USB mode is set to “Just Charge”.
2) Your Android device should be recognized as “ADB Device” under Device Manager. If not, install appropriate drivers.
3) Now open a command window and navigate to the directory that you have installed the android SDK for example
Code:
cd c:\android-sdk
4) From here then navigate to the platform-tools directory
Code:
cd platform-tools
5) Now type “adb devices” to double-check your Android device is recognized. It should display something along the lines of
Code:
Lists of devices attached
HT09SR204261 device
If not then you have not installed the drivers for your tablet or it is not in debugging mode.
6) Next type “adb shell” to enter the Android shell
7) Now type su to enter super user mode, then type cd /sdcard and then cd ubuntu to enter the directory on the SD card that you stored the ubuntu files.
Code:
su
cd /sdcard
cd ubuntu
8) Then type sh ubuntu.sh this will run the included script to ready your ubuntu image, do not worry about any error messages that are displayed!
Code:
sh ubuntu.sh
8.5) If running the 10.10 V2 image you should get this message 'please wait while booting the ubuntu img, please wait as this could take a while.' if you do get this then ubuntu is running and you just need to open vnc and connect to get into ubuntu. Please see the bug section on the second post for more information!
9) Now type bootubuntu to enter ubuntu (note in the future to start ubuntu simply type bootubuntu there is no need to run the script again)
Code:
bootubuntu
You should now see something along the lines of
Code:
[email protected]:/#
If you don't then its likely the ROM your using does not support loop devices and you will need to install one of the ROMs from the top of this guide to get it working.
And thats it you now have a working ubuntu command line running within android! however this isnt really much use so lets now get a more useful system running
How to Install TightVNCserver
This is by far the best program to install first off as it will let you access the GUI of Ubuntu as it run on your Desire S. (note this is already included in the 10.10 (V1 and V2) image there is no need to carry out this step)
0) Before you install any program first we need to update by typing
Code:
apt-get update
1) Now type “apt-get install tightvncserver” to install the VNC server.
it shall then as you if you wish to install the program etc etc say yes and it will install, simples.
How to Install LXDE (optional but recommended)
only need to carry out this step if you are using the 9.04 image
1) Type “apt-get install lxde” and ubuntu will do the rest
Set up TightVNCServer and fix keyboard issues
(note on the 10.10 image this step has been included already! so no need to carry it out)
Before we launch the TightVNCServer we much make changes the the xstartup file to change to it uses LXDE if we want this and also to fix a big issue with the android keyboard not being mapped correctly.
1) Start off by typing
Code:
cat > /root/.vnc/xstartup
To open the file we need to make changes in
2) Now type
Code:
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
export XKL_XMODMAP_DISABLE=1
icewm &
lxsession
The last two lines you will only want to type if you have installed LXDE if you want to use XFCE leave these lines off. The line above this (export XKL_XMODMAP_DISABLE=1) is what is needed to fix the keyboard mapping.
3) Now press ctrl+D twice and then press enter to the save the file, we are now ready to start up the VNCServer!
Start TightVNCServer
Now we are ready to start the server and connect our tablet or windows computer to the Ubuntu running within our tablet! (This step is not needed in the new 10.10 V2 image VNCserver now auto starts)
1) Start off by typing
Code:
export USER=root
vncserver -geometry 1024×800
you can change the resolution settings 1024×800 to the resolution of your liking. I find 800x480 does work well but limts your work space so its up to you.
2)TightVNCServer will then ask you for a password to connect to it, fill this in and your server will be then ready to accept any incoming connection from your tablet or computer! (on the 10.10 image it will not ask for this, the password is set to ubuntu)
Connect to VNC on your tablet
1) download the free app Android-VNC-viewer
2) open the app and set your IP address to 127.0.0.1 ( set this to localhost in 10.10 V2) and port number 5901 (5900 in 10.10 V2) and enter the password you set before (or ubuntu on 10.10 images) to then connect.
If all works right you will have a working GUI!!!
Connect to VNC on your computer
1)Start by downloading the desktop version of TightVNC Here
and install it
2) Open the TightVNC Viewer from the start menu it will ask for your tablets IP address, to find this type ifconfig in your ubuntu terminal it will display your IP.
3)Type this into TightVNC and remember to add the port 5901 (5900 in 10.10 V2), it will then ask you for the password ('ubuntu' on 10.10 image) , enter this and you should then have a fully working GUI on your computer!
FAQ
How does Ubuntu look on our tablet?
Ubuntu 9.04
{
"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"
}
Ubuntu 10.10
What is Ubuntu? and why would I want it on my tablet
Ubuntu is a linux based operating system normally for the computer, however with this port we can run it on our tablet, this allows you to pretty much install any software available for linux and run it on your tablet.
What are the best settings for Android VNC Viewer?
I find full 24-bit colour works very well and there is no need to down step this, also Input Mode is best set to touchpad as the GUI is not very touch screen friendly when its this small! using touchpad makes the touch screen act just like the touch pad on a laptop and I find this very easy to use.
Updates
[12/12/11]
New 10.10 image update
New built in script in Ubuntu to start vncserver and other services on boot
SD card is accessible from within Ubuntu
Image changed to 3.5GB to fit if you have a 4GB SD Card
The ubuntu boot scripts are now on easy to use script!
More working programs (including software centre etc)
Default desktop changed back to LXDE
More apps for 'developing'
Firefox, Thunderbird, openoffice.org suite, GIMP Image Editor, Emacs Text Editor (geared towards programming), C and C++ build-essential, Java JDK, Python, TeXlive and TeXmaker LaTeX editor, Transmission BitTorrent Client, eVince PDF Viewer, File Manager, Terminal, Image Viewer, Leafpad Text Editor, Synaptic Package Manager and Ubuntu Software Center with all repositories enabled (Ubuntu Software Center is pretty and well organized - but bloated and slow), SSH server, Gnash (GNU flash player/plugin for Firefox - as there is no official generla flash pluging for armel CPUs)
[23/11/11]
New 10.10 image
vncserver and bug fixes included in 10.10 image
New light weight UI in 10.10 image
4GB image size for plenty of app space
More programs should be working in the 10.10 image please test!!
New image all icons in GUI don't load Fixed in 10.10 image
New Firefox crashes on start up now fixed in 10.10 image
+More that I cant remember
[05/11/11]
Old 9.04 image readded for those that want working GUI until new image is fixed
[24/10/11]
Java install guide added
[23/10/11]
New 11.10 ubuntu 4GB image
Changed guide for new image
+MUCH more (will add later)
Bugs
At the moment to use the new 10.10 V2 image you have to carry out steps 7 to 8.5 each time in order to get into the GUI, which means the only way to use terminal for ubuntu is within the GUI, this isnt to bad as the build is now very stable
At the moment once you start ubuntu it seems to prevent the sdcard being mounted and as there is no way to shut down the ubuntu session you must reboot if you wish to mount the sdcard via usb
Java might still not be working right please test!!
Other Programs to Install
Ok so as I start working on testing more programs I will post here how well they work and what does and dosnt work. Most programs that run from terminal and don't require any hardware like wifi etc seem to work well!
JAVA SE FOR EMBEDDED
To install the Java version for arm open up the terminal and type the following lines of code
Code:
wget http://android.zpwebsites.com/java.tar.gz
This will download the java package from my server!
Once downloaded type
Code:
gunzip java.tar.gz
Code:
tar xvf java.tar
This will extract the java package into a folder called ejre1.6.0_27
then type
Code:
export JAVA_HOME=ejre1.6.0_27
Code:
export PATH=$JAVA_HOME/bin:$PATH
Java should then be completely installed, please test by typing
Code:
which java
TipsSome android terminal emulators (e.g. better terminal) allow you to specify an initial command that is run as soon as you launch the application. Multiple initial commands can be defined by pressing return between each command when you define it, so for example the initial command:
Code:
su <return>cd /sdcard/external_sd/ubuntu <return>sh ubuntu.sh <return>
This way to load the new 10.10 V2 image simply open the terminal emulator
Help Needed
I would love for people to test there fav linux programs, also anyone that knows alot about ubuntu/linux to help getting the image to run faster etc etc
Wow, how about HDD version? and I would like to know the Bluetooth function, is it work in Ubuntu?
LeoNg628 said:
Wow, how about HDD version? and I would like to know the Bluetooth function, is it work in Ubuntu?
Click to expand...
Click to collapse
Well the files should work ok on the hdd version but I don't have one to test it on. The Bluetooth does not work I don't think but as its running in Android you could set up the Bluetooth keyboard or mouse and it would then function in Ubuntu
Sent from my Desire S using XDA App
"su
cd /sdcard
cd ubuntu"
i have not a ubuntu directory !
Then you didn't read the instructions, as that is the directory you are creating when extracting the files from the rar.
You are supposed to copy the whole directory to the archoos, not the files in there.
put the folder on the sdcard or internal storage?
Ranomez said:
put the folder on the sdcard or internal storage?
Click to expand...
Click to collapse
Either will work but if you have a slow sdcard internal would be better
Sent from my HTC Desire S using XDA App
Hi all,
I have a problem when I launch the command bootubuntu
after some messages, I have this:
bootubuntu: cannot create /data/local/mnt/etc/resolv.conf: directory nonexistent
chroot: not found
Shutting down Ubuntu
failed.
failed.
failed.
failed.
Any ideas???
Thanks
Rocco
which rom are you running? it might be you havnt got busybox installed
Hi,
I have stock ROM rooted
Can someone test something for me....
If you have ubuntu up and running, will you try to install XBMC.
You will obviously want to install the linux edition.
New image
New 10.10 image update
New built in script in Ubuntu to start vncserver and other services on boot
SD card is accessible from within Ubuntu
Image changed to 3.5GB to fit if you have a 4GB SD Card
The ubuntu boot scripts are now on easy to use script!
More working programs (including software centre etc)
Default desktop changed back to LXDE
More apps for 'developing'
Firefox, Thunderbird, openoffice.org suite, GIMP Image Editor, Emacs Text Editor (geared towards programming), C and C++ build-essential, Java JDK, Python, TeXlive and TeXmaker LaTeX editor, Transmission BitTorrent Client, eVince PDF Viewer, File Manager, Terminal, Image Viewer, Leafpad Text Editor, Synaptic Package Manager and Ubuntu Software Center with all repositories enabled (Ubuntu Software Center is pretty and well organized - but bloated and slow), SSH server, Gnash (GNU flash player/plugin for Firefox - as there is no official generla flash pluging for armel CPUs)
New image is live, get it HERE
A side note, If this does work as well as it should I shall be making a app some what like the one you liked to kylon, It will include everything in this guide along with some extras, the app will be free but there will be a paid version for those wishing to donate
The server died due to so to many http requests at once , so I have removed the files as I need my server for my websites etc
They will all be moved to multiupload, the first being my new release, the problem is my upload is max 100KB/s so going to take a few more hours likely
Ok new download link is up, sorry it took so long, you can download here
The first version of the app is now online, the UI is basic but It guides you through the install and give a easy way to download the newest version I have built.
You can download the app here
And I have made a donation version for those that want to support me, its only 99p and you will be the first to get new builds and features! this can be download here
To anyone not using the app, the newest version of my ubuntu.sh and the newest images seem to work much better on the Gen 8 tablets I will update the guide at some point but for now please download the app and use the image and script included in the app!
hi 10.10 image V2 (Recommend) link dead can you please upload this?
Dear Community
As I searched for houres I decided to start this thread. As I am a n00b myself, do not hezitate to post further information or corrections.
USED Program: CifsManager (Download from Market)
USED Kernel and ROM
Check Rom EVO HD and Dark-Knight Kernel LINK
1. If you want to use Cifs/NTFS Shares your Kernel has to support this. It should be written in the Kernel Thread itself.
2. If the Kernel supports it, a little file named cifs.ko will be stored on your internal SD Card when flashing the kernel. This is a module for the kernel and is used for CIFS Access.
3. No find out where the cifs.ko file is stored. Use a Programm like root manager (Market Link) Tap on Search and search for cifs.ko
4. You should now memorize the location and switch to the cifsmanager itself.
5. In Cifsmanager go to options/Einstellungen and check "Load Cifs Modules"/CifsModule laden
6. Check "Load Insmod"/"Laden per insmod"
7. Tap on Path to Cifs.ko and adjust the Path to the right location.
8. Now you can create a share and enjoy it! Don't forget to use the following option if you have letters in your shared folders like ÄÜÖ
iocharset=utf8
Hope this helps some of you!
Does this work with nfs shares?
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.
{
"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)
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