[Emulator][Unnoficial] Leapcast the Chromecast Emulator All-In-One File - Google Chromecast

After several hours of tinkering and editing, I think I've finally managed to make an easy way to emulate a Chromecast on your PC. Iv'e only worked on x64 based systems so far, but I'll do x32 if anyone needs it. All you have to do is download the file, place it on your desktop (or it won't work), extract the .tar (don't make a new folder) and follow the directions in INSTALL.txt. It shouldn't require any extra files except Google Chrome, but if it does or you have any other errors or advice, feedback is very appreciated.​
I take no responsibility for any damages done by this. USE AT YOUR OWN RISK. Leapcast is the property of dz0ny at GitHub, not me. All I did was make an all-in-one install script.​

I already have Python installed....Can I just run the Bat file?

Error running LeapCast.bat
I completed the installation but when I run LeapCast.bat got this error (see the image)
Edit: I found the problem, I need to Edit "PATH" environment variable to include this "C:\Python27" and this "C:\Python27\Scripts".
Good job!!!!
Only youtube detected the leapcast, I check Plex, Avia, Crackle and Allcast and they don't.

lordkain2 said:
I completed the installation but when I run LeapCast.bat got this error (see the image)
Edit: I found the problem, I need to Edit "PATH" environment variable to include this "C:\Python27" and this "C:\Python27\Scripts".
Good job!!!!
Only youtube detected the leapcast, I check Plex, Avia, Crackle and Allcast and they don't.
Click to expand...
Click to collapse
It's probably an error in my install script. It should have edited your PATH automatically, so I'll look into it. The compatibility problem is probably just an issue with the emulator itself. I'll keep an eye on the github page and update this as soon as its available. Thanks for the feedback!
Did you use the Chromecast app on your phone/tablet to detect it before you tried the other apps?

Asphyx said:
I already have Python installed....Can I just run the Bat file?
Click to expand...
Click to collapse
That's part of what the script does. If you want, you can ignore the basic Python install if you specifically have Python 2.7.5 installed, but you definitely need to let setuptools and pip install. Won't work without them I'm afraid. Thanks for the feedback!

thatscottguy93 said:
That's part of what the script does. If you want, you can ignore the basic Python install if you specifically have Python 2.7.5 installed, but you definitely need to let setuptools and pip install. Won't work without them I'm afraid. Thanks for the feedback!
Click to expand...
Click to collapse
Thanks Kind of what I expected....Will try this later tonite

Thanks for the effort!
Unfortunately, this doesn't seem to work. The .bat file it leaves on the desktop has a strange trailing ascii-character, but it still doesn't run correctly even after you remove it. I don't know why you would run it from desktop anyway rather than c:\python27\scripts anyway... It should run from anywhere if the PATH is set correctly, but this script didn't seem to do that. Finally, it would be smarter to use the .vbs provided by the leapcast dev instead of your errant .bat on the desktop. Again though, thanks for the attempt.
It would be great if someone could put together a full install using install-shield and all, or at least a working batch script that has been tested on a fresh install of WinXP/Win7/Win8.1 Maybe I will try to.
NOTE: If this works for others, please let us know, but I am fairly certain it has at least a few minor errors preventing it from working by following the instructions alone.

thatscottguy93 said:
It's probably an error in my install script. It should have edited your PATH automatically, so I'll look into it. The compatibility problem is probably just an issue with the emulator itself. I'll keep an eye on the github page and update this as soon as its available. Thanks for the feedback!
Did you use the Chromecast app on your phone/tablet to detect it before you tried the other apps?
Click to expand...
Click to collapse
i have tried editing my system variables, but after running Leapcast.bat it say:
'leapcast' is not recognized as an internal or external command,operable program or batch file.
Please guide me through. AND github is down in my country right now
---------- Post added at 01:17 PM ---------- Previous post was at 12:49 PM ----------
Okay I got this post on google+
https://plus.google.com/+NicandrosNicolaou/posts/8RjWfMXxje8
it help me do a complete install of LEAPCAST...
-------------------------------------------------------------------
I just wanted to ask if there will be any update for V2 chromecast ? @thatscottguy93

link is not working
can you post a mirror link please?
thatscottguy93 said:
After several hours of tinkering and editing, I think I've finally managed to make an easy way to emulate a Chromecast on your PC. Iv'e only worked on x64 based systems so far, but I'll do x32 if anyone needs it. All you have to do is download the file, place it on your desktop (or it won't work), extract the .tar (don't make a new folder) and follow the directions in INSTALL.txt. It shouldn't require any extra files except Google Chrome, but if it does or you have any other errors or advice, feedback is very appreciated.​
I take no responsibility for any damages done by this. USE AT YOUR OWN RISK. Leapcast is the property of dz0ny at GitHub, not me. All I did was make an all-in-one install script.​
Click to expand...
Click to collapse

punkmexic said:
can you post a mirror link please?
Click to expand...
Click to collapse
Just tried, and works for me....

punkmexic said:
can you post a mirror link please?
Click to expand...
Click to collapse
Its attached to the first post... no need for a mirror...

Installation files for 32 bit system
can you make a setup for 32 bit computer?

Can i run xbmc/kodi on my windows pc and use leapcast to send the video feed to my android phone - this way I can use the laptop as a remote and the phone as existing hardware - lowering my android tv experience to a cost of zero - or should I stick with remote desktop... lag could be an issue as leapcast is light weight via python - minus the $5 mhl

Nope
mikeymackinon said:
Can i run xbmc/kodi on my windows pc and use leapcast to send the video feed to my android phone - this way I can use the laptop as a remote and the phone as existing hardware - lowering my android tv experience to a cost of zero - or should I stick with remote desktop... lag could be an issue as leapcast is light weight via python - minus the $5 mhl
Click to expand...
Click to collapse
Leapcast does not work that way, its mainly for youtube etc... web based viewings. Why not run the laptop/ desktop to the TV set and remote in from the Android phone/ tablet via a remote control app or team view etc... You would defiantly have lagging issues if reversed. Plus you do not have the buy the micro usb to hdmi adapter? Kewl story bro!
Seriously smart, as you will not have to get up to change from one episode to the next and at no cost.

thatscottguy93 said:
After several hours of tinkering and editing, I think I've finally managed to make an easy way to emulate a Chromecast on your PC. Iv'e only worked on x64 based systems so far, but I'll do x32 if anyone needs it. All you have to do is download the file, place it on your desktop (or it won't work), extract the .tar (don't make a new folder) and follow the directions in INSTALL.txt. It shouldn't require any extra files except Google Chrome, but if it does or you have any other errors or advice, feedback is very appreciated.​
I take no responsibility for any damages done by this. USE AT YOUR OWN RISK. Leapcast is the property of dz0ny at GitHub, not me. All I did was make an all-in-one install script.​
Click to expand...
Click to collapse
Thank you very much!!! Nice Work! I love you <3 #nohomo

Hi,
i wanted to try this but iam stucking at this error
C:\Users\Administrator\Desktop\LeapcastForWindows\leapcast>leapcast --name Leapcast --chrome "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --fullscreen
Traceback (most recent call last):
File "C:\Python27\scripts\leapcast-script.py", line 9, in <module>
load_entry_point('Leapcast==0.1.3', 'console_scripts', 'leapcast')()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 356, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2431, in load_entry_point
return ep.load()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2147, in load
['__name__'])
ImportError: No module named leapcast.__main__
Anyone know how to fix this?

Managed to got it almost working IT's an old thread but I will give it a go.
Had to update Python to 2.7.9 for the SSL thing.
This is my issue :
Code:
C:\Users\d3x\Desktop\LeapcastForWindows\leapcast>leapcast --name Leapcast --chrome "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --fullscreen
INFO:root:Starting SSDP server
INFO:root:Starting LEAP server
INFO:root:Loading Config-JSON from Google-Server
Traceback (most recent call last):
File "C:\Python27\Scripts\leapcast-script.py", line 9, in <module>
load_entry_point('Leapcast==0.1.3', 'console_scripts', 'leapcast')()
File "c:\leapcast\leapcast\__main__.py", line 38, in main
leap_server.start()
File "c:\leapcast\leapcast\services\leap.py", line 35, in start
resp = requests.get(url=app_dict_url)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "C:\Python27\lib\site-packages\requests-2.18.4-py2.7.egg\requests\adapters.py", line 506, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='clients3.google.com', port=443): Max retries exceeded with url: /cast/chromecast/device/config (Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)'),))
Would that mean that google changed something and this no longer works?

-chrizz- said:
Hi,
i wanted to try this but iam stucking at this error
C:\Users\Administrator\Desktop\LeapcastForWindows\leapcast>leapcast --name Leapcast --chrome "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" --fullscreen
Traceback (most recent call last):
File "C:\Python27\scripts\leapcast-script.py", line 9, in <module>
load_entry_point('Leapcast==0.1.3', 'console_scripts', 'leapcast')()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 356, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2431, in load_entry_point
return ep.load()
File "C:\Python27\lib\site-packages\pkg_resources.py", line 2147, in load
['__name__'])
ImportError: No module named leapcast.__main__
Anyone know how to fix this?
Click to expand...
Click to collapse
Did u solved this?? same problem here.. let me know if u solved this

Don't know about your specific error, but Google definitely changed something. Leapcast doesn't work anymore. According to dz0ny on github:
This project no longer works because Google locked down entire API. There are alternatives like cloning device, casting apk from nexus player etc. Thanks for all contibutors and I hope we all learned something from this project. Meanwhile I'am keeping https://github.com/dz0ny/leapcast/issues/130 open if anyone wants to discuss something related to lepacast or 2nd screen paradigm.
I would love to re-implement this as an open source alternative to chromecast someday, but I won't make any promises.
Does anyone know a proper way to uninstall this?

Related

$10 BOUNTY!!! Fix my OpenVPN

I'm offering up a bounty of $10, payable immediately by Paypal, to anyone who can help me figure out how to make OpenVPN (using Hidemyass Pro) correctly run on my HTC Incredible with Virtuous 3.2 Rom installed.
I used the following directions from this site to set up OpenVPN:
Easy way - OpenVPN on rooted/S_OFF Incredible with BusyBox installed:
This is by far the easiest way to set up OpenVPN. Make sure you copy your config file and any relevant keys to a folder on your sdcard.
If you do not have tun.ko on your system, then you can download it for 2.2 (tun.zip) or 2.1 (inside openvpn.zip) attached to this post.
Next, download the following two apps from the Android Market:
OpenVPN Installer
OpenVPN Settings
Next, run OpenVPN installer, click install, give it an install path (I prefer /system/xbin), and give it the path to BusyBox.
Finally, run OpenVPN Settings. Go to Menu -> Advanced, make sure "Load tun kernel module" is checked.
Click on "TUN module settings"
Change "Load module using" to insmod
Change "Path to tun module" to... the path to your tun.ko file. Click back.
Update "Path to configurations" and "Path to openvpn binary".
That should be it!
Okay, so let me be clear in explaining exactly what I've done:
1) I used OpenVPN installer, clicked install, and pointed the install path to /system/xbin and then to Busy box - Binaries installed perfectly without a problem
2) I put all the Hide My Ass Config files into a folder on my SD card called Openvpn (/sdcard/openvpn)
3) I opened the advanced menu and checked "Load tun kernal module"
4) Changed the "Load Module Using" to insmod
5) Changed the Path to tun to (/sdcard/openvpn/tun.ko) - this is the folder where I put all my config files, including tun.ko
6) Changed "Path to configurations" to (/sdcard/openvpn) - which, just like the tun.ko file, is where the config files are located, along with the keys
7) Kept "Path to Binaries" as default setting (/system/xbin/openvpn)
So, after all this has been accomplished, it lists my VPN's servers and I click on one of them. It asks me for my login credentials, and when I put them in, I get the following error:
Fatal;"Cannot load certificate file./keys/hmauser.crt: error:02001002:systemlibrary:fopen:No such file or directory: error: 20074002:BIO.routines:File_CTRL.system lib: error:140AD002:SSL routines: SSL_CTX_use_certicate_file:system lib
Don't know what this means and don't know where to begin to fix the problem. But as I said, first person who gets me online using openvpn will get $10 by Paypal immediately. Who's in?!
If this helps, here's where I got the Hide My Ass Config files:
http://hidemyass.com/vpn-config/
Virtuous 3.2?
digitalicecream said:
Virtuous 3.2?
Click to expand...
Click to collapse
Yes, Virtious 3.2
lol
10ch
EDIT: Think I found your problem. Open the .ovpn file and look for
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
change ./keys/ to where you are storing the files.
FredMan said:
EDIT: Think I found your problem. Open the .ovpn file and look for
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
change ./keys/ to where you are storing the files.
Click to expand...
Click to collapse
It looks like the .ovpn files are all the same, more or less. I don't know where to find what you're mentioning above.
Here are all the files HMA provides. Which of these should i change?:
http://hidemyass.com/vpn-config/
Pick one that is closest to you.
Open it up and look for
Code:
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
Change ./keys/ to ./sdcard/openvpn/
FredMan said:
Pick one that is closest to you.
Open it up and look for
Code:
ca ./keys/ca.crt
cert ./keys/hmauser.crt
key ./keys/hmauser.key
Change ./keys/ to ./sdcard/openvpn/
Click to expand...
Click to collapse
I changed it, but now I get the same error message but with the above thread:
Fatal;"Cannot load certificate file./sdcard/Openvpn/hmauser.crt: error:02001002:systemlibrary:fopen:No such file or directory: error: 20074002:BIO.routines:File_CTRL.system lib: error:140AD002:SSL routines: SSL_CTX_use_certicate_file:system lib
What does the "." before "/sdcard" mean? Am I manipulating the data incorrectly or is there something else I should try?
it's case sensitive Make sure the folders match. Try it with and without the "."
FredMan said:
it's case sensitive Make sure the folders match. Try it with and without the "."
Click to expand...
Click to collapse
You are so close to getting that $10!!
I changed the sequence to /sdcard/Openvpn and for the first time, it actually tried to authenticate and login. But now I got a new error.
It goes through the following:
Auth
Get Config
A quick Ip number that I can't read
then, the following error:
"FATAL: Linux ifconfig failed: could not execute external program"
Any idea how to fix this? I feel like we're very close!!
i dont want the bounty. Just helping out.
open terminal emulator and do
ls /system/xbin
Click to expand...
Click to collapse
look to see if 'ifconfig' is there
FredMan said:
i dont want the bounty. Just helping out.
open terminal emulator and do
look to see if 'ifconfig' is there
Click to expand...
Click to collapse
Thanks for helping out...
Since I have s-off, I'm guessing I'd have to boot into recovery to do anything in terminal emulator (earlier I was told I'd need to do this to use ADB Shell). Is this correct?
I have Astro file viewer on my phone, can I accomplish the same thing by just looking in the folder with that?
You can use astro, just make sure it's there.
FredMan said:
You can use astro, just make sure it's there.
Click to expand...
Click to collapse
Just checked. Yes, it's there. I noticed in the original post on how to set up OpenVPN, posts # 5-8 deal with this exact issue.
http://forum.xda-developers.com/showthread.php?t=702634
I'm not sure what, if anything, I should do with the file the OP posted in post #8, since this was months ago, and the version of OpenVPN I downloaded came out of the market this week. Also, from his original post, it looks like the OpenVPN he attached is for 2.1 not 2.2.
Any ideas?
Stockmoose16 said:
Just checked. Yes, it's there. I noticed in the original post on how to set up OpenVPN, posts # 5-8 deal with this exact issue.
http://forum.xda-developers.com/showthread.php?t=702634
I'm not sure what, if anything, I should do with the file the OP posted in post #8, since this was months ago, and the version of OpenVPN I downloaded came out of the market this week. Also, from his original post, it looks like the OpenVPN he attached is for 2.1 not 2.2.
Any ideas?
Click to expand...
Click to collapse
I GOT IT!!!!!
I had followed the original directions, which said to put ifconfig in system/xbin/bb, but I just reinstalled the binaries in system/xbin and it connected.
Don't know why the original directions were off, but I am so happy. Thank you so much.
Congrats! Have Fun.
FredMan said:
Congrats! Have Fun.
Click to expand...
Click to collapse
Since you were so helpful, can I trouble you for one more question that you may or may not know the answer to?
I have Tasker on my Android and I need it to kill the OpenVPN session when I'm using a certain wifi. This was easy to do with the VPN 1 plugin for PPTP, but I don't know how to make it kill an OpenVPN session (tried to set it up, but it seems to keep trying to reconnect and less I manually toggle off "OpenVPN" in "OpenVPNSettings."
Wanna take a crack?
I will look into it. Love Tasker.

INTERNAL xap installer

Could someone to develop INTERNAL xap installer program [ homebrew] that
will be able to install xap inside phone ?
Thanks.
the os already has its own framework for that so no point, the installation of non signed apps is discussed loads on the forum. An app is avail called chevron to achieve it, unless you have updated your phone it should still work
I have investigated this. No luck so far. But I have a couple of leads that may let me make it. But it needs more research. I will have a look at it soon. But I can't give an ETA. So far I know there are no others that have succeeded so far.
Ciao,
Heathcliff74
This will be key for cydia/installius kind apps for WP7
anarchyuk said:
the os already has its own framework for that so no point, the installation of non signed apps is discussed loads on the forum. An app is avail called chevron to achieve it, unless you have updated your phone it should still work
Click to expand...
Click to collapse
is it possible ? I like to install apps inside the phone as in WINMO.
I can have XAP on skydrive a if i click it on browser it will automatically download and install, this will be awsome.
marek1 said:
is it possible ? I like to install apps inside the phone as in WINMO.
I can have XAP on skydrive a if i click it on browser it will automatically download and install, this will be awsome.
Click to expand...
Click to collapse
Nope. Not possible. Read my previous answer. Anarchyuk did not understand your question correctly.
Sent from my OMNIA7 using XDA Windows Phone 7 App
Heathcliff74 said:
Nope. Not possible. Read my previous answer. Anarchyuk did not understand your question correctly.
Sent from my OMNIA7 using XDA Windows Phone 7 App
Click to expand...
Click to collapse
Why is not possible, reason ? Will Mango make it possible ?
marek1 said:
Why is not possible, reason ? Will Mango make it possible ?
Click to expand...
Click to collapse
No. Microsoft doesn't want you to sideload apps. They want you to use the Marketplace. If you would be able to use an internal xap installer, you would be using it for sideloading.
It is not possible to use the API's for installing XAP's because you need TCB access for that. Normal apps have only LPC access, so normally you can't create an app for that. Needs hacking.
Ciao,
Heathcliff74
Would this type of access be possible with the 'DLLImport Project'?
So today i installed a random app from marketplace to see what was going on i the process-list. Here i saw "PacmanInstaller.exe" (after "Downloading..." > "Installing..."); later i tried to remote execute that one without any important args, and it said "This application can not run in Win32 mode.", eh? Didn't that exe just ran in the process list. Seems weird not to be able to launch that one. (it did not say the exe did not exist).
Tested another thing to, what happens when i deploy an app from Visual Studio??
>PacmanInstaller.exe shows up there too.?!?!?
THEN WTF, WHERE IS THE DRM?
Found this in "PacmanInstaller.c":
if ( v19 != v2 )
*(_DWORD *)(v17 + 4 * v18 - 4) = L"ID_CAP_DEBUG";
XAP > Phone side:
- IO Explorer, all files have the exact same byte size, no magic changes added "ID_CAP_DEBUG""
- No "WMAppPRHeader.xml" added (generated/downloaded)
__
This means its just copying it to phone (XAP).
Runs pacman to register app > \Applications\Install\GUID\Install
"PacmanInstaller.exe GUID" ??
>Cant execute remote PacmanInstaller? From within?
Just having fun, thanks
SimzzDev said:
Would this type of access be possible with the 'DLLImport Project'?
Click to expand...
Click to collapse
Nope. DllImport project is about accessing native API's. Not really about elevating privileges (so far). The package manager API's are native API's, but they require elevated privileges too. For having higher privileges you need to hack the system...
fiinix said:
So today i installed a random app from marketplace to see what was going on i the process-list. Here i saw "PacmanInstaller.exe" (after "Downloading..." > "Installing..."); later i tried to remote execute that one without any important args, and it said "This application can not run in Win32 mode.", eh? Didn't that exe just ran in the process list. Seems weird not to be able to launch that one. (it did not say the exe did not exist).
Click to expand...
Click to collapse
"This application can not run in Win32 mode" is error 0xbf:
Error 0xbf: error_invalid_exe_signature
Description: Cannot run <application> in Windows NT mode
Or: Cannot run <application> in Win32 mode
This means that your executable is not properly signed / elevated to launch into the required account.
fiinix said:
This means its just copying it to phone (XAP).
Runs pacman to register app > \Applications\Install\GUID\Install
"PacmanInstaller.exe GUID" ??
>Cant execute remote PacmanInstaller? From within?
Just having fun, thanks
Click to expand...
Click to collapse
C'mon fiinix! You of all people should know!!
Code:
<!-- Rule loaded from: \IMGFS\969eb155-55ff-4884-9ecb-241c8a4b6e09.policy.xml(405,6) -->
<Rule PriorityCategoryId="PRIORITY_STANDARD" ResourceIri="/LOADERVERIFIER/ACCOUNT/(+)/ACCOUNT_CAN_LAUNCH/NONE/NONE/PRIMARY/WINDOWS/PACMANINSTALLER.EXE" SpeakerAccountId="S-1-5-112-0-0-1" Description="Only TCB can launch into this chamber">
<!-- Authorize loaded from: \IMGFS\969eb155-55ff-4884-9ecb-241c8a4b6e09.policy.xml(406,10) -->
<Authorize>
<!-- Match loaded from: \IMGFS\969eb155-55ff-4884-9ecb-241c8a4b6e09.policy.xml(407,14) -->
<Match AccountId="S-1-5-112-0-0-1" AuthorizationIds="LV_ACCESS_EXECUTE" />
</Authorize>
<!-- Stop loaded from: \IMGFS\969eb155-55ff-4884-9ecb-241c8a4b6e09.policy.xml(409,10) -->
<Stop>
<!-- Match loaded from: \IMGFS\969eb155-55ff-4884-9ecb-241c8a4b6e09.policy.xml(410,14) -->
<Match AccountId="S-1-5-112-0-0XFF" />
</Stop>
</Rule>
That's why you can't run it! So, not the right account to launch. Not even when you use the Samsung exploit. Because that uses "Elevated". Not "TCB".
The proper way to call PacmanInstaller.exe is:
Code:
pacmaninstaller.exe <int> <guid>
I'm not really sure, but the <int> is the type of operation. Possible values are between 1 and 7 if I recall correctly. The guid is the applicationid. So far I know, the PacmanInstaller looks in \Application Data\Phone Tools\10.0\Install. That is where the xap's are initially uploaded to the phone and extracted by the packagemanger.
Ciao,
Heathcliff74
PS. New version of WP7 Root Tools coming up....
"Not even when you use the Samsung exploit. Because that uses "Elevated". Not "TCB"."
> What about "\Windows\Startup\"
That one launch what ever lnk (exe pointer) listed under startup directory. Would be an opportunity to restart after installed all "cydia" apps on the phone.
Another small but interesting find:
>Checking the mail launches another "servicesd.exe".
All those exe's of multiple sessions like "udevice.exe" and "servicesd.exe" go with an arg, right? then what is put in? Maybe an dll as arg?
>Then again, the custom dll (VS2008 made) will not run due it does not have "LV_ACCESS_EXECUTE", so that locks TCB out for dll arg inject.
udevice.exe (Driver host, runs under "SYSTEM" level)
servicesd.exe (Ordinary exe for dll host)
So making custom drivers wont work... (probably),
to be middle hand for executing under SYSTEM.
edit:
haha post "404" (current post count)
>HTTP Not Found.
Heathcliff74 said:
No. Microsoft doesn't want you to sideload apps. They want you to use the Marketplace. If you would be able to use an internal xap installer, you would be using it for sideloading.
It is not possible to use the API's for installing XAP's because you need TCB access for that. Normal apps have only LPC access, so normally you can't create an app for that. Needs hacking.
Ciao,
Heathcliff74
Click to expand...
Click to collapse
OK,I know that MS don't want to allow but I want to to know if is possible to hack it and do the internal XAP installer ? That's why I am asking.
I think that everybody who have unlocked phone will appreciate it !!
As everyone already said.. CANNOT be done. There's no, "I want to know if someone can hack this". The people working to bring full file/registry access and a better experience to all phones are too busy to worry about trying to make an internal xap installer. Just hook the damn thing up to a computer and use the applications to push a xap to your phone and be happy. I'm no admin or anything, but please don't pester over something like this.

cifs module for 3.1.10-g52027f9

================================(updated 25/07/2012)
recompile new cifs.ko based on code from linux kernel 3.2.1 (with asynchronous read support).
there is 2 extra function needed in part of the kernel (which is not in the current 3.1.10 kernel).
however that doesn't stop it from working.
i am not sure under what conditions those 2 function will be called. when its being called, it might give error.
apart from that, initial test shows promising result. doubled the read speed.
please test.
do note. YMMV
new cifs.ko has a md5sum of
280303e69a92cd56f180956c838edbbd
in
cifs-async.zip
thanks.
===================================
updated,
i have re-compile a new cifs.ko with modified larger rsize, hopefully will have better read performance,
give it a try.
note: it appears that your NFS server needs to have support as well. so check out if you can set it to a bigger send buffer to have a faster read speed.
the md5sum for the new cifs.ko is
7a235de92c855b2933402dd1c62610fe
in
cifs_rsize_128k.zip
===========================================================
(require root to work).
i have created cifs module for the new 4.1.1 kernel for nexus 7
3.1.10-g52027f9
use this in conjunction with cifs manager
both
md4.ko and cifs.ko must be loaded to work.
as for the native language support (nls_utf8.ko), its down to yourself.
to use it,
under cifsmanager (when creating a new share)
set options "iocharset=utf8"
have fun streaming video!!!
qwerp_ said:
(require root to work).
i have created cifs module for the new 4.1.1 kernel for nexus 7
3.1.10-g52027f9
use this in conjunction with cifs manager
both
md4.ko and cifs.ko must be loaded to work.
as for the native language support (nls_utf8.ko), its down to yourself.
to use it,
under cifsmanager (when creating a new share)
set options "iocharset=utf8"
have fun streaming video!!!
Click to expand...
Click to collapse
I guess if I have to ask I shouldn't do it, but but what does this do?
Cgc2 said:
I guess if I have to ask I shouldn't do it, but but what does this do?
Click to expand...
Click to collapse
I may be wrong, but I believe it's to get CifsManager to mount your windows network shares automatically when rebooting your Nexus 7, so you don't have to mount a share manually every time.
Looking forward to trying this out when I get my Nexus 7. Thanks
Cgc2 said:
I guess if I have to ask I shouldn't do it, but but what does this do?
Click to expand...
Click to collapse
this allow you to mount windows drive, or even network enabled storage.
so that your video player like dice player or vlc can stream/play the file as its local.
its similar to using //192.168.1.1 on windows.
Salty Wagyu said:
I may be wrong, but I believe it's to get CifsManager to mount your windows network shares automatically when rebooting your Nexus 7, so you don't have to mount a share manually every time.
Looking forward to trying this out when I get my Nexus 7. Thanks
Click to expand...
Click to collapse
it doesn't mount automatically, but provide the interface to mount drive easily.
Wow, interesting and thanks for educating me on this use. However, why not use Airdroid and achieve similar results? Still learning, Thx folks.
We only have 6/15 GB to work with. Now, for me I can have 500GB and the apps will even index it for me just as if there were a folder with infinite amount of space on my sdcard
Sent from my Nexus 7 using xda app-developers app
this is basically similar to
External Storage Device Compatibility Review
http://forum.xda-developers.com/showthread.php?t=1766260
where instead of the "mounted" drive comes from your usbOTG cable reading from a external hardisk or card reader,
your mounted drive is a shared drive on your network. NAS drive, windows PC, linux, etc, anything that supports
Common Internet File System (CIFS)
http://en.wikipedia.org/wiki/Server_Message_Block
you will need to know abit of linux/android system to properlly use this,
make sure that your "nexus 7" about page, under kernel version matches "3.1.10-g52027f9", meaning you will have to OTA to 4.1.1 JRO03D to be able to use this.
Mate this is exactly what I came looking for. Awesome.
I use cifs manager on all my android devices because ES file explorer insists on fully caching apks before installing them doubling the time to do things.
Been setting up the missus nexus and it was a bit hard to explain to her how to get to the smb movies/series in ES file explorer to stream stuff.
Installed this, mx player and MovieBrowser HD from market and she now only needs to go into MovieBrowser and she has all her movies/series with lovely artwork and synopsis,and just clicks on anything and it automatically plays in mx player.
Good job sir, I don't need a custom kernel just for cifs.
Forgive me for being naive, is this a CWM flashable zip?
if not, what folder do i need to place these modules?
Demented-Idiot said:
Forgive me for being naive, is this a CWM flashable zip?
if not, what folder do i need to place these modules?
Click to expand...
Click to collapse
I created a folder in system/lib/ called modules and gave it permissions rwxr-xr-x
I extracted the 3 files into it and gave them each permissions rw-r--r--
Then install cifs manager from google play.
In cifs manager go to settings.
Click mount point prefix and type /storage/sdcard0/Shares
Tick on "load cifs module"
Tick on "Load via insmod"
Click path to cifs.ko and type /system/lib/modules/cifs.ko:/system/lib/modules/md4.ko:/system/lib/modules/nls_utf8.ko
Go back to main cifs manager page and add new share.
Under share path type "your ip of computer with shares on/sharename of folder on computer" eg. 192.168.0.6/Movies
Click under mount point and it will fill it in for you.
Under username put your username for PC that you log in with
Under password put the password that you log into your computer with.
Under options type ioch****t=utf8 (they have now banned a word that is within this word. It should be i o c h a r s e t without the spaces.)
Click save share.
Now when you click on the share name in cifs manager it should turn the light green to the right of it. If it doesn't you have done something wrong.
Now go to any file manager and go to your sdcard on tablet and there should be a "Shares" folder and inside should be the share you set up.
You can now use that as if it was a local directory. If you restart the tablet you will need to go into cifs manager again and click on the shares you want until they turn green.
HTH
thanks, very detailed response!
Demented-Idiot said:
thanks, very detailed response!
Click to expand...
Click to collapse
You're welcome.
Any probs give me a shout. As long as you know how to make a share on PC the last instructions should sort you out.
Whenever I set "iocharset=utf8" in options, I get segmentation fault when trying to mount a share. If I remove that option, then it mounts fine. But filenames in non-English characters (Chinese in my case) will either become garbage or not show at all.
Any one got "iocharset=utf8" to work? I've verified that all three modules are loaded correctly by cifsmanager.
flumpster said:
Under share path type "your ip of computer with shares on/sharename of folder on computer" eg. 192.168.0.6/Movies
Click to expand...
Click to collapse
Note for some incomprehensible reason CIFS manager requires a static IP address in the share specification.
(Just as described above) Do not assume hostnames will work here. They will not.
Thanks for the guide. Getting this feature turned up was high on my list.
One word of warning because I know a mate of mine did this by accident.
If you have a share set up on your computer with full read/write access and then wipe your SD card on android (or just delete the shares folder in your file manager) while the share is mounted in cifs manager then it will also delete the folder on your computer.
I don't have this worry because all my shares on computer are set up as read only to stop the kids accidentally deleting stuff.
Just a warning
Thanks for the instructions flumpster, helped a lot.
Might also advise on mounting outside of /sdcard, was seeing a lot of LAN traffic and Nexus 7 activity - turned out a number of apps were creating thumbnails and/or indexing items that was on my NAS drive. Poweramp, Gallery, QuickPic etc.
File Manager HD (Tablet) can play / view any type of file over SMB. Very simple.
Hemidroids said:
File Manager HD (Tablet) can play / view any type of file over SMB. Very simple.
Click to expand...
Click to collapse
So can ES file explorer which we already mentioned but that is not what we want.
This makes the folder ( or folders ) appear local so you can add it into any other app directly (mx player, movie browser hd, gallery, play music, etc)
---------- Post added at 08:11 AM ---------- Previous post was at 08:06 AM ----------
Salty Wagyu said:
Thanks for the instructions flumpster, helped a lot.
Might also advise on mounting outside of /sdcard, was seeing a lot of LAN traffic and Nexus 7 activity - turned out a number of apps were creating thumbnails and/or indexing items that was on my NAS drive. Poweramp, Gallery, QuickPic etc.
Click to expand...
Click to collapse
I have not tested this but have you tried putting a .nomedia file inside the "Shares" folder after it is first created? In theory it should stop them apps doing that.
@ OP
Thank you! This is exactly what I was looking for. I don't even have my order yet (was merely hoping for CIFS support), but this is about the only thing that makes this 8GB tablet usable, IMO.
I will provide feedback once I get the tablet in hand and have some time to experiment with CIFS.
Just wondering how these mounts behave as the tablet is moved around in/out of WiFi coverage and between LANs.
Is everything well-behaved? Any gotchas I should be aware of?

[HOWTO] Emulate a Chromecast update check

For those of you who have a need for the URLs of new Chromecast updates without actually updating your device, you can manually perform a checkin by POSTing the following XML to https://tools.google.com/service/update2 (make sure to set Content-Type to text/xml):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<o:gupdate xmlns:o="http://www.google.com/update2/request" version="GoogleTvEureka-0.1.0.0" updaterversion="GoogleTvEureka-0.1.0.0" protocol="2.0" ismachine="1">
<o:os version="3.0.8" platform="Linux" sp=""></o:os>
<o:app appid="{45ab3f62-be86-44be-9799-faa6a1229396}" version="12940" lang="en-US" track="stable-channel" board="eureka-b3"
hardware_class="">
<o:updatecheck targetversionprefix=""></o:updatecheck>
</o:app>
</o:gupdate>
The fields are pretty self-explanatory. If you use Linux, you can save the XML to a file called update2.req and make the request using the command
Code:
curl -s https://tools.google.com/service/update2 -d [PLAIN]@update2.req[/PLAIN] -H 'Content-Type: text/xml'
Note: build 13300 is rolling out slowly, so don't complain if you don't get the URL right away. It's entirely up to Google who gets it and who doesn't.
anyone gotten this yet and unpacked it to see what files have changes made to them?
Thank you! I wish I would have seen this sooner.
Now, with a little bit of python, I can automate the making of my rooted images
Ashcunak said:
anyone gotten this yet and unpacked it to see what files have changes made to them?
Click to expand...
Click to collapse
Here's the update if anyone wants it...
http://wreckage.johndenverschooloff....1f63ef63d1f43c6222116806e5bea38a47e9f124.zip
dev-channel ota?
Any idea how to get the dev-channel update zip?
I tried changing to track="beta-channel" in the xml, but that doesnt help.
It seems like there should be atleast one zip file for the below channels
stable-channel
beta-channel
canary-channel
dev-channel
developer-channel
dogfood-channel
Also found this interesting link in the updater binary.
http://omaha.sandbox.google.com/service/update2
morchu said:
Any idea how to get the dev-channel update zip?
I tried changing to track="beta-channel" in the xml, but that doesnt help.
It seems like there should be atleast one zip file for the below channels
stable-channel
beta-channel
canary-channel
dev-channel
developer-channel
dogfood-channel
Also found this interesting link in the updater binary.
http://omaha.sandbox.google.com/service/update2
Click to expand...
Click to collapse
As far as I can tell, none of those channels (except for beta which seems to just be an alias for stable) are active for a stock device. I'm guessing that to receive updates from those channels, your device has to be configured to send its serial number, which also has to be whitelisted on Google's servers. If you want to send a request with a serial number, just add a line like
Code:
serial_num="XXXXXXXXXXXX"
after line 4 (<o:app ...) in the XML. Unless you have access to a development unit's serial number, I doubt it will do much good though.
I had requeseted for whitelisting my device some time back. But never got a response from google.
Can anybody who already had their device whitelisted try the download using your device serial number, and let me know if it works?
I dont think there is anything device specific in the dev-channel system image. So I wonder why that system image is not shared already?
tchebb said:
As far as I can tell, none of those channels (except for beta which seems to just be an alias for stable) are active for a stock device. I'm guessing that to receive updates from those channels, your device has to be configured to send its serial number, which also has to be whitelisted on Google's servers. If you want to send a request with a serial number, just add a line like
Code:
serial_num="XXXXXXXXXXXX"
after line 4 (<o:app ...) in the XML. Unless you have access to a development unit's serial number, I doubt it will do much good though.
Click to expand...
Click to collapse
Just to conclude, it seems like there is no more separate dev-channel firmware download. Emulated my whitelisted devices update request, and received the regular stable-channel update.
morchu said:
I had requeseted for whitelisting my device some time back. But never got a response from google.
Can anybody who already had their device whitelisted try the download using your device serial number, and let me know if it works?
I dont think there is anything device specific in the dev-channel system image. So I wonder why that system image is not shared already?
Click to expand...
Click to collapse
If you are on Windows, then use same XML update2.req file, as @tchebb on 1st post and download cURL for Windows here.
Then use following command, since Linux one is not working in Windows (just place update2.req file in same directory as curl.exe):
Code:
curl -k https://tools.google.com/service/update2 -d @update2.req -H "Content-Type: text/xml"

[DEVELOPMENT] FlashCast developer support thread

This thread is for FlashCast image developers ONLY. If you are not developing a FlashCast image, please do not post here. Post in the main thread instead.
Hello developers! I hope that this thread can serve as a place for you to ask any questions you may have about FlashCast development or internals, make feature requests, and report issues you're having. I will edit this post with FAQs as they come up. Until then, take a look at my documentation on GitHub, which contains documentation and sample code to help you create FlashCast mods.
tchebb said:
This thread is for FlashCast image developers ONLY. If you are not developing a FlashCast image, please do not post here. Post in the main thread instead.
Hello developers! I hope that this thread can serve as a place for you to ask any questions you may have about FlashCast development or internals, make feature requests, and report issues you're having. I will edit this post with FAQs as they come up. Until then, take a look at my flashcast-samples repository on GitHub, which contains documentation and sample code to help you create FlashCast mods.
Click to expand...
Click to collapse
So far its working great! Plan on releasing a rooted 13300 system image with this soon, but I was wondering, is there a possibility you could create a partition backup option? so like
Code:
backup_mtd_partition 'rootfs' 'system.img'
Where it will make a folder called backup on the jump drive, and store the rootfs file system with the name of system.img? also a md5 for each file would be nice. I know I could just have a script dd the mount point, but would be nice to see a function to call.
ddggttff3 said:
So far its working great! Plan on releasing a rooted 13300 system image with this soon, but I was wondering, is there a possibility you could create a partition backup option? so like
Code:
backup_mtd_partition 'rootfs' 'system.img'
Where it will make a folder called backup on the SD card, and store the rootfs file system with the name of system.img? also a md5 for each file would be nice. I know I could just have a script dd the mount point, but would be nice to see a function to call.
Click to expand...
Click to collapse
This would definitely be a useful feature. I can see a few implementation details that would need to be worked out in a non-obvious fashion, though:
There is currently no way for a imager script to directly access the root of the user partition. This is intended to prevent multiple scripts from having access to the same filesystem and possibly overwriting each others' files. Instead, scripts are executed in a temporary directory whose contents are discarded on device shutdown. It seems like the solution to this would be to create numbered backup directories, like there are numbered logs now, for mods to place their backups in.
It wouldn't be desirable for a mod to take a backup every time it was flashed, as not everyone cares about backups and they take up lots of space. There would need to be some way for the user to decide whether or not they wanted backups. Maybe another flag file?
Finally, taking a backup of an MTD partition using nanddump (dd should not be used to image NAND partitions, since it is not bad-block aware) images the entire partition, when (in the case of squashfs) only a small part actually has a filesystem on it. This means that a single rootfs backup will take up 400MB on the USB drive. I would want to implement something which can back up only the part of a partition which squashfs is using before I release backup functionality.
Obviously, this is a prime candidate for a new helper function, because of these non-trivial complications. I'll see if I can make the necessary changes to FlashCast and release backup functionality as part of v1.1. Thanks for the suggestion!
One more suggestion, if you do not mind.
How about the ability to flash multiple zips at once? So, if I have 2 files I want to flash, first one will stay eureka_image.zip, and then the next one would be eureka_image1.zip, or some similar process to allow multiple zips.
The issue here would be a naming scheme that would be easy for users to use and understand. so maybe if you flash a single file, just use eureka_image.zip, and if multiple, each would have a number added, starting from 1 and counting up in the order you want them flashed?
ddggttff3 said:
One more suggestion, if you do not mind.
How about the ability to flash multiple zips at once? So, if I have 2 files I want to flash, first one will stay eureka_image.zip, and then the next one would be eureka_image1.zip, or some similar process to allow multiple zips.
The issue here would be a naming scheme that would be easy for users to use and understand. so maybe if you flash a single file, just use eureka_image.zip, and if multiple, each would have a number added, starting from 1 and counting up in the order you want them flashed?
Click to expand...
Click to collapse
This is something I intend to implement. My current plan is to support a eureka_images directory, which can contain any combination of zipped and unzipped mods which will be flashed in alphabetical order. Mod authors can distribute their mods with a prefixed number, so, for example, you could distribute 00_13300_rooted.zip and 59_unlocator_dns.zip. I'll write a standard for how to determine the numbers (e.g. full system images get 00-09, major/minor filesystem changes get 40-49/50-59 respectively depending on how many files they affect, etc). It's not perfect and there can still be conflicts, but it should allow most mods to be flashed in a mostly sane order. I'm open to any suggestions or improvements you might have.
tchebb said:
This is something I intend to implement. My current plan is to support a eureka_images directory, which can contain any combination of zipped and unzipped mods which will be flashed in alphabetical order. Mod authors can distribute their mods with a prefixed number, so, for example, you could distribute 00_13300_rooted.zip and 59_unlocator_dns.zip. I'll write a standard for how to determine the numbers (e.g. full system images get 00-09, major/minor filesystem changes get 40-49/50-59 respectively depending on how many files they affect, etc). It's not perfect and there can still be conflicts, but it should allow most mods to be flashed in a mostly sane order. I'm open to any suggestions or improvements you might have.
Click to expand...
Click to collapse
Sounds great to me! Only other suggestion I have is to add another flag file which would allow Flashcast to continue flashing the multiple zips, even if one errors out.
So, by default if multiple zips are going to be flashed, and it errors on the first, it would stop, get a red LED, and then reboot.
with a flag file present, maybe ignore_errors, even if it errors out on the first zip, it would continue down the chain of zips until it finishes all of them.
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
bormeth said:
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
Click to expand...
Click to collapse
Most of the resources seem to be kept in the .pak files contained in /chrome. The first step to theming would be figuring out what format those are in and how to unpack and repack them. You might want to start by taking a look at the content_shell source code, as it might have some documentation or scripts for working with .pak files.
tchebb said:
Most of the resources seem to be kept in the .pak files contained in /chrome. The first step to theming would be figuring out what format those are in and how to unpack and repack them. You might want to start by taking a look at the content_shell source code, as it might have some documentation or scripts for working with .pak files.
Click to expand...
Click to collapse
Im gonna dive into it
Have a little bug report.
If a person has more then 85~MB in their eureka_image folder, and then they start a SquashFS File system edit, flashcast will report an error saying out of space. Now, here is the error part. Even though it failed to mount with an error, the imager.sh file will continue to run, and will then attempt to flash back a corrupt file, causing a non-bootable chromecast until the system partition is re-flashed.
bormeth said:
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
Click to expand...
Click to collapse
The first script on THIS SITE will unpack the .PAK files, although it unpacks everything as a .png as it was made for a different Chromium device. So you would have to manually go rename all the files to their correct extension for the files, but because it expects everything to be a .png it won't pack back properly. The second script, technically should unpack/pack as proper file extensions, but I never got it to work right as I have little to no knowledge of Python.
The chromium source has a script,data_pack.py (which I can't link to since I'm a new user ATM) which can be used to pack and unpack .PAK files. The script posted above seems to be lifted from this source and modified to detect a few filetypes and write the unpacked files. But if you want to modify or add images and need to repack them, this script will help you figure it out. I'll work on adding and making some changes to the theme and give some instructions.
how to mount usb drive
Haven't used linux in years. Thanks!
Hey, want to do some poking around in the flashcast .bin file...how do I go about doing that? What is the file format, and is the image mountable in linux? Even better might be to extract files/folders from the image...what tool can I use to do that?
Ok, so I'm doing some dinking around...I've looked into buildroot, and I think for the most part I understand what is going on. I also tried building from source, and it appears to have worked. So, from this poking around I have a few assumptions I've made and a few questions. Correct me if I'm wrong anywhere but.......
Basically, you've built a generic bootloader for the device using buildroot. This is not related at all to the stock CC bootloader (although maybe you borrowed a few drivers, etc). I would guess that the buildroot bootloader has just what you need to display a picture on the TV and do some basic file system operations, and I would also guess that the buildroot bootloader is missing a few features that the stock bootloader has - therefore, it wouldn't be possible to run a full-fledged ROM off of this bootloader. Am I right so far? If so, what is missing from the buildroot bootloader? Libraries? Binaries? No idea?
Also, to access something like USB storage, the buildroot bootloader is able to include the required /dev devices, whereas it wouldn't be possible to include this on CC's stock bootloader without the source. So, doing something like accessing a ROM from an external flash drive isn't feasible because of these limitations? Basically, all that is possible with the current bootloader (of course, the insecure one which allows for unsigned code to run) is to add a few binaries to the stock CC ROM (things like adb, dropbear, etc), maybe add some access to those binaries through Web GUI, etc.
Am I on the right track? Is there anything you would add/correct? Thanks for the help. I'm trying to understand
tomg09 said:
Ok, so I'm doing some dinking around...I've looked into buildroot, and I think for the most part I understand what is going on. I also tried building from source, and it appears to have worked. So, from this poking around I have a few assumptions I've made and a few questions. Correct me if I'm wrong anywhere but.......
Basically, you've built a generic bootloader for the device using buildroot. This is not related at all to the stock CC bootloader (although maybe you borrowed a few drivers, etc). I would guess that the buildroot bootloader has just what you need to display a picture on the TV and do some basic file system operations, and I would also guess that the buildroot bootloader is missing a few features that the stock bootloader has - therefore, it wouldn't be possible to run a full-fledged ROM off of this bootloader. Am I right so far? If so, what is missing from the buildroot bootloader? Libraries? Binaries? No idea?
Also, to access something like USB storage, the buildroot bootloader is able to include the required /dev devices, whereas it wouldn't be possible to include this on CC's stock bootloader without the source. So, doing something like accessing a ROM from an external flash drive isn't feasible because of these limitations? Basically, all that is possible with the current bootloader (of course, the insecure one which allows for unsigned code to run) is to add a few binaries to the stock CC ROM (things like adb, dropbear, etc), maybe add some access to those binaries through Web GUI, etc.
Am I on the right track? Is there anything you would add/correct? Thanks for the help. I'm trying to understand
Click to expand...
Click to collapse
Buildroot does not let us build a bootloader, it lets us build a custom linux distribution that runs on the chromecast. The reason it is unable to do anything "graphical" minus the static image is due to licensing of the marvell GPU driver the chromecast uses. It is currently closed source, so it is unable to be compiled. We can use the blob from the stock OS, but ATM there is no need, and this can cause licensing issues.
Also, you can still access /dev and such on the stock OS. The big thing is the stock OS has usb input disabled at a kernel level, so it doesn't mount or detect any devices plugged in when the OS is running. This is circumvented though if you build and use your own custom kernel. For the features Eureka-ROM adds to the stock OS, we add those by using googles open source cross compiler for the device to build supported binaries.
Hmm...interesting. So, if I understand the booting process properly, upon power-on, a small bit of code called the bootloader is run, loading the kernel into memory (where, among other things, the graphics driver is located). From there, other components of the operating system are loaded on "top" of the kernel. So, it's not the bootloader that's rebuilt - but the kernel - with buildroot. Now, what sort of things would be possible if an open source alternative for the graphics driver were available (bear with me in the hypothetical), or even if one were to take the blob from the stock CC kernel? Turn CC into an android stick, complete with USB input device compatibility maybe?
Now on another note. I want to learn about cross-compiling. I am thinking of trying my hand at cross-compiling samba for the chromecast. Now if I understand the buildroot compiling process correctly, the right compiler for making chromecast-runnable binaries is compiled (or do you include it externally), and in theory, it should be possible to compile samba, right? I've been poking around the buildroot directory tree with the chromecast source superimposed over the top, and as of yet, I havent found the compiling binary (gcc, maybe?). I will look in a bit more depth. Once I find this, it should be as simple as specifying host and target architecture, putting the compiler for the CC in PATH, and compiling, right?
Thanks again for your help, and if you feel this isn't the appropriate place to post this, let me know.
tomg09 said:
Hmm...interesting. So, if I understand the booting process properly, upon power-on, a small bit of code called the bootloader is run, loading the kernel into memory (where, among other things, the graphics driver is located). From there, other components of the operating system are loaded on "top" of the kernel. So, it's not the bootloader that's rebuilt - but the kernel - with buildroot. Now, what sort of things would be possible if an open source alternative for the graphics driver were available (bear with me in the hypothetical), or even if one were to take the blob from the stock CC kernel? Turn CC into an android stick, complete with USB input device compatibility maybe?
Now on another note. I want to learn about cross-compiling. I am thinking of trying my hand at cross-compiling samba for the chromecast. Now if I understand the buildroot compiling process correctly, the right compiler for making chromecast-runnable binaries is compiled (or do you include it externally), and in theory, it should be possible to compile samba, right? I've been poking around the buildroot directory tree with the chromecast source superimposed over the top, and as of yet, I haven't found the compiling binary (gcc, maybe?). I will look in a bit more depth. Once I find this, it should be as simple as specifying host and target architecture, putting the compiler for the CC in PATH, and compiling, right?
Thanks again for your help, and if you feel this isn't the appropriate place to post this, let me know.
Click to expand...
Click to collapse
If we had a fully working open source graphics driver, lots could be accomplished. Full custom linux distributions could run x11 shells, we could have xbmc working with hardware decoding, and yes android would technically be possible if enough people wanted to put the time and effort into it. You can take the blob from the rom to do some of this, but things like hardware accelerated decoding will still not be possible due to the fact there is no documentation on how to use the blobs properly for things like that. (this is my understanding so I may be off on some small details, @tchebb can probably explain it more in depth.)
As for cross compiling, you just need to use googles prebuilt toolchain as the compile source.
Link: https://code.google.com/p/chromecast-mirrored-source/source/browse?repo=prebuilt
Mind if I ask why you want to compile samba? do you want to host media or files from a chromecast device? I actually have CIFS added to the eureka-kernel configs on our repo, so if you compile our kernel from source, you can mount samba shares on the chromecast device using the CLI.
ddggttff3 said:
As for cross compiling, you just need to use googles prebuilt toolchain as the compile source.
Link: https://code.google.com/p/chromecast-mirrored-source/source/browse?repo=prebuilt
Mind if I ask why you want to compile samba? do you want to host media or files from a chromecast device? I actually have CIFS added to the eureka-kernel configs on our repo, so if you compile our kernel from source, you can mount samba shares on the chromecast device using the CLI.
Click to expand...
Click to collapse
Cool. Thanks for the link. Basically, I'm just looking to learn about cross compiling for mobile devices. I figure samba seems easy enough. It was the first thing that came to mind. Any other ideas for something to cut my teeth on? Other binaries that would be well suited to CC, but are easy to compile?
tomg09 said:
Cool. Thanks for the link. Basically, I'm just looking to learn about cross compiling for mobile devices. I figure samba seems easy enough. It was the first thing that came to mind. Any other ideas for something to cut my teeth on? Other binaries that would be well suited to CC, but are easy to compile?
Click to expand...
Click to collapse
One more question...I've looked through the toolchain...the way it's set up is somewhat confusing. In the root directory of the toolchain: bin=gcc, g++, everything else I need to compile. What are the two folders entitled "arm-unknown-linux-gnueabi" and "target-arm-unknown-linux-gnueabi"? They seem to have relevant stuff (one has gcc, g++, etc except without the arm-unk... prefix, and other binaries which seem important). How do I use these/should I use these/why are they kept separate?
Thanks for the help.

Categories

Resources