Installing software on an Amazon Kindle 3

Soldato
Joined
28 Feb 2006
Posts
6,044
Location
Beds
Not sure where to put this post so will start here.

I am going through some ideas for my dissertation and a few involve the use of a Kindle. One of my ideas would involve installing software on to it. Is there any way to install your own software on to a Kindle? Im assuming you would need some form of admin rights as it uses a version of Linux. I have spent the afternoon searching the web with no luck :(

I have attempted to install software via the web but this fails either with a message saying it cant access the page or the Kindle freezes. I then have to hold down the power button to fix it.

Thanks
 
Check out these blog posts, the third one being the most relevant. From 2007, but im sure the new Kindle is rootable.

1 : http://igorsk.blogspot.com/2007/12/hacking-kindle-part-1-getting-console.html

2: http://igorsk.blogspot.com/2007/12/hacking-kindle-part-2-bootloader-and.html

3: http://igorsk.blogspot.com/2007/12/hacking-kindle-part-3-root-shell-and.html

He gets a root shell, and determines which directories are writeable. I see no reason why you couldn't compile & execute software once you have a root shell, but I don't own a Kindle.

Lets say you find a way to get source code on there, you would need GCC & GNU make tools etc, but it should be doable depending on the software. Java software would be easiest to run, as the JVM is already in place by the looks of it.
 
Last edited:
Thanks, they are some useful links. I have a limited knowledge of Linux file systems and zero when it comes to Java.

One of my ideas was to install a Linux version of Logmein so that I can access the Kindle remotely when its on. I have managed to access my pc using the Kindle but that didnt really involve any effort.
 
Have you managed to get a root shell up?

The easiest thing to do is probably to install a VNC server on it, like TightVNC.

Not sure how much I can help as I havent touched a Kindle, but get a root shell up and try to install TightVNC. There will probably be missing dependencies you will need to install first, but hopefully they will be manageable.
 
I have so far done the jail break, installed the usbnetwork and changed the root password. I can now telnet in to Kindle but i am unsure how to install the software.

There is mention of using vnc at the bottom of this thread, http://www.mobileread.com/forums/showthread.php?t=97745&page=6. Im not sure if i just copy the software to the root directory and then install it using cmd line.

I am using windows 7 to access the device.
 
I have a root shell and can access the kindles file system. The problem i have now is that i need to install the vnc software on to the kindle. The software will need to be configured using command line so i cant use TightVNC. I have decided to use X11vnc which is all command line based. I have managed to get it working on my Ubuntu laptop and Windows 7 pc. That was a few hours work in itself.

I have attempted to install the software as i did on the laptop using the command 'sudo aptitude install x11vnc vnc-java'. I knew the likelihood of this working on the kindle being very slim. It didnt work :( I now need to copy the install files on to the kindle and attempt to install it. I have downloaded the latest files from here.

I need to be able to manually install it which i have so far been unable to do on my laptop.

tntcoder, are you able to offer any help on how to manually install software in Ubuntu? I have googled my way through installs before but i cant seem to find an idiots guide to this :p I need to be able to have the vncserver running on the kindle.
 
I have a root shell and can access the kindles file system. The problem i have now is that i need to install the vnc software on to the kindle. The software will need to be configured using command line so i cant use TightVNC. I have decided to use X11vnc which is all command line based. I have managed to get it working on my Ubuntu laptop and Windows 7 pc. That was a few hours work in itself.

I have attempted to install the software as i did on the laptop using the command 'sudo aptitude install x11vnc vnc-java'. I knew the likelihood of this working on the kindle being very slim. It didnt work :( I now need to copy the install files on to the kindle and attempt to install it. I have downloaded the latest files from here.

I need to be able to manually install it which i have so far been unable to do on my laptop.

tntcoder, are you able to offer any help on how to manually install software in Ubuntu? I have googled my way through installs before but i cant seem to find an idiots guide to this :p I need to be able to have the vncserver running on the kindle.

Ok, to install manually you need to compile it from source. This is all documented in the INSTALL file:

The simplest way to compile this package is:

1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.

Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.

2. Type `make' to compile the package.

3. Optionally, type `make check' to run any self-tests that come with
the package.

4. Type `make install' to install the programs and any data files and
documentation.

5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.

So extract the tar file you linked to: tar -xzf x11vnc-0.9.12.tar.gz

Then open the extracted directory: cd x11vnc-0.9.12

Now you need to compile it by running ./configure then run make then run make install and you're done.

There are more Ubuntu specific instructions for this here: https://help.ubuntu.com/community/CompilingSoftware that guide also covers the prerequisites you will need, i.e build tools.

Hope that's some help. Not too sure what you're trying to achieve installing it on Ubuntu? I got the impression that you want to build it on ubuntu then copy it to the Kindle, if this is the case then that will most probably not work im afraid. You should be able to compile from source on the Kindle though (same as above), providing all the dependencies are installed first :)
 
Thanks for the quick reply.

I have installed software before by using ./configure etc but just couldnt get it to install properly. Maybe i just need a break from it and have a fresh look in the morning as been playing with this all day. Its a killer looking at 10" netbook screen.

I am installing it first on Ubuntu as a test run so that i know how it works. Basically i dont want to brick the kindle :D

Can you work out what the dependencies are, or is it a case of it will say its missing during installation?
 
Can you work out what the dependencies are, or is it a case of it will say its missing during installation?

The configure script (./configure) is designed to test your system for all the required dependencies and to setup the build enviroment etc.

So running ./configure will determine if you are missing anything, no compiling or installing happens until you do make/make install. So get to the point where ./configure runs without errors and you should be good to go :)
 
It looks like i needed to install x11 development files first as shown during ./configure.

x11-dev
libxtst-dev
libssl-dev

I have now managed to install it.

What defines where files are saved to during the installation? Is this something that is already written in to the code ive just compiled.
 
What defines where files are saved to during the installation? Is this something that is already written in to the code ive just compiled.

The installation path is defined in the ./configure script, and you can specify it as a parameter if you don't like the default.

Usually I think the configure script defaults to /usr/local/bin or similar, which is outside of the PATH variable so not ideal.

If you run ./configure --help it will give you a list of params you can pass to it to set the installation path. Something like ./configure INSTALL_PATH=... for example is perhaps what you want to do.
 
My next task is to get the software on to the kindle and attempt to install it. I have copied the install folder across to the root folder. I did this whilst it was a usb storage device. I reverted back to using usbnetworking (kindle shown as a network device with an ip address) so that i can telnet in to it. The problem i have now is that i cant find the folder i have copied across. I have spent the afternoon searching through directories :( I think i need to master using some sort of search function. grep didnt seem to want to work for me.
 
The problem i have now is that i cant find the folder i have copied across. I have spent the afternoon searching through directories :( I think i need to master using some sort of search function. grep didnt seem to want to work for me.

Run find / -name "folder_or_file_name" (case sensitive file names) the root shell, might take a while to run but should help track it down. You can also search for just part of the file names using wildcards i.e find / -name "myfile*" would find anything starting with myfile in the entire root file system.
 
Last edited:
Back
Top Bottom