Related
Update 7 May 2012: New version released, containing PHP 5.4.2 with curl / openssl modules built in (still for armv5). Besides the version number, installation steps remain the same.
Introduction
The web page of the project, containing more information, licenses, configuration fils, list of modules for php and lighttpd, etc is here:
http://hex.ro/wp/blog/php-and-lighttpd-for-android/
It also contains and example, how to install SMF forum onto the phone
Download
This comes with NO WARRANTY. Use it at your own risk!
php-5.4.2_lighttpd_1.4.29_armv5.tar.gz
php-5.3.8_lighttpd_1.4.29_armv5.tar.gz
Installing
After you copy the archive above into the root of your SD Card, installation is easy:
Code:
cd /
tar xf /sdcard/php-5.3.8_lighttpd_1.4.29_armv5.tar.gz
reload-fcgi.sh
reload-lighttpd.sh
Make sure you are on the root file system (/) before executing tar command.
Also, mandatory: rooted phone + busybox + /system partition mounted read only.
Below information is older - which was before the bundle was ready
Coming soon:
(excerpt from phpinfo() now running on my phone)
PHP:
System Linux localhost 2.6.32.9-perf #1 PREEMPT Fri Jul 8 13:45:08 2011 armv7l
Build Date Aug 30 2011 22:07:32
...
PHP Version 5.3.8
...
Server API CGI/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /system/etc/php
Loaded Configuration File /system/etc/php/php.ini
...
_SERVER["_"] /system/bin/php
_SERVER["FCGI_ROLE"] RESPONDER
_SERVER["SERVER_SOFTWARE"] lighttpd/1.4.29
_SERVER["SERVER_NAME"] 192.168.1.3
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
I have managed to compile lighttp 1.4.29 with fcgi support as well as php 5.3.8 (both latest version).
All graphics libraries are in as well as SQLite.
I will still have to play with OpenSSL to get it running. Maybe MySQL in the future
It will take a while to set everything up (a web page for source code, wiki on how to install), but we're close to have a fuller Linux experience on Android powered phones.
This would be amazing, I've been hoping for something like this.
wow, I'm really looking forward this
It's cool to have this functionality, cuz sharing files via BT is a pain the ass
I'm waiting too. And wish you luck. Thanks for the efforts.
Thank you for the kind words
Yes, everything works now, and I've tried out a PHP gallery as well as PHP file editor (so you can edit .php files within Opera connected to local host).
It works. Unfortunately, on my Arc, it takes about 3 seconds to generate a thumbnail of a camera image. Now I understand why the whole thing with Media Server indexing files first time after reboot, when phone is slow and etc .. and why the need that apps have to notify Media Server to index additional files when apps create them. So by the time user gets to open the gallery, their thumbnails are already there (it masks the delay).
I want to try out more scripts and then create an installer for the whole thing. If members here report it works, then I will upload it to the market.
I think I will try a bunch of forum engines.
How many additional modules will there be? ImageMagik is really useful… or at least GD
EDIT: ohh, didn't see OP says all graphic libraries included (^_^; )
viulian said:
Thank you for the kind words
Click to expand...
Click to collapse
We should thank you for your efforts. And we are.
viulian said:
I want to try out more scripts and then create an installer for the whole thing. If members here report it works, then I will upload it to the market.
Click to expand...
Click to collapse
You can count on me. I'm not a full time PHP developer, but I wrote few little "systems" in "my way" so it should test non-standard approach at least. but I believe you've already tested basic PHP behaviour
By the way - you mentioned something about mysql... I would personally prefer PostgreSQL, but I do not know anything about a way it's written so theoretically it can be harder to move to arm platform. Postgres is more flexible in many ways, and sometimes (I've heard) a way faster because of simplicity of mysql.
But if anything will be problematic with sql, I can always fall back to sqlite
Update:
libcurl won't be bundled (PHP will be compiled without --with-curl argument).
It seems that libcurl has a dependency on libc - and it tries to load libc.so causing php executable to crash.
Output from strace:
Code:
open("/system/lib/libc.so", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=273912, ...}) = 0
close(3) = 0
--- {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0xfde0004} (Segmentation fault) ---
+++ killed by SIGSEGV +++
Segmentation fault
that's really sad. cURL is sooo cool. (´Д`)
but so far you always found a way to make things work and I hope the same will apply to this as well.
If you have an idea that would work, then will this released later? or you let us play with the cURL-less boundle?
I won't mind lacking of cURL. We have wget onboard for simple downloads. For more sophisticated actions android isn't the best platform
Here's the info.php generated using lighttpd / php statically built for Android:
info.php.zip
I've been on a trip with limited access to internet, and so far I managed to find a fix for lighttpd which, when statically built, would not load the modules in the correct order. It was a mess to use I've documented it here: http://redmine.lighttpd.net/issues/2343
ImageMagick is not ported yet (just standard gd as you will see). I'm tempted to port ImageMagick also, since it seems that batch operations are faster with it than with the built in gd (and on my Arc, generating the thumbnail of a camera taken photo takes about 3 seconds, which is slow).
So far I've tested fotogallery and monoedit (to edit php files on the phone using any browser) and they work fine.
Please expect updates soon.
I've just managed to cross-compile ImageMagick for Android, and it takes mogrify about 4.2 seconds (on my Arc) to create a 120x90 px thumbnail for a 1.8Mb photo from the camera.
Code:
[[email protected]]/sdcard/DCIM/100ANDRO# time mogrify -path thumbs -thumbnail 120x90 DSC_0172.jpg
real 0m4.176s
user 0m3.950s
sys 0m0.130s
Also, each executable has about 5.3Mb when statically linked (convert, mogrify, etc...) which makes the ImageMagick bundle to around 57Mb in total (which is huge).
Thus, no ImageMagick for now waiting for better hardware.
When will you release any alpha to allow us killing it?
I'm working on a web page on my blog where I'll present everything - and will post an update here. If not later tonight, then tomorrow I'll release it.
For now it is compiled for armv5 CPUs (meaning it will work on many phones, even older and slower ones). I've tested it on a Sony X10 Mini (MSM7227, 600Mhz, ArmV5) and Sony Arc (MSM8255, 1Ghz, ArmV7) and works a treat!
Also installed SMF (Simple Machines Forum with sqlite) and it works.
Great . I'll try it as soon as you publish it
krzych said:
Great . I'll try it as soon as you publish it
Click to expand...
Click to collapse
Please check first post and let me know! I've just released it.
i think max request size is too small
it will make 413 error when try to attach file
default value is 2Gb but i think viulian set too small value (even i can't attache 250kb jpg )
if someone want to increase it
add this lines on your lighttpd.conf
server.max-request-size=10240
server.network-backend=”writev”
server.upload-dirs=( “/sddata/www/tmp” )
size=kb
dirs=must same as upload_tmp_dir on your php.ini
there are my config files
Thank you for the updates
Both php and lighttpd come with the default values - I did not change anything ... (in an attept to offer as much as possible the Linux experience with them, when you have to reconfigure things).
The only change I did was to set the temp folder for php to /data/local/tmp (although your suggestion to use the /sdcard might work out better in case of a lot of uploads since the /data space is limited compared to /sdcard).
i also think sdcard is better but /sdcard can't save permission and ownner
it's big secure hole
i think sd-ext is best
i compile the execwrap
using by gcc for android (you can download from here (you can extract from main files from https://market.android.com/details?id=com.n0n3m4.gcc4droid&feature=more_from_developer)
you can find documents about execwrap from lighty's site
[size=+1]Introduction[/size]
What is GenTop2?
GenTop2 is a full-fledged Gentoo Linux able to replace the original Motorola Webtop. It is faster, fully-customizable and gives you the power of a complete Linux system on a mobile phone. It is a peek into the future of mobile computing!
Thanks goes to kholk, who did the original GenTop, otherwise I would have long given up.
Why use Gentoo Linux as WebTop?
Programs are fully optimized for the ARMv7a CPU contained in the Atrix.
Thus the whole system is faster and more responsive.
No shackles put around the WebTop by Motorola.
You can install any program (which compiles on ARM).
All software (except X11) is fully up-to-date.
You remember old times with desktop computers having far slower CPUs and less RAM than your phone and you wonder what you can do with this pocket computer.
Why NOT use Gentoo Linux as WebTop?
Gentoo is huge because it must install all development files.
The system and all programs must be compiled on the phone. How crazy is that?
Firefox could not be built. But, there is a smaller replacement.
Why bother using a phone, when you already have a notebook?
Working and Installed Applications
X11 via WebTop or HDMI (with hdmi-hack)
Xfce4 with thunar file manager
midori web browser with Flash player
claws-mail client
audacious
evince (pdf viewer)
ssh daemon
rxvt terminal
aiw Android In-A-Window!
Sound output via Android media system.
All are very light-weight Linux applications perfect for a small system.
Not Working:
webtop-panel (system status bar on top)
non-flash video playback ?
Installable as binary packages:
firefox (renamed to Aurora due to trademark stuff), approx 30 MB.
thunderbird (renamed to Earlybird due to trademark stuff), approx 44 MB.
libreoffice, approx 250 MB.
abiword, pidgin, emacs, texlive,
and many more, drop a note for more wishes here. However KDE is just too large.
[size=+1]Installation Instructions[/size]
Prerequisites:
Motorola Atrix
[size=+2][highlight]BACKUP.[/highlight] This will break your device![/size]
Okay hopefully it won't. A full restore will of course overwrite the webtop.
root privileges.
unlocking is not necessary.
adb and Linux knowledge.
webtop2sd is not supported (!)
CM7 is NOT supported
GenTop2 Space Requirements, Disk Speeds and a Note About WebTop2SD
Gentoo is very large because packages contain all development files. This cannot easily be changed, therefore one must work around the space limitation of the /osh partition in some way.
I did some "disk" performance measurements using bonnie++ (see [1] for full info). Here the through-put results in short: /data (ext3) 20,800 KB/s read and 6,200 KB/s write, /sdcard (fat32) 21,500 KB/s read and 8,000 KB/s write, /sdcard-ext (ext3) 12,300 KB/s read and 4,200 KB/s write, /sdcard/loopback.img (ext3) 16,150 KB/s read and 4,400 KB/s write.
One way to go would be to require webtop2sd, however, GenTop2 does not support webtop2sd because the read/write speed of the internal sdcard is much faster than on the external sdcard. Thus I tried to install as much on the /osh partition as possible and move directories onto other partitions as necessary, leaving symlinks behind. WebTop2SD also requires dpkg for some reason, which Gentoo does not have.
Therefore, it's pretty unavoidable that you do some space management yourself.
I have decided to utilize the /preinstall partition for /var. I'm not fully sure that this partition is unused on every Atrix released, but I guess in most cases it contains only provider specific bloatware that people don't want anyhow. On my Atrix it contained some car racing game, which I find hilarious to play on a mobile phone.
Anyway, the /preinstall partition is 300 MB and perfect for /var if reformatted to support many small files. The /var/db/pkg/ directory contains lots and lots of small files describing the installed packages. See the installation instruction for the mkfs line.
I also decided to require some extra ext3 partition for further program, data and portage files. It is needed anyhow to install further programs, which is what most people want to do. The /data partition would be the obvious choice and for that reason the first GenTop2 put files in /data/osh/. However, /home/ is also on /data by default and it gets pretty annoying when your home directory is full.
The only alternative to /data is either a partition on an external sd-card or a loopback mounted file-partition on /sdcard/, both are not as fast as /data (/cache cannot be used as it must be wipeable). So there really isn't much choice left except for external storage.
The main GenTop2 tarball puts 630 MB in /osh (leaving 145 MB free) and 178 MB in /preinstall (with 150 MB free), which must be mkfs formatted.
The portage GenTop2 tarball puts 1460 MB into /mnt/gentoo/ of which 475 MB are data files from /osh/usr/ and 810 MB are the portage tree.
[size=+1]Steps to install GenTop2:[/size]
There are some complications involved when using faux123's kernel, because it only contains ext4 filesystem modules and explicit mounting of ext3 will fail. The ext4 module will however mount ext3 filesystem without problems.
use adb shell and get root:
Code:
$ su
# cd /osh
# mv etc etcx
# reboot
Reboot. The above will disable the webtop.
Download http://kristallsturm.de/GenTop2/GenTop2-20120509.tar.gz (275MB) and put it onto /sdcard via USB or adb push.
use adb shell to overwrite the existing WebTop:
Code:
(first we delete /osh)
# cd /
# ls bin
bin: No such file or directory
(this tests whether the old webtop is disabled)
# rm -r osh/*
# ls osh
(should be empty)
(next we disable and reformat /preinstall)
# mount -o remount,rw /dev/block/mmcblk0p12 /system
# mv /system/bin/load_pia.sh /system/bin/load_pia.sh.disabled
# umount /preinstall
(depending on your ROM this might fail. ignore this problem if the following format works)
# mke2fs -m 0 -i 2048 -j /dev/block/mmcblk0p17
# mount -t ext3 /dev/block/mmcblk0p17 /preinstall
(for faux kernel: replace ext3 -> ext4 in above line)
(now we unpack the main tarball)
# df
(/osh and /preinstall should be almost empty)
# cd /
# tar xvzf /sdcard/GenTop2-20120509.tar.gz
# sync
(begin extra for faux kernel: we change ext3 -> ext4)
# sed -i s/ext3/ext4/ /osh/ubuntu.sh
(end extra for faux kernel)
# sync
# reboot
Once rebooted you will get an X11 login on the HDMI connection or you can access the phone via ssh.
Account Passwords:
root / atrix
adas / atrix
To make GenTop2 more useful and to compile/install further packages you currently must have an external sd-card (or someone must devise a method to use a loopback device).
I have partitioned my external sdcard using a desktop computer into the following two partitions:
/dev/block/mmcblk1p1 (remainder)
/dev/block/mmcblk1p2 (4.0 GB, formatted ext3)
Advanced: (Actually most of this stuff is advanced.) You can also use the new GenTop to partition the external sd-card. Open a terminal, and use something along the lines of:
Code:
# fdisk /dev/block/mmcblk1
(partition it, see further description of fdisk on the net)
# mkfs.ext3 -m0 /dev/block/mmcblk1p2
The boot-up script /osh/ubuntu.sh will mount /dev/block/mmcblk1p2 to /mnt/gentoo. This place is referenced by /usr/portage, /var/tmp and /preinstall/usr and will enable emerge if you install the second GenTop2-portage-20120509.tar.bz2 tarball.
Download http://kristallsturm.de/GenTop2/GenTop2-20120509-portage.tar.bz2 (124MB) to /sdcard/ using any method.
Use adb shell or a terminal on the desktop
Code:
$ su
# cd /
# tar xvjf /sdcard/GenTop2-20120509-portage.tar.bz2
Note: If you trust your network connection, you can also download and unpack simultaneously (without saving) it using:
Code:
$ su
# cd /
# wget -O - http://kristallsturm.de/GenTop2/GenTop2-20120509-portage.tar.bz2 | tar xvj
[size=+1]Installing further software[/size]
How do I install applications in Gentoo?
- Read http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
- Read http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3
I have set up a portage overlay "atrix-overlay" which unmasks many packages and includes some custom patches required for compilation on arm. It is included in the main tarball and automatically synced alongside "emerge --sync". Most updates will now be performed via this overlay.
See https://github.com/gendol/atrix-overlay for details.
Furthermore, for large binary packages like firefox, thunderbird and libreoffice I have set up a binary package repository with the same USE flags as the atrix-overlay. These are built using cross-compilation on my desktop computer.
See http://kristallsturm.de/GenTop2/packages/
To force installation from binary packages use emerge -G <package>. See the list of "Installable as binary packages" above.
[size=+1]Miscellaneous Questions[/size]
Why no thumb instructions?
- I did a speed test of cryptography functions and thumb instructions were approximately 10% slower than usual ARM code.
Where was GenTop2 compiled?
- Most of the system was fully compiled on my own Atrix. Larger binary packages are compiled on my desktop using cross-compiling.
Why is X11 not up-to-date?
- The only xorg driver I could get working is the one on the original Webtop, and that requires an older version of X11.
Why is udevd not running?
- If you look at logcat there are lots of the following messages, some of which are due to udevd. Disabling udevd reduces (but does not eliminate) these messages and probably also some unnecessary background process that draws battery.
NetlinkEvent: NetlinkEvent::FindParam(): Parameter 'UDEV_LOG' not found
NetlinkListener: ignoring non-kernel netlink multicast message
NetlinkListener: ignoring non-kernel netlink multicast message
[size=+1]Reinstalling the old WebTop[/size]
Some people on the forums struggled to reinstall the old webtop for some reason. It shouldn't be that difficult and I created a tarball of the original Webtop WT-1.2.0-133_38. These instructions were not tested by me:
Download http://kristallsturm.de/GenTop2/WT-1.2.0-133_38.tar.gz to /sdcard/ using any method.
Use adb shell or a terminal to disable mounting of webtop:
Code:
$ su
# cd /osh
# mv etc etcx
# reboot
Use adb shell to unpack original tarball into /osh:
Code:
# cd /
# ls bin
bin: No such file or directory
(this tests whether the webtop is disabled)
# rm -r osh/*
# ls osh
(empty)
# cd /
# /sdcard/WT-1.2.0-133_38.tar.gz
# sync
# reboot
[size=+1]Downloads[/size]
http://kristallsturm.de/GenTop2/GenTop2-20120509.tar.gz (275MB main tarball)
http://kristallsturm.de/GenTop2/GenTop2-20120509-filelist.txt (Filelist of tarball for your reference)
http://kristallsturm.de/GenTop2/GenTop2-20120509-portage.tar.bz2 (124MB portage tree for /mnt/gentoo/, see above)
http://kristallsturm.de/GenTop2/GenTop2-20120509-portage-filelist.txt (Filelist of tarball for your reference)
Old Downloads
http://kristallsturm.de/GenTop2/GenTop2-20120428.tar.gz (369MB main tarball)
http://kristallsturm.de/GenTop2/GenTop2-20120428-filelist.txt (Filelist of tarball for your reference)
http://kristallsturm.de/GenTop2/GenTop2-20120428-portage.tar.bz2 (44MB portage tree for /mnt/gentoo/, see above)
http://kristallsturm.de/GenTop2/GenTop2-20120424.tar.gz (364MB main tarball)
http://kristallsturm.de/GenTop2/GenTop2-20120424-filelist.txt (Filelist of tarball for your reference)
http://kristallsturm.de/GenTop2/GenTop2-20120424-portage.tar.bz2 (44MB portage tree for /mnt/gentoo/, see above)
Changelog
From 20120428 to 20120509:
Added atrix-overlay for pulling in updates using layman.
Reorganized /etc/portage/ to symlink into atrix-overlay files.
Removed mplayer from default install.
Added xarchiver, leafpad and some customization for the terminal.
Reorganized directory structure to use /preinstall.
From 20120424 to 20120428:
Readded resolutions to xorg.conf like in original webtop. Nevertheless you can switch using Xfce's settings dialogs.
Installed Flash: copied libflashplayer.so and emerges nss nspr.
Readded lots of the original .desktop files and corresponding icons. These launch Android apps.
[1] http://kristallsturm.de/GenTop2/docs/atrix-bonnie.html
It is a good job. I try this. Thank you.
This is a very agressive aproach. /osh dose have some Moto magic sauce in it. How well can you drive the screnn with a stock X system? Most of the cutesy features from WT I can live w/o, but the "phone"app really is usefull. Seams like this would be worth the effort to figure out.
If I was using a less "pure" setup (spinning up X and the phone app in Motos osh) then bringimng up the desktop in Gentoo, how would that compare to oither the same concept with other distros?
Please post on. I think this is the first time somebidy has run a non /osh X. Would love to see if it really can be done.
exwannabe said:
This is a very agressive aproach. /osh dose have some Moto magic sauce in it. How well can you drive the screnn with a stock X system? Most of the cutesy features from WT I can live w/o, but the "phone"app really is usefull. Seams like this would be worth the effort to figure out.
Click to expand...
Click to collapse
Thanks for pointing that out. Yes, the approach is radical, but not as aggressive as you may think. All the "magic sauce" in /osh lives in /osr/usr/local/ and all of that is retained. The only problem is that some dynamic link libraries are missing, but most of these problems can be fixed.
They actually had to be fixed because the GenTop2 does need to send some magic signals to Moto's PortalApp/DockService to work correctly. This is done using the /usr/local/bin/rmtest tool via the "fbcp" instance of dbus.
Other than /osh/usr/local/, /osh is really just Debian.
With the phone app, you mean the green phone button? I just tested that, it can be added. The phone button is nothing but a .desktop mime file, which calls one of the magic apps /usr/local/bin/androidlauncher. And it popups up in the aiw display.
I even tested the HD Media Center laucher and that too worked without problems. That really should be included in the next GenTop2 tarball.
exwannabe said:
If I was using a less "pure" setup (spinning up X and the phone app in Motos osh) then bringimng up the desktop in Gentoo, how would that compare to oither the same concept with other distros?
Please post on. I think this is the first time somebidy has run a non /osh X. Would love to see if it really can be done.
Click to expand...
Click to collapse
I guess I don't understand what you mean with a non /osh X. GenTop2 does run X11 and you really need to replace the system libaries to get a well-working Gentoo.
Greetings,
Gendol
Great job! Does this work with cm rom's aswell or only with blur based ones? As another fact, we could use distcc or crosscompile distcc to compile most of the stuff, actually even a crosscompile binhost would be doable for several packages. One more thing, we could probably use an .img file on the internal sdcard partition, that would be ext3/4 formatted instead of using the external sdcard (but probably its better and safer to sue the external card, due to the flash wear)
edit: so i tried it on my atrix with nottachtrix rom installed, it starts fine and seems to work rather well, i only saw two to me rather annoying bugs:
1. somehow the X server thinks that my tv (1080p lg) has a virtual size of 1366x768 and will not allow to use the 1920x1080 resolutions that are in the TV's EDID and that the system puts into the xorg.conf file aswell as it shows in the Xorg.0.log
2. the atrix's screen stays on all the time in the "normal mode" and if one uses the mouse on the gentop its moving and functioning on the atrix's screen aswell (ie you can launch apps by accident with the mouse in android)
I do not know if these are issues with nottachtrix or something else, but for me on the "normal webtop" 1080p worked on this same TV.
here the xorg log: http://dl.dropbox.com/u/24268926/Xorg.0.log
Really nice, installing it right now!
Does flash work on Midori?
I don't know about CM7, you'll have to try to replace the Linux system like moto does it.
The X11 screen size defaults to WebTop resolution 1366x768, but you can change that to 1920x1080 by editing /etc/X11/xorg.conf. The first thing to try is to comment out all Modelines and let EDID detection do the work. But for that a monitor must be present, so you need to Zap (Ctrl+Alt+Bckspace) your X, and that brings up the dual input problem.
I also use nottach's ROM. The dual input problem happens when something in motorola's magic communication goes wrong. I have not been able to figure out how in particular moto disables input on the touchscreen. For me it works most of the time. I also have all the Modelines in xorg.conf enabled, because they fit my monitor.
I didnt really focus on Flash, yet. But as it works on the original Webtop, you should just be able to copy the plugin files.
Gendol
Can't get Midori working .. Got network (via ping), but no web browsing
EDIT: Solved by disabling proxy settings inside Midori
i haven't run gentoo in over 10 years but this is tempting!!!!!
Hello! I am a bit newbie in linux and i have 2 questions
1) Could someon please tell me how to install GenTop2-portage-20120424.tar.bz2 tarball?
2) Is there any way to install synaptic so i can install other linux apps?
snik38 said:
Hello! I am a bit newbie in linux and i have 2 questions
1) Could someon please tell me how to install GenTop2-portage-20120424.tar.bz2 tarball?
2) Is there any way to install synaptic so i can install other linux apps?
Click to expand...
Click to collapse
1) use ADB and first post
2) Gentoo Portage - it's command line but very easy
Hmm, anyone using this with webtop over HDMI? I get the login screen, but the webtop touchpad thingie doesn't come up so it's impossible for me to log in.
nalorite said:
Hmm, anyone using this with webtop over HDMI? I get the login screen, but the webtop touchpad thingie doesn't come up so it's impossible for me to log in.
Click to expand...
Click to collapse
you need to use a hd dock, lapdock or a modded powered usb hub with mouse + kb
Vazay said:
1) use ADB and first post
2) Gentoo Portage - it's command line but very easy
Click to expand...
Click to collapse
1) After the reboot i used
adb shell
# tar xvzf /sdcard/GenTop2-portage-20120424.tar.bz2
but it gave me an error, am i using the correct command or i should use something else?
Yes. The touchpad thingy is also an open end. I have no idea why it doesnt come up. The GenTop2 tries to do everything in the same way as the original one, but for some reason that doesnt appear.
I guess the touchpad is some Android program part of DockService or PortalApp, which drive the Webtop switch. But I havent debugged how to activate it.
@snik38
To extract a .tar.bz2 you use tar xvjf ...
Gendol
three items one that caused some grief, but other than that this has lots of cool potential!
I have a stock rom with root.
1. resolution was pretty screwed up. I did try to adjust the resolution, but it was locked into one setting.
2. flash isnt installed on the browser so many websites where disabled.
3. I could not get AIW to start.
I see you answered #1 in a previous post. But I think all three of those items are minimum requirements to replace webtop. BTW great job again! Its seemed much faster than the webtop app.
2. Try to copy the flashplugin from original webtop(not sure if it works with midori)
3. aiw works fine try to reboot the phone
Took me a while to get this all running, but it's great now it is. Have this over Nottachtrix 1.3.1. Everything installed and works fine!
Cheers!
When my phone turns on and gets to the preparing sd, it takes forever. Does this happen to anyone else?
anyone tried to emerge chrome/chromium?
Here is a little utility that may appeal to some.
Transferring files over the USB connection is annoying.
At the very least you have to plug in a connection, at the most you have an inactive Nook.
My philosophy has always been that the desktop is the gold standard and portable devices are ephemeral.
Synchronizing between the two is the goal of adbsync.
It will allow synchronization in either direction over ADB (presumably WiFi, but it would work over USB too).
Some examples:
Code:
[color=red]Update Nook[/color]
adbsync C:\Books "sdcard/My Files/Books" /a /v
[color=red]Sync both directions[/color]
adbsync C:\Notes sdcard/Notes /a /h /v
[color=red]Sync both directions but don't overwrite the PC, use another dir[/color]
adbsync C:\Notes sdcard/Notes C:\Fixme /a /h /v
[color=red]Sync both directions including subdirectories[/color]
adbsync C:\Stuff sdcard/Stuff /a /h /s /v
You must have established a connection already to the Nook using adb connect 192.168.XXX.XXX
Download from the signature.
An anomaly has surfaced. Ok, maybe I mean bug. It's a matter of perspective.
When you sync a file, then do a busybox stat on it:
Code:
# busybox stat sdcard/Music/index4b.htm
...
Modify: 2012-07-11 22:55:11.000000000
Then you reboot the Nook (or remount the sdcard) and do a busybox stat on it:
Code:
# busybox stat sdcard/Music/index4b.htm
...
Modify: 2012-07-11 22:55:10.000000000
The file getting one second older causes it to need to be resynced.
The problem
Linux keeps filetimes in one second resolution. It caches them for mounted systems.
When a vfat partition is mounted the filetimes are taken from the partition at the MS-DOS 2 second resolution.
This can cause the filetimes to be truncated to an even number of seconds.
The solution
adbsync now uses as default a 2 second resolution to allow syncing of vfat paritions without further ado.
When syncing ext2, ext3, etc partitions you may use the /1 flag to use 1 second resolution.
Note that the default 2 second resolution will work fine in this situation too.
The new adbsync is in the signature.
There's a new version available (in the signature).
It does a few things better.
It will update subdirectories (using the /s flag) as long as they exist already.
It will signal the conflict if Bogus is a file on the Android but a dir on the Host.
It gives more broken-down statistics.
Thank you so much for creating this utility!!
Renate NST said:
Here is a little utility that may appeal to some.
Click to expand...
Click to collapse
Thank you so much for creating this adbsync utility. I am hoping (and will let you know soon) that it will help me perform large sync tasks (thousands of files, ranking from a few kb up to about 100 mb), with dozens of directories --- which I regularly make minor updates to (unpredictable as to what), and then need to sync these changes to or from various computers where mirrors exist (where I connect my Galaxy Nexus (LTE), and to a large USB Flash/Thumb drive).
I have been through an absolute nightmarish struggle to sync non-multimedia (not music/video) files for several weeks now, as there are no utilities that will give my MTP only (no UMS) ROM partition a drive letter (there is no SDcard, just a sym-link to a folder --- see this thread --- and my last few posts there).
(I have not been able to find much info beyond the typical "adb help all" regarding the adb command "adb sync", and certainly no useful scripts that make it user-friendly.)
Testing is Successful Thus Far (Yeah!!)
Hi Renate,
I am very sorry to bother you again, but I just wanted to let you know that my little test went very well. I think I am going to wind up making use of this tool you wrote perhaps regularly now (for a while) --- thanks again.
Here was the initial "listing" of the test directories I sync'd:
Code:
C:\Android\android-sdk\platform-tools>adbsync D:\WIRELESS\FullPathHere sdcard/SimilarPathHere /d /s /v /2
...
...
Dirs match: 86
Files match: 13
H Host file only: 190
A Android file only: 10
A> Android file newer: 524
Where as this can be a nice time-saving tool for me (to sync lots of directories and files without navigating them all), the only remaining downside is that I am somewhat limited in the available comparisons I can make here - which I think may be resulting in more push/pulls than is truly necessary. In other words, in some cases I may not want to copies ANY files that same size, path, and filename name, even though they may have a different last modified/created dates. In that scenario, I would ONLY want to syn those that are merely absent altogether (and ignore the file created/last modified dates), which would of course be a less inclusive kind of comparison/sync.
Could you perhaps add this feature in to this tool, or else give me some hints so that I can create my own script/tool to also do this?
Thanks so much, I am very impressed and grateful!,
Paul
adb sync seems very limited in application. I've never really tried it.
Well, besides your request for the capability to only sync files that don't exist,
there is the other scenario to only sync files that already exist.
I'll look into how to do this cleanly.
I do have an option (I'm not sure that it's on the uploaded version) to create or ignore directories that don't exist.
Awesome!! (thanks again
Hi Renate,
Thank you for responding
Renate NST said:
I'll look into how to do this cleanly.
Click to expand...
Click to collapse
... thank you! That sounds great. BTW: Did you use the source code for this adb mod in order to write the code for this version?
I do have an option (I'm not sure that it's on the uploaded version) to create or ignore directories that don't exist.
Click to expand...
Click to collapse
...again, I am eternally grateful. If you don't want to post it publicly, you might consider just PM-ing me?
Best Regards,
Paul
Well, I had already done half of half of what you wanted.
The /s flag searches subdirectories.
The /c flag searches and creates subdirectories that don't exist on the android.
adbsync /a /s /c will create new subdirectories on the android.
I haven't made the host part of it work yet.
That is, with adbsync /h /s /c it will not create subdirectories on the host (yet).
Download in the signature.
Any chance to get it for Linux too?
Mmm, there are various GUI file managers that work with ADB.
The whole point of ADB is it connects to your Nook on port 5555
On the other side it takes requests from client programs on your host on port 5037.
When you do an ADB shell you are running adb on the host twice, once as a server and once as a client.
The Nook is running the adbd daemon.
The ADB server on the hosts supports multiple clients.
That's why you can run a shell, a logcat, a pull and my adbsync all at the same time.
Currently my code is too tied to Windows stuff to really port to Linux easily.
Thank you for this application. I absolutely hate MTP transfer mode on newer devices, especially when I have to sync files, but Grsync can't detect MTP. This really help.
Yes, MTP sucks, rsync don't work on it too, I will try to made a bash script for adb to have a software like yours adbsync.
Sent from my GALAXY Cooper
error using adbsync
hi,
using adbsync for a small test i got the erroro message
"Root for android does not exist".
as i know my device is already rooted?
any idea whats wrong?
pbelcl said:
"Root for android does not exist".
Click to expand...
Click to collapse
Hmm, maybe I should have written that error message more specifically as:
"Root directory specified for the android in the second argument does not exist."
Code:
adbsync /a /s /c /v C:\Books sdcard/Books
sdcard/Books must already exist.
On some (non-Nook) devices /sdcard is actually a link to /mnt/sdcard
adbsync will complain that the root for android is not a directory, so do this instead:
Code:
adbsync /a /s /c /v C:\Books mnt/sdcard/Books
If you insist on a (superfluous) leading slash or spaces in a directory, put it in quotes:
Code:
adbsync /a /s /c /v C:\Books "/sdcard/Stupid stuff/Books"
Renate NST said:
Hmm, maybe I should have written that error message more specifically as:
"Root directory specified for the android in the second argument does not exist."
Click to expand...
Click to collapse
Yes that helped, destination folder was missing
So i made a copyjob that syncs various folders from PC to Android Phone.
but sometimes during copying a whole folder structure with subfolders in the middle of copyjob i get an error:
Code:
=>Can't copy to android
some files ar copied and some files not, very strange ?
any hints what's the reason ??
"Can't copy to Android" might be a timeout on transfer.
Are they really big files? Do you have a really slow SD card?
I might have to increase the timeout.
In any case, if you get a "Can't copy" you can just repeat the same command again.
If you use the /l flag it will list all files in either host or device.
By looking at the leftmost field you can see what adbsync thinks of the two.
To see flag usage just type "adbsync".
Renate NST said:
"Can't copy to Android" might be a timeout on transfer.
Are they really big files? Do you have a really slow SD card?
Click to expand...
Click to collapse
You are right, in this case i try to copy some mpg4 video files, are about 200 MB big.
maybe it is possible to select timeout with a parameter for future versions ?
Renate NST said:
In any case, if you get a "Can't copy" you can just repeat the same command again.
Click to expand...
Click to collapse
yes i tried and it worked for the next files
by the way a question:
is it possible to get some logfile what happened during adbsync, when it runs unattanded?
Tried to use ADBSYNC on another PC but i get the error "No ADB server".
This problem occures only at the first run of adbsync!
after one time adb.exe was called, adbsync works perfect.
maybe i have to start adb.exe BEVORE i can run ADBSYNC ??
Awesome! Very handy!
This is awesome! Thanks
Any chance you could add the ability to exclude certain extensions? I end up with my Thumbs.db in image folders.. as well as other files I don't want to sync...?
Renate NST said:
I might have to increase the timeout.
Click to expand...
Click to collapse
is there any possibility to get a trial version with increased timeout?
now i have to start the sync procedure 5-7 times to get all files synced, so it is not very useful for me ;.(
I've had a bunch of requests on how to run Linux on our ZF2, so this is a quick(ish) howto using some awesome tools out there.
Requirements:
1. Root ( this is necessary for creating a chroot )
2. Busybox ( from the Play Store ) for Linux Deploy and pretty much all root-related software
3. Linux Deploy ( from the Play Store ) for installing Linux
Optional:
1. XServer-XSDL ( from the Play Store ) for X
2. MicroSD card for linux
3. SD Card Partitioning software ( I use Aparted from the Play Store )
Process:
1. Root your phone. Plenty of howto's out there
2. Install Busybox
3. Install Linux Deploy
4. ( OPTIONAL ) Install XServer-XSDL
5. ( OPTIONAL ) If you want pulse audio support, you will need to add a /tmp folder to /data/data/x.org.server/files/img/
6. ( OPTIONAL ) Install Aparted
7. ( OPTIONAL ) repartition your microSD card with partition 1 as exFAT & the 2nd partition as ext4 ( for linux )
7b. Write down the location of your ext4 partition. Most of the time it will probably be /dev/bloc/mmcblk1p2 ( means memory card 1 partition 2 )
8. Start up Linux Deploy
8a. click on Properties ( looks like a download icon on the bottom right )
8b. Under Deploy: Select your Distribution.
8c. Under Deploy: Select your Distribution suite. ( right now there is no hw video acceleration and Mesa's new implementation fails with llvm errors; so if you want software supported glx, then choose an older distro )
8d. Under Deploy: Select i386 or i686 ( do NOT select any of the ARM processors )
8e. ( OPTIONAL ) Under Deploy: change Installation type to Partition if you want to use a real partition off your microSD card.
8f. ( OPTIONAL ) Under Deploy: change Installation path to your real partition, ie /dev/block/mmcblk1p2
8g. ( OPTIONAL ) Under Deploy: Change File system to the filesystem we partitioned the card as, ie ext4
8h. Under Startup: ONLY have SSH checked
8i. ( OPTIONAL ) Under Startup: Check Custom Mounts to mount other filesystems, like the internal SD card, the microSD card exFAT partition or even the /tmp folder for XServer-XSDL for pulse audio
8j. ( OPTIONAL ) Under Startup: Click Mount points to add mount points, here's a quick list:
/storage/emulated/0
/storage/MicroSD
/data/data/x.org.server/files/img/tmp
These 3 mounts would appear as: /mnt/0, /mnt/MicroSD and /mnt/tmp in your chroot linux
9. Install Linux ( it will take around 30 minutes or so )
10. After installation finishes, click Start and Linux Deploy will start up your ssh service.
11. Connect to your phone via ssh with default login/password: android/changeme
12. I HIGHLY recommend changing your password.
13. ( OPTIONAL ) start up XServer-XSDL on your phone
14. ( OPTIONAL ) export DISPLAY=:0 to send all X commands to XServer-XSDL
15. ( OPTIONAL ) Pulse Audio: use your local package manager ( apt-get, rpm, pacman, emerge, etc... ) to install pulseaudio & pulse-alsa packages. This should set the default asound.conf to use pulse audio.
15a. ( OPTIONAL ) edit /etc/pulse/default.pa and add this line at the end:
load-module module-pipe-sink rate=44100 format=s16le channels=2 file=/mnt/tmp/audio-out
15b. ( OPTIONAL) edit /etc/pulse/default.pa and comment out the lines containing module-console-kit, ie:
# .ifexists module-console-kit.so
# load-module module-console-kit
# .endif
15c. ( OPTIONAL ) to start pulse audio before your application: $pulseaudio --start -D
16. Run your Linux executable(s)
Directions on recompiling LLVM, Gold & Mesa for Intel SSE4.1 assisted 3d: http://forum.xda-developers.com/showpost.php?p=62024812&postcount=12
Arch Linux walkthrough: http://forum.xda-developers.com/zenfone2/general/zf2-linux-howto-t3158034/page4#post62916375
Enjoy linux running alongside your phone.
Edit: Compiled libandroid-shmem.so for 64-bit Arch.
Thank you for the in-depth tutorial. How well does this run? In the past I have tried (ARM based devices) and it runs like trash when trying to start applications. Does it run smooth on here?
Christopher876 said:
Thank you for the in-depth tutorial. How well does this run? In the past I have tried (ARM based devices) and it runs like trash when trying to start applications. Does it run smooth on here?
Click to expand...
Click to collapse
It's pretty much native linux, so comparable to whatever's out there. As far as X goes, it's pretty smooth with XServer-XSDL. <-- hands down, the best Android X Server out there.
...and you can further increase the speed of X apps by getting libandroid-shmem.so ; it opens a shared memory location with XServer-XSDL. ( Under the description of XServer-XSDL is a link to download it ) This ONLY works for 32 bit distros at the moment.
ie, $LD_PRELOAD=/lib/libandroid-shmem.so mplayer my_movie & would play the movie with shared memory access.
Actually, I use this setup to start up Qemu-KVM to virtualize windows.
You will have issues with OpenGL, though, because right now I haven't figured out how to access the video card hardware properly. Older Distros, before Mesa moved to llvm, will still allow you to do software rendering & I was able to get around 40-50 fps w/ the test software.
Added to index; thanks for the tutorial!
Good job
I keep getting a message that says couldn't find these debs: 0. And I also get the linux.img already but, its suppose to be a 30 minute install
Sent from My ZE550ML
troy5890 said:
I keep getting a message that says couldn't find these debs: 0. And I also get the linux.img already but, its suppose to be a 30 minute install
Sent from My ZE550ML
Click to expand...
Click to collapse
I would first check your internet & if it still doesn't go, try a different distro.
Depending on which Distro you want to install, I'd recommend going to Google to see how to mount your img and create the chroot from scratch.
So, every OS in VM (Linux, Windows) suffers from lack of full-featured GPU drivers. In other words, every OS in VM on ZF2 stuck with software rendering.
While it can be OK for some office or other non-graphics intensive apps, you can forget about idea to run the games
If i guess right, this situation won't change, because no-one will able to write GPU driver.
sorg said:
So, every OS in VM (Linux, Windows) suffers from lack of full-featured GPU drivers. In other words, every OS in VM on ZF2 stuck with software rendering.
While it can be OK for some office or other non-graphics intensive apps, you can forget about idea to run the games
If i guess right, this situation won't change, because no-one will able to write GPU driver.
Click to expand...
Click to collapse
The problem isn't the GPU driver, though.
This is using the Android kernel. Which means we do have some sort of hardware acceleration on Linux...
Just not full hardware acceleration. I heard it had to do with something in the way this deploys or something like that. Idk~
AkiroX said:
The problem isn't the GPU driver, though.
This is using the Android kernel. Which means we do have some sort of hardware acceleration on Linux...
Just not full hardware acceleration. I heard it had to do with something in the way this deploys or something like that. Idk~
Click to expand...
Click to collapse
For simplicity, i've called 3D accelerated (DirectX, OpenGL) driver as GPU driver.
Of course, there is basic video driver, but that's not enough to play the games.
May be it's possible to use somehow part of android binaries, like OpenGL driver, and then create some other OpenGL driver on top of it (Android API is well documented), to make it compatible with normal Linux. Some kind of wrapper.
At least in theory. This should require a lot of knowledge.
About the "couldn't find these debs: 0", I think it's due to an invalid combination of settings. For instance I get it when selecting GNOME on Ubuntu Precise, but it installs just fine when using Lucid.
That said I can't get GNOME to work with any distro I've tried. Just crashes when starting gnome-session. Guess it needs graphics acceleration?
Also, I don't think busybox is strictly required. At least I've previously managed to install Debian with LXDE without installing busybox.
Update: LLVM & GLES
In order to get GLES( 1 & 2 ) working, you will need to recompile LLVM, Gold & Mesa.
Explanation of the issue:
Without hardware accelerated video drivers, modern linux distros fall back to the software renderer. The current Mesa software renderer tries to make use of all possible intrinsic instructions ( SSE, SSE2, SSE3, SSE4, etc.. ) at link time (LTO). Here's the rub: LLVM doesn't recognize our cpu, so it returns generic x86_64; which doesn't support.. you guessed it, SSE4.1; even though cpuinfo will show that we have SSE4.1 support.
Here's the process:
I. Prepare binutils following this guide: http://llvm.org/docs/GoldPlugin.html
1. download binutils: git clone --depth 1 git://sourceware.org/git/binutils-gdb.git binutils
2. create a separate build directory since you're only going to use the binutils source files. I called mine: mybuild
3. from your build directory: $ ../binutils/configure --enable-gold --enable-plugins --disable-werror
4. from your build directory: $ make all-gold
II. Prepare & Build LLVM following this guide: http://www.linuxfromscratch.org/blfs/view/svn/general/llvm.html
1. Download LLVM 3.6.2: http://llvm.org/releases/3.6.2/llvm-3.6.2.src.tar.xz
2. Download Clang: http://llvm.org/releases/3.6.2/cfe-3.6.2.src.tar.xz
3. Download Compiler RT: http://llvm.org/releases/3.6.2/compiler-rt-3.6.2.src.tar.xz
4. extract LLVM: $ tar xvf llvm-3.6.2.src.tar.xz
5. extract Clang inside the llvm directory -> tools directory: tar xvf cfe-3.6.2.tar.xz
6. rename the directory: $ mv cfe-3.6.2 clang
7. extract Compiler-RT inside the llvm directory -> projects directory: tar xvf compiler-rt-3.6.2.tar.xz
8. rename the directory: $ mv compiler-rt-3.6.2 compiler-rt
III. Modify lib/LTO/LTOCodeGenerator.cpp
1. do a quick search for "yonah", it should appear in bool LTOCodeGenerator::determineTarget
2. After the Darwin check, add the following line: Mcpu = "silvermont";
3. ( Explanation ) Even though our processor is a Moorefield ( Medfield ) processor, it falls under the Silvermont sub-family. Basically, we're telling LTO ( Link Time Optimization ) that it doesn't matter what we're detected as, we're a Silvermont processor.
IV. Modify lib/Support/Host.cpp for Intel processors
1. ( explanation ) if you do a $ cat /proc/cpuinfo you'll see that our family is 6 and our model is 90. So we need to add that to the Atom Silvermont section of StringRef sys::getHostCPUName. Cpuid, though, also detects our model as model 10, so we need to comment out that model under family 6.
2. comment out the case statement under family 6 w/ model 10: // case 10: // Pentium III Xeon processor, model 0Ah ( here we add 2 slashes in front of case 10 )
3. Add 90 and 10 to the Silvermont section of family 6 ( "slm" is shorthand for silvermont ):
// Atom Silvermont codes from the Intel software optimization guide.
case 55:
case 74:
case 77:
case 90:
case 10:
return "slm";
4. To make sure we make LLVM aware of what processor we are, comment out all of the "default: return x86_64..." 's with:
default: return "slm";
// default: return (Em64T) ? "x86-64" : "i686";
5. Comment out "generic" and return "slm" again:
default:
return "slm";
// return "generic";
V. Prepare the LLVM configuration in the llvm directory
1. $ sed -e "s:/docs/llvm:/share/doc/llvm-3.6.2:" -i Makefile.config.in
2. $ sh configure --with-binutils-include=[full downloaded binutils path]/include --prefix=/usr --enable-shared
3. make -j2
4. Go have dinner, watch a movie, drink some coffee; it's going to take a LONG time
5. DO NOT INSTALL IT YET
VI. Prepare Mesa
1. Download Mesa 10.6.2 from mesa: ftp://ftp.freedesktop.org/pub/mesa/10.6.2/mesa-10.6.2.tar.xz
2. extract mesa $ tar xvf mesa-10.6.2.tar.xz
3. inside the mesa directory: $ sh configure --host=x86_64-pc-linux --prefix=/usr CFLAGS=-march=silvermont --enable-gles1 --enable-gles2 --enable-nine --enable-opencl --with-llvm-prefix=[full path to downloaded LLM]/llvm-3.6.2.src/Release+Asserts
4. $make -j2
VII. Install LLVM & Mesa
1. from the llvm directory: $ sudo make install
2. from the mesa directory: $ sudo make install
If everything works, you can download the mesa demo's package from your favorite package manager and be able to run es2gears_x11 w/ XServer-XSDL ( from the App Store ).
On average, I get just shy of 60 fps this way.
You should be able to download virtualgl & turbovnc to get quite a performance boost. VirtualGL uses a fake X environment to render the 3D and passes that on to the 2D X environment. TurboVNC is built on top of VirtualGL, so it's a vncserver that supports pretty snappy gles on and off the phone. I was able to hit around 112 fps w/ es2gears_x11 in a TurboVNC environment. YMMV
At the moment, there is still no GLX support and I'm looking into it, but having our quad core processor w/ SSE4.1 helps w/ the software rendering a LOT.
Does that mean GPU acceleration is close to work or we need GLX (OpenGL for X) ?
The fps you got are in which game/application?
Is TurboVNC faster than VirtualGL?
aziz07 said:
Does that mean GPU acceleration is close to work or we need GLX (OpenGL for X) ?
The fps you got are in which game/application?
Is TurboVNC faster than VirtualGL?
Click to expand...
Click to collapse
Before we can get GPU acceleration, I wanted to make sure LLVM responded w/ the correct cpu since a LOT of software now uses it.
fps was from es2gears_x11, the mesa gles2 demo program.
Connecting to TurboVNC using bVNC ( from the app store ) allowed es2gears_x11 to run around 112 fps
Connecting to TurboVNC from my laptop using Windows TurboVNC viewer allowed es2gears_x11 to run around 68 fps
Using VirtualGL running es2gears_x11 to XServer-XSDL was just shy of 60 fps ( ~58 fps or so ), so either I'm not running it correctly, but XServer-XSDL is limited
The benefit of using XServer-XSDL, though, is that it has built-in pulseaudio support; right now, I'm not setting something right in my /etc/pulse/default.pa configuration file to stream audio to Simple Player ( android app store ).
Edit:
Here's a video of TurboVNC running the lxde windows manager, es2gears_x11, Windows 8 under qemu-kvm and the ePSXe Playstation 1 emulator inside Windows 8.
Hows your ram usage in Android with all those running ??
aziz07 said:
Hows your ram usage in Android with all those running ??
Click to expand...
Click to collapse
Pretty much normal. I think I dip down around 900 megs free or so. ( because I allot 1 gig to Windows 8 )
Amazing accomplishments ycavan, but I'm wondering, can I compile on my desktop machine (Arch Linux x86_64), move the folders to the chrooted installation in my ZenFone, and make install then and there? Am I missing something here? I dabbled with clang, but mostly small stuff (and using Qt in the middle, so I wasn't really doing a whole lotta makefiles or stuff like that ). Also, is there any improvement for this in Mesa 10.6.3?
Thanks!
edit: on my Arch installation I'm getting the warning "configure: WARNING: unrecognized options: --enable-gold" and it can't do the make all-gold. Am I missing something?
pijiman said:
Amazing accomplishments ycavan, but I'm wondering, can I compile on my desktop machine (Arch Linux x86_64), move the folders to the chrooted installation in my ZenFone, and make install then and there? Am I missing something here? I dabbled with clang, but mostly small stuff (and using Qt in the middle, so I wasn't really doing a whole lotta makefiles or stuff like that ). Also, is there any improvement for this in Mesa 10.6.3?
Thanks!
edit: on my Arch installation I'm getting the warning "configure: WARNING: unrecognized options: --enable-gold" and it can't do the make all-gold. Am I missing something?
Click to expand...
Click to collapse
I'm not sure about compiling on your desktop machine, but I doubt it'd be too much of a problem.
re: the --enable-gold warning, did you follow the linked howto? it almost sounds like you didn't grab the correct binutils ( or running configure for some other program )
I'd like to think so. I created a directory, did the clone of binutils into that directory. CDd there, created another directory called "mybuild" (so I could follow the steps perfectly), etc. I'll try again in a little bit and post some pictures with the warning, should they arise again. Thanks!
EDIT: created "mybuild" INSIDE binutils, instead of BESIDES binutls. making it right now. I'd like to, eventually, post a video guide of this build process, with your permission and due credits.
I think that's a wonderful idea!
Sent from my ASUS_Z00AD using XDA Free mobile app
{
"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"
}
Hi all i have extracted all ClockSkin from No 1 D5 Firmware.
I think is very simply create more ClockSkin for this device..
Just find the layout you want (from existing ones), and change at will the images
DOWNLOAD
UPDATE:
HOW INSTALL CUSTOM CLOCKSKINS:
------------------------------------------
Method 1 save clockskin on /sdcard
Solution by @Lokifish Marz
1.Connect watch to Windows/Mac/Linux
2.Enable USB Storage on watch
3.Create a folder called "ClockSkin" on the SDCard/Storage
4.Drag and drop any new face folder into "ClockSkin" folder on SDCard/Storage
5.Disconnect watch and select the new face
No adb, no special drivers, no scripts, no programs. Just drag and drop.
------------------------------------------
Method 2 save clockskin on /data or /sdcard
Tool By @Steve Giordano
Hi all, I have created a tool which allows you to install all the clockskin!
Guide:
1.Download my tool
2.extract it
3.copy the folder of the custum clockskin you want to install in the folder of tool
4.Open the exe file.
5.Select 1 "Put new clockskin on Sdcard" or 2 "Put new clockskin on Data".
6.Write the name of the folder on the new custum clockskin you've copied
Click to expand...
Click to collapse
-----------------------------------
Method 3 save clockskin on /data
GUIDE by @cyrux75
How-to push clockskin to K8 / K8 mini/ No.1 D5 smartwatches with ADB commands
Hi,
Here is the step-by-step procedure to add new clockskins to these great smartwatches.
It is not required to root the watch but it implies the use of adb command line, although it's a trivial job.
Prerequites are:
- adb on your PC (here's a great minimal distribution http://forum.xda-developers.com/show....php?t=2317790); I don't give you further details on adb usage, there is plenty of tutorial about that
- Watch connected to the PC
- ClockSkin.zip or any valid clockskin file that will be made available
1. Extract the content of ClockSkin.zip file on your PC; you should have a folder (ClockSkin) which contains 19 sub-folders (ClockSkinP1, ClockSkinP2,...)
2. Copy the sub-folders (ClockSkinP1, ClockSkinP2,...) to your watch in /sdcard/Downloads folder
3. Enable "Debug on USB" on your watch; check it in settings, information, developer options
4. Open a shell with adb on your PC, go on with the following commands:
Code:
adb shell
cd /data/clockskin
cp -R /sdcard/Downloads/ClockSkin* .
chmod -R 777 ClockSkinP*
chmod -R 777 ClockSkinZ*
exit
It's done!
You'll find the new clockskins available as the existing standard clockskins.
How Create ClockSkin
---------------------------------------------
Application by @rromeroa
"Hi, I have done a windows application for generating the clockskins, I hope enjoy it and a propper use
of the software. "
DOWNLOAD
Its based on the examples that you have shared on the forum, I must say I have not clock
* IMPORTANT NOTES
YOU AGREE THAT YOUR USE OF THIS SOFTWARE IS ENTIRELY AT YOUR OWN RISK.
* FEATURES
- Create visualize and modify xml's clockskins based on structure explained from xda-developer forum
- Import IMAGES from .watch files for use them directly
- Incorporates a function to generate personalized "arrays"
- Incorporates default samples extracted from the launcher
* REQUIREMENTS
- It's a portable pure .Net application, so you only need to have installed Microsoft Framewotk 4.5
* USAGE
I think is very simple:
- Load/Create/Import a clockskin from left side of the application
- Double-click on elements to add and select properties of them (layer, image, positions, etc...)
- Save, when you save the project the created clocksckin is in the main folder and ready to move it to the device.
* KNOWN ISSUES aND LIMITATIONS
- The "pedometer text" and "heartrate text" elements are not implemented. Still I have not an example of them
- The "special seconds", "arc battery" and "arc steps" elements are generated but not displayed in the application
- The "angle" and "start angle" properties are generated but it's not clear that they are displayed correctly in the application
- Each element allows all the properties, but I don'nt know which combinations are allowed on firmware
* THANKS
Special thanks to people without whom the application would never be,
the following active members of xda-developers community for sharing
and explain methods for extract, build and save skins:
@Lokifish Marz
@cyrux75
@Steve Giordano (Steppdroid)
every users who have shared their creations.
...and my suffered code testers
Carlos P.
Ruben G.
CUSTOM CLOCKSKINS
---------------------------------------------
PACK ALL IN ONE FILE By @smartwatchticks
XDA DEVELOPER CREATED WATCH FACES FOR D5/K8/K8 MINI/K9/K18/X5 SMARTWATCHES
This ClockSkinDesigns1 ZIP file contains the following:
File - Instructions (this document)
Folder - ClockSkin (all developer clock skins in individual folders sorted alphabetically by the names that were given to them by each developer)
Folder - ClockSkinDirectory (images of each of the clock skins available in the folder ClockSkin)
Folder - SkinCreators (folders for each developer with duplicate copies of each of their designs sorted by their XDA user name)
Folder - StockClockSkins (clock skins preinstalled on the D5 watch accessible for extraction)
Folder - StockClockSkinPieces (various pieces of clock skins preinstalled on the D5 watch not accessible for full extraction)
HOW TO USE THIS ARCHIVE:
If you want to look at each and every developer designed watch face captured here on your own watch, then you will want to copy the entire folder named ClockSkin to your watch. Here’s an easy way to do this:
1. Plug your watch charging cradle into the USB port of the computer containing these files and place your watch in the cradle.
2. Press the button that appears asking Turn on USB storage.
3. Press the OK button on the next screen
4. Your watch should say USB Connected and you should see an external drive mounted on your computer (on the D5 watch it is identified as W806)
5. Open that drive and copy the folder ClockSkin from here to that drive.
6. When copying is complete, unmount the external drive
7. Tap Turn off USB on your watch
8. Press your side button on your watch to return to your watch face.
9. Press and hold your watch face, then scroll left and right to see all your newly installed clockskins as watch faces!
Note: You may see some blank spaces either between clock faces or at the end of the newly installed ones due to invisible file artifacts in the folders left over from Mac/PC/Windows OS processes. Unfortunately, this is normal.
HOW TO SELECTIVELY INSTALL:
Follow steps 1-4 above.
5A. Open the watch drive mounted on your computer and create this folder: ClockSkin (exactly as shown including capitals)
5B. Review the images in the folder ClockSkin Directory included in this package and make note of the FILE NAMES of the watch faces you want to install on your watch.
5C. Open the ClockSkin folder included in this package and copy each folder matching the file names of the watch faces you want on your watch over to the ClockSkin folder on your watch that you just created.
Follow steps 6-9 above.
WHAT ABOUT FIRMWARE DIFFERENCES?
In March 2016 for the D5 watch, No.1 released a firmware update which, among other things, provided a fix for rotating components counterclockwise on the watch. This has led to a few of the newest creations being designed specifically for those watches running the newest firmware. ALL the designs you see here should work on the new firmware. The clockskin file names which end in an asterisk (*) were made for the new firmware and indicate they may not display correctly on the older firmware versions. How do you check which version is on your watch? Open your settings, scroll to the bottom and open About Device. If your watch is the D5 and your firmware is 160310 or newer (2016/03/10) you’re OK. If you have any other watch besides the D5, well, you may need to wait for an update.
HOW TO MODIFY THESE WATCH FACES:
Watch the YouTube videos on Watch Face Design to learn how these clockskins are put together. Then modify the clockskin.xml file within the folder of the watch face you want to modify. Either modify it directly on your watch, or, if you modify it on your computer, copy it to your watch and replace the old file with the new one. You may need to add additional files or modify others depending on what you are doing, but you will learn about that in these videos:
https://www.youtube.com/playlist?list=PLGZLicZ6A2vUbzBPkLGXcSffQ90OPmyc6
WHO MADE WHAT?
The SkinCreator folder included in this package has duplicate copies of each of the watch face designs from the ClockSkin folder, only here they are sorted into separate developer named folders. It is recommended you keep this folder intact as an archive of the original designs. If you choose to modify any designs to your own likings, you can do so in the ClockSkin folder knowing that you can return to the original design in the SkinCreator folder at any time.
WHO GETS PAID FOR ALL THIS?
Nobody is asking for money for the designs included here. They are all offered free. Some developers would appreciate a donation for their efforts, and if you are so motivated, you will find a PayPal Donate button next to a developer’s post in the original XDA Developers Forurm. Feel free to contribute. Here is the link to the beginning of the Forum where all these watch faces came from. This set of clockskins includes are all designs through the first 800 posts (first 80 pages) of this Forum:
http://forum.xda-developers.com/sma...es/clockskin-extracted-1-d5-firmware-t3295297
WHERE CAN I GET MORE INFORMATION?
These resources are suggested to further your exploration of these watches and their watch face design capabilities:
https://plus.google.com/u/0/communit...42607524552712
http://forum.xda-developers.com/smar...-1-d5-t3270656
http://forum.xda-developers.com/smar...d-4-4-t3207082
http://forum.xda-developers.com/smar...4-4-2-t3250601
http://forum.xda-developers.com/smar...house-t3313103
http://forum.xda-developers.com/smar...watch-t3336594
http://forum.xda-developers.com/smar...s8-k8-t3293748
ANYTHING ELSE?
There are two more folders in this set. The StockClockSkins folder contains the complete extracted clockskin information for several of the installed watch faces. You can play with modifying these to learn more about how it all works and compare with the originals which are always on your watch (D5). The other folder, StockClockSkinPieces, holds various pieces and parts, like clock hands, numbers, backgrounds, etc., which can be used in your own designs. If you look at the images in the Directory folder within the StockClockSkinPieces folder, you will see images of all these parts from the actual running watch faces so you will be able to associate the picture names with the file folder names to locate the parts of interest to you. A lot of work has gone into all this by a lot of people, all for free. Enjoy your amazing smartwatch!
Compiled, sorted, archived and ZIPped by Mr. Ticks of SmartWatchTicks
Other Clockskin by xda member
CLOCKSKIN BY @cyrux75
DOWNLOAD
--------------------------
CLOCKSKIN BY @Lokifish Marz
DOWNLOAD
--------------------------
CLOCKSKIN BY @Gabrikira
DOWNLOAD
--------------------------
CLOCKSKIN BY @Massu4
DOWNLOAD
-------------------------
CLOCKSKIN BY @[email protected]
DOWNLOAD
------------------------
CLOCKSKIN BY @vicented80
DOWNLOAD
-----------------------
CLOCKSKIN BY @vicented80
DOWNLOAD
How do the hands work? Are they image files too?
Steve Giordano said:
Hi all i have extracted all ClockSkin from No 1 D5 Firmware.
I think is very simply create more ClockSkin for this device..
Just find the layout you want (from existing ones), and change at will the images
DOWNLOAD
Click to expand...
Click to collapse
Mini/D5 Watchface config parameters
..
Can you confirm the number of faces on the watch? I your video you mentioned 30. Thanks
Lokifish Marz said:
The hands are image file. The config parameters are in Chinese so they need to be translated.
Update
Translation done. Looks like it can do the following;
Dials- 12 & 24hr H/M/S, Day, Date, Month, Week, Battery (more may be possible with adjusted rotation rates assuming it accepts decimal rotation modifiers. Example: dial with a 0.XXX or X.XXX modifier would equal lunar phase dial)
Digital- 12 & 24hr H/M/S, Day, Date, Month, Week, Steps, Heartrate, Battery, Lunar Phase, Weather, Temperature
Missing- Notification indicators, custom indicators, Calendar events, special effects? ("special second" needs further investigation)
Translated config parameters
<?"utf-8"?><Name></ name> image name can be a single image or xml configuration file, a xml file represents Inside is a picture array
<centerX> 0 </ centerX> X coordinates, center of the screen by default
<centerY> 0 </ centerY> Y coordinates, the default screen center
<rotate> 1 </ rotate> rotate hour and minute hands and other identification, specific explanation rotate index see below,
<angle> 60 </ angle> Contact <rotate> with the rotation angle of deviation, such as the default start 0 degrees, and now you need to start from 60 ° In this configuration
<arraytype> 2 </ arraytype> If the picture configuration the xml, this is used to identify which specific types, see beneath arraytype index
</ color>1<color> charging pattern color default white, black you need to configure 1, otherwise do not configure
<mulrotate> 3 </ mulrotate> Contact <rotate> mix multiple normal rotation speed, the default is 1, the value of a regular rotation speed multiplied by the default configuration, in addition to its absolute value is negative
<startAngle> 150 </ startAngle> dial arc text next to the starting angle
< direction> 1 </ direction> direction of rotation, a clockwise, counterclockwise 2, do not configure the default is clockwise
<textsize> 1 </ textsize> next to the dial arc text font size, do not configure the default 19
rotate index
hour: 1 clockwise angle
minute: 2 minute rotation angle of the
second: 3 seconds rotation angle
month: 4 month rotation angle
week: 5 week rotation angle
battery: 6 Battery rotation angle
arraytype index: numeric array default to start from the smallest, such as 0--9 pictures you first configure 0,1--12 pictures you first configure 1
yearmonthday: 1 numeric date, such as 2015-01 -01 ,, adopted 11 pictures, the first digital 1--10 Zhang 0-9, the first 11 as a date segmentation map
monthday: 2 numeric day of the month, such as 10-01, using 11 pictures, first 1--10 Zhang is a digital 0-9, the first 11 month of the date of segmentation map
month: 3 month (using 12 pictures point to 12 months, 1--12)
day: 4 date (using 10 pictures, 0--9)
weekday : 5 weeks, seven pictures, Sunday to Monday
hourminute: 6 digital time as 10:59 am in hours and minutes, the first 0--9 1--10 digital sheet configuration, the first image configuration segmentation map 11, the first 12 Configuration AM, the first configuration 13 PM, if there is no AM and PM may not deserve this combination configuration center for the digital center, if AMPM will be automatically added to the digital rear
hour: 7 hours 0--9 Pictures
minute: 8 minutes, 0--9 picture
second: 9 seconds 0--9 picture
weather: 10 Weather, fixed 15 pictures, picture sequence reference weather_array.xml comments inside
temprature: 11 temperature, four pictures, the first negative sign Finally, a unit, picture configured as a digital 1-10, the first 11 pictures is negative, the first 12 units of pictures
steps: 12 steps, five digits, the high is empty then use special image, a first --10 configuration 0--9 figures, the first 11 configure special picture
heartrate: 13 Last heart rate results, 10 pictures, 0--9
battery level: 14 power, three digits, high empty then use special image, The first configuration 0--9 1--10 numbers, the first 11 configure special pictures
special second: 15 seconds running the picture, traveled as a color, did not come for another color, two pictures, first Zhang walked the picture, the second as an ordinary image
pedometer text: 97 arc text next to the dial painting, a total number of steps, you can use <startAngle> configuration starting angle, <direction> configuration direction, <textsize> Configure Text Size
heartrate text: 98 arc text next to the dial painting, the last heart rate results, you can use <startAngle> configuration starting angle, <direction> configuration direction, <textsize> Configure Text Size
charging battery: 99 Rechargeable battery icon position, no trim pictures as long as the coordinate position can be configured using text and image color <color>
Click to expand...
Click to collapse
caltomoto said:
Can you confirm the number of faces on the watch? I your video you mentioned 30. Thanks
Click to expand...
Click to collapse
39 + 3 downloadable.
Lokifish Marz said:
39 + 3 downloadable.
Click to expand...
Click to collapse
But this is only 19, where is the rest?
Ugyi007 said:
But this is only 19, where is the rest?
Click to expand...
Click to collapse
In the launcher, including some hidden ones.
How do you select the hidden ones?
Lokifish Marz said:
In the launcher, including some hidden ones.
Click to expand...
Click to collapse
caltomoto said:
How do you select the hidden ones?
Click to expand...
Click to collapse
how to push on smart watch?
How you have extracted the clockskins?
Enviado de meu NX507J usando Tapatalk
Interesting - not as many on the K8 Mini - we will need to consolidate these when we have a fully working root solution for all three devices.
caltomoto said:
How do you select the hidden ones?
Click to expand...
Click to collapse
The ones in the launcher have their configs hidden somewhere in the firmware. Without knowing exactly where it requires one decompile a ton of apks until it's found. Until those configs are found, there's no way I know of to enable the hidden faces.
pablo11 said:
Interesting - not as many on the K8 Mini - we will need to consolidate these when we have a fully working root solution for all three devices.
Click to expand...
Click to collapse
How many does the Mini have?
Actually, just counted and it's 39 + 3 download options. Strangely there's the same amount but some are different. I haven't rooted my mini yet and so can't pull the launcher. And that's where the faces are on this watch.
How-to push clockskin to K8 / K8 mini/ No.1 D5 smartwatches
grean said:
how to push on smart watch?
Click to expand...
Click to collapse
Hi,
Here is the step-by-step procedure to add new clockskins to these great smartwatches.
It is not required to root the watch but it implies the use of adb command line, although it's a trivial job.
Prerequites are:
- adb on your PC (here's a great minimal distribution http://forum.xda-developers.com/showthread.php?t=2317790); I don't give you further details on adb usage, there is plenty of tutorial about that
- Watch connected to the PC
- ClockSkin.zip from this thread or any valid clockskin file that will be made available
1. Extract the content of ClockSkin.zip file on your PC; you should have a folder (ClockSkin) which contains 19 sub-folders (ClockSkinP1, ClockSkinP2,...)
2. Copy the sub-folders (ClockSkinP1, ClockSkinP2,...) to your watch in /sdcard/Downloads folder
3. Enable "Debug on USB" on your watch; check it in settings, information, developer options
4. Open a shell with adb on your PC, go on with the following commands:
Code:
adb shell
cd /data/clockskin
cp -R /sdcard/Downloads/ClockSkin* .
chmod -R 777 ClockSkinP*
chmod -R 777 ClockSkinZ*
exit
It's done!
You'll find the new clockskins available as the existing standard clockskins.
cyrux75 said:
Hi,
Here is the step-by-step procedure to add new clockskins to these great smartwatches.
It is not required to root the watch but it implies the use of adb command line, although it's a trivial job.
Prerequites are:
- adb on your PC (here's a great minimal distribution http://forum.xda-developers.com/showthread.php?t=2317790); I don't give you further details on adb usage, there is plenty of tutorial about that
- Watch connected to the PC
- ClockSkin.zip from this thread or any valid clockskin file that will be made available
1. Extract the content of ClockSkin.zip file on your PC; you should have a folder (ClockSkin) which contains 19 sub-folders (ClockSkinP1, ClockSkinP2,...)
2. Copy the sub-folders (ClockSkinP1, ClockSkinP2,...) to your watch in /sdcard/Downloads folder
3. Enable "Debug on USB" on your watch; check it in settings, information, developer options
4. Open a shell with adb on your PC on go on with the following commands:
Code:
adb shell
cd /sdcard/Downloads
chmod -R 777 ClockSkin*
cp -R ClockSkin* /data/clockskin/
exit
It's done!
You'll find the new clockskins available as the existing standard clockskins.
Click to expand...
Click to collapse
Nice work @cyrux75 :good:
By the way - have you tested your recovery on the D5 or K8 Mini...?
pablo11 said:
Nice work @cyrux75 :good:
By the way - have you tested your recovery on the D5 or K8 Mini...?
Click to expand...
Click to collapse
Not yet, D5 will come tomorrow.
cyrux75 said:
Hi,
Here is the step-by-step procedure to add new clockskins to these great smartwatches.
It is not required to root the watch but it implies the use of adb command line, although it's a trivial job.
Prerequites are:
- adb on your PC (here's a great minimal distribution http://forum.xda-developers.com/showthread.php?t=2317790); I don't give you further details on adb usage, there is plenty of tutorial about that
- Watch connected to the PC
- ClockSkin.zip from this thread or any valid clockskin file that will be made available
1. Extract the content of ClockSkin.zip file on your PC; you should have a folder (ClockSkin) which contains 19 sub-folders (ClockSkinP1, ClockSkinP2,...)
2. Copy the sub-folders (ClockSkinP1, ClockSkinP2,...) to your watch in /sdcard/Downloads folder
3. Enable "Debug on USB" on your watch; check it in settings, information, developer options
4. Open a shell with adb on your PC, go on with the following commands:
Code:
adb shell
cd /sdcard/Downloads
chmod -R 777 ClockSkin*
cp -R ClockSkin* /data/clockskin/
exit
It's done!
You'll find the new clockskins available as the existing standard clockskins.
Click to expand...
Click to collapse
seems like root is required:
Code:
[email protected]_kk:/sdcard/Downloads $ chmod -R 777 ClockSkin*
chmod -R 777 ClockSkin*
Unable to chmod ClockSkinP1: Operation not permitted
10|[email protected]_kk:/sdcard/Downloads $ su chmod -R 777 ClockSkin*
Vurda said:
seems like root is required:
Code:
[email protected]_kk:/sdcard/Downloads $ chmod -R 777 ClockSkin*
chmod -R 777 ClockSkin*
Unable to chmod ClockSkinP1: Operation not permitted
10|[email protected]_kk:/sdcard/Downloads $ su chmod -R 777 ClockSkin*
Click to expand...
Click to collapse
How do you copied folders to the watch?
Anyway procedure could be modified to avoid this, do the following in adb shell:
Code:
cd /data/clockskin
cp -R /sdcard/Downloads/ClockSkin* .
chmod -R 777 ClockSkinP*
chmod -R 777 ClockSkinZ*
Kindly confirm if it works.
cyrux75 said:
How do you copied folders to the watch?
Anyway procedure could be modified to avoid this, do the following in adb shell:
Code:
cd /data/clockskin
cp -R /sdcard/Downloads/ClockSkin* .
chmod -R 777 ClockSkinP*
chmod -R 777 ClockSkinZ*
Click to expand...
Click to collapse
WOW!!!!! IT WORKED EVEN WITHOUT ROOT!!!
1. Turned off USB Debugging mode
2. Opened in My Computer mounted sd card. Created Downoads folder and copied files
And I followed guide how to properly setup divers and how to use MTK Droid Tool (used ADB terminal from it)
https://www.youtube.com/watch?v=s66e-kwvKUU&app=desktop
I'm using Windows 10 so had to turn off Driver Signing check before installation
And I have yellow triangle (Code 10) nearby Mediatek DA USB COM Port (COM12) and Mediatek Preloader USB VCOM Port (COM12) but everything working fine
First step just for testing)