# [webOS] Servers inside chrooted Ubuntu?



## buu700 (Jan 9, 2012)

Hey everyone (first post here).

I've been trying to get my TouchPad functional to the point where it can replace my current laptop, and I'm about an inch away from getting there:
---- chrooted Ubuntu 11.10 with ratpoison is working beautifully, my ghetto rigged keyboard (y splitter / duct tape / AA-->USB adapter; http://buu700.com/tpkeyboard.jpg) works perfectly, Tweaks got me a full size X server, and I have Dvorak working with both my virtual and physical keyboards (I'll make a post about the latter next week to see if someone wants to help perfect an official patch for it).

The only problem, which I can just taste being cracked: the lack of a mouse is getting a little old.

Yeah, everyone has run into this problem, and the consensus is "wait for ICS or for some devs to add mouse support to webOS", but I have a solution which in theory should work perfectly.

mkRemote (mkRemote Overview) is a pretty awesome little Android app, which essentially turns your phone into a wireless trackpad. The genius of it from our perspective is that it entirely skirts around the webOS hardware compatibility hurdle: instead of providing a true hardware mouse, it runs a small Java server which connects over the local network to a client on any Android device, and based on input from that client, takes over the host cursor. This of course can only work inside the chroot, but to me that's all that really matters.

---

The problem: servers appear to be broken inside the Ubuntu chroot. No matter what kind of server I try to run, they all seem unresponsive (VLC server won't respond to client, mkRemote doesn't move cursor, Apache gives an error about binding to port 80 and won't start, etc.).

If I'm not mistaken, what should normally happen inside a chroot is that all ports are shared between the chroot and the host, so if another machine tries to hit the host at port 80, it will still see the chrooted Web server. However, here, that isn't what's happening.

When I run netstat from the chroot, every single process lists a foreign address of 0.0.0.0:*, meaning that the only machine which can act as a client is the local host. This is clearly incorrect and abnormal behaviour, as any process on my primary machine meant to be publicly visible lists a foreign address of :::* (which I assume means that any client can see it from any port).
_Edit: Disregard that; apparently the foreign address only distinguishes between whether it's listening for IPv4 or IPv6 connections, so it doesn't seem relevant here._

So far, Googling has returned nothing of value, and I'm basically stumped. Any ideas? Could it just be some setting which one of the chroot patch devs enabled by default, or does it seem like a more complicated issue?

Thanks.

Possibly relevant information:
* http://buu700.com/tpbind
* http://buu700.com/tpnetstat
* http://buu700.com/tpnmap
* http://buu700.com/tpiptables0
* http://buu700.com/tpiptables1
* http://buu700.com/tpiptables2
* http://buu700.com/tptcpdump


----------



## andrewProgrammer (May 22, 2012)

People of the future, do not fear. If you've found this question, you've come across a frustrating problem and are looking for a sure-fire solution. Luckily, I have answered this question on a Stack Exchange site. It has worked for both the OP (buu700) and me. It can be found here.


----------

