infelt / android-vnc

Automatically exported from code.google.com/p/android-vnc
GNU General Public License v2.0
1 stars 0 forks source link

1) Download the ARM GNU/Linux cross-compile toolkit from:

http://www.codesourcery.com/gnu_toolchains/arm/download.html

Install according to the instructions there.

2) Install libvncserver:

./configure --host=arm-none-linux-gnueabi --without-pthread --prefix=/opt/android make sudo make install

3) Build a custom Android kernel using kbde.c, provided in the kernel directory of this project:

Unpack linux-2.6.23-android-m3-rc20.tar.gz. cd kernel patch -p1 < ../android-vnc/kernel/linux-2.6.23-android-m3-rc20-kbde.patch adb pull /proc/config.gz . && gunzip config.gz && mv config .config make menuconfig [ ... enable KBDE under Drivers, Input device support, Keyboards ... ] CROSS_COMPILE=/opt/android/arm-2007q3/bin/arm-none-linux-gnueabi- make

To boot the kernel:

emulator -kernel arch/arm/boot/zImage

For further reading, see: http://honeypod.blogspot.com/2007/12/compile-android-kernel-from-source.html

4) Build and install this project:

./configure --host=arm-none-linux-gnueabi --with-libvncserver=/opt/android make

(NOTE: You can ignore the warning about gethostbyname being statically linked.)

adb push src/fbvncserver /data adb shell /data/fbvncserver

5) Redirect Android ports:

telnet localhost 5554 redir add tcp:5900:5901

(NOTE: The fbvncserver by default binds port 5901, not 5900! Android already has a VNC server running on port 5900, but it sucks.)

6) Connect from localhost:

xvncviewer -noauto localhost

(NOTE: Additional steps are required to connect externally, since Android's port redirection works only for the local interface).