Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > Miscellaneous > Archive > OpenInkpot

Notices

 
 
Thread Tools Search this Thread
Old 07-06-2010, 07:38 AM   #1
Guy_Incognito
Junior Member
Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.
 
Posts: 2
Karma: 9756
Join Date: Jul 2010
Device: Kobo
Kobo and OI

After the release of the first firmware update, I'd like to get cracking on this.

So far, I've opened the yaffs2 image supplied with the firmware update and had a bit of a poke about to see what's what. Basically a 'base' filesystem is in the image (with the usual tiny linux distro - modules, busybox, etc) and a 'usr.tgz' file included in root - the init script checking for the existence of said file on boot and just untarring it out to /usr, transferring control to the Kobo software afterwards. Ta-da! Upgraded software.

Interestingly, the script also mounts the SD card and checks for the existence of a couple of files - if so, they appear to be executed at boot, which would make it an easy way to get stuff onto the device.

Bluetooth is enabled in the kobo, and it looks like one could use RFCOMM to get a console via bluetooth (rfcomm0/1 are present in /dev), but it's been a long time since I've done anything with bluetooth and linux.

So, as someone who just stumbled across OI one day and has only a smattering of embedded experience..... where to from here?

I've attached the kobo base layout, and the init script if anyone's interested. I've left the actual kobo software out as it's kobo's, and it's 35MB.
Attached Files
File Type: gz Kobo_Base.tar.gz (6.85 MB, 544 views)
File Type: gz rcS.gz (1.0 KB, 517 views)
Guy_Incognito is offline  
Old 07-07-2010, 09:40 AM   #2
luqmaninbmore
Da'i
luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.luqmaninbmore ought to be getting tired of karma fortunes by now.
 
luqmaninbmore's Avatar
 
Posts: 1,144
Karma: 1217499
Join Date: Oct 2008
Location: Baltimore
Device: Toshiba Thrive, Kobo Touch, Kindle 1, Aluratek Libre, T-Mobile Comet
I don't suppose that there's anyway I could use the above information to unbrick my Kobo which got messed up during the Firmware upgrade process?
luqmaninbmore is offline  
Advert
Old 07-14-2010, 04:51 AM   #3
dspitler
Member
dspitler began at the beginning.
 
Posts: 11
Karma: 10
Join Date: Jul 2010
Device: Kobo
Quote:
Originally Posted by Guy_Incognito View Post
After the release of the first firmware update, I'd like to get cracking on this.

So far, I've opened the yaffs2 image supplied with the firmware update and had a bit of a poke about to see what's what. Basically a 'base' filesystem is in the image (with the usual tiny linux distro - modules, busybox, etc) and a 'usr.tgz' file included in root - the init script checking for the existence of said file on boot and just untarring it out to /usr, transferring control to the Kobo software afterwards. Ta-da! Upgraded software.

Interestingly, the script also mounts the SD card and checks for the existence of a couple of files - if so, they appear to be executed at boot, which would make it an easy way to get stuff onto the device.

Bluetooth is enabled in the kobo, and it looks like one could use RFCOMM to get a console via bluetooth (rfcomm0/1 are present in /dev), but it's been a long time since I've done anything with bluetooth and linux.

So, as someone who just stumbled across OI one day and has only a smattering of embedded experience..... where to from here?

I've attached the kobo base layout, and the init script if anyone's interested. I've left the actual kobo software out as it's kobo's, and it's 35MB.
How did you extract the contents of fs.img? unyaffs didn't work for me.
dspitler is offline  
Old 07-16-2010, 09:38 PM   #4
Guy_Incognito
Junior Member
Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.Guy_Incognito knows what is on the back of the AURYN.
 
Posts: 2
Karma: 9756
Join Date: Jul 2010
Device: Kobo
Strange, that's what I used. I had to tinker with the unyaffs source to get it to compile with the yaffs filesystem kernel source I had.

Basically, I downloaded the latest yaffs-utils tarball, added a missing #define to one of the header files (the yaffs2 module for my kernel revision seems to have dropped it), compiled it with crossed fingers, then just used the resulting binary to extract the image.

In fact, I just did it again, so it works for me.
Had to squeeze this into yaffs2utils.h for it to compile:

#define YAFFS_UNUSED_OBJECT_ID 0x0003FFFF

And even though I have little clue about what that's used for in the source, it seems to work.
Guy_Incognito is offline  
Old 07-17-2010, 04:35 PM   #5
dspitler
Member
dspitler began at the beginning.
 
Posts: 11
Karma: 10
Join Date: Jul 2010
Device: Kobo
Oh okay, thank you. I was using a totally different tool I found here: http://code.google.com/p/unyaffs/
I ended up writing a crude script to extract and reconstruct blocks from the image then manually pulling out usr.tgz just to have a look at that, since you graciously uploaded everything else.

My first goal is to figure out a way to easily upload files to the root file system. I'm not confident I could make a custom yaffs2 image that would actually work and I don't want to wear the Kobo prematurely by flashing it repeatedly with tests. Sadly, trying to stick scripts in mfg_test/mfg_test or vform/update_vform on the SD card isn't working. The only other idea I have is to figure out the USB protocol used when updating the firmware. Foxit had a command line tool for updating their eSlick's firmware in Linux here: http://www.foxitsoftware.com/ebook/gpl.html but, just my luck, all the links are dead and I can't find a mirror.

If I'm able to customize the Kobo a bit (changing the fonts or running 3rd party software) then I ultimately would like to get OpenInkpot running.
dspitler is offline  
Advert
Old 07-18-2010, 02:43 AM   #6
wap502
Member
wap502 began at the beginning.
 
Posts: 16
Karma: 12
Join Date: Jun 2010
Device: v3+
Quote:
Originally Posted by dspitler View Post
Oh okay, thank you. I was using a totally different tool I found here: http://code.google.com/p/unyaffs/
I ended up writing a crude script to extract and reconstruct blocks from the image then manually pulling out usr.tgz just to have a look at that, since you graciously uploaded everything else.

My first goal is to figure out a way to easily upload files to the root file system. I'm not confident I could make a custom yaffs2 image that would actually work and I don't want to wear the Kobo prematurely by flashing it repeatedly with tests. Sadly, trying to stick scripts in mfg_test/mfg_test or vform/update_vform on the SD card isn't working. The only other idea I have is to figure out the USB protocol used when updating the firmware. Foxit had a command line tool for updating their eSlick's firmware in Linux here: http://www.foxitsoftware.com/ebook/gpl.html but, just my luck, all the links are dead and I can't find a mirror.

If I'm able to customize the Kobo a bit (changing the fonts or running 3rd party software) then I ultimately would like to get OpenInkpot running.
]http://www.foxitsoftware.com/ebook/gpl.html
Support - GNU General Public License Codes



Foxit eSlick is based on Embedded Linux system. Foxit eSlick Reader application doesn't use any GPL components.

Foxit makes all the GPL source codes available to our customers, for 3 years since your purchase. To get a CD with a complete copy of source codes, please write to support@foxitsoftware.com. Please use “eSlick GPL Codes” as your subject, and provide your transaction number or eSlick serial number in the email. Foxit will charge the cost of making CDs and actual shipping only.

GPL Compilation Instructions for eSlick Firmware update 2.0.1 Build 0205

Environment

Please install or use a clean Debian system, with Internet access.
You can install a latest version of Debian on a new machine or virtual machine from http://cdimage.debian.org/debian-cd/...86-netinst.iso .
Please login as root since some operation requires root privilege.

Download Source Codes

gcc-2.95.3 source codes:
http://exchange.foxitsoftware.com/eb.../2.95.3.tar.gz

gcc-3.4.1 source codes:
http://exchange.foxitsoftware.com/eb...1/3.4.1.tar.gz

gcc-4.0.3 source codes:
http://exchange.foxitsoftware.com/eb...1/4.0.3.tar.gz

32MB eSlick Firmware Source codes:
http://exchange.foxitsoftware.com/eb...release.tar.gz
64MB eSlick Firmware Source codes:
http://exchange.foxitsoftware.com/eb...release.tar.gz

Please put all these files onto desktop of root user (/root/Desktop) and unpack them directly under that folder.

Preparation

Note: You should have to login as a root user to do the following operations. If you're using the debian, Ubuntu or Fedora operating system, please enter the sudo or su command to convert your account to the root user. For other Linux systems, please convert to the administrator account first according to the corresponding system command and then do as follows:

1. Make sure the following packages are installed:

# apt-get install bison
# apt-get install flex
# apt-get install build-essential
2. Install gcc-3.4:

gcc 3.4 is required to compile gcc cross 2.95.3, however it's not supported by Debian officially any more, so we need to install it manually.
First download the following packages:
gcc-3.4-base_3.4.6-5_i386.deb from
http://packages.debian.org/en/etch/i...c-3.4/download
cpp-3.4_3.4.6-5_i386.deb from
http://packages.debian.org/en/etch/i...p-3.4/download
gcc-3.4_3.4.6-5_i386.deb from
http://packages.debian.org/en/etch/i...-base/download
Then, install them according to the following sequence:
# dpkg –i gcc-3.4-base_3.4.6-5_i386.deb
# dpkg –i cpp-3.4_3.4.6-5_i386.deb
# dpkg–i gcc-3.4_3.4.6-5_i386.deb
If installation is successful, "/usr/bin/gcc-3.4" will be created.

Build Instructions

1. Compile gcc-2.95.3:

# export CC=gcc-3.4
# export LD_LIBRARY_PATH=
# cd /root/Desktop/2.95.3/crosstool-0.43
# chmod +x *.sh
# ./demo-arm.sh
Upon success compilation, /root/Desktop/2.95.3/crosstool folder will be created.
2. Compile gcc-3.4.1:

Please logout and login again to resume the default environment. Then:
# cd /root/Desktop/3.4.1/crosstool-0.43
# chmod +x *.sh
# ./demo-arm.sh
Upon success compilation, /root/Desktop/3.4.1/crosstool folder will be created.
3. Compile gcc-4.0.3:

# cd /root/Desktop/4.0.3/crosstool-0.43
# chmod +x *.sh
# ./demo-arm9tdmi.sh
Upon success compilation, /root/Desktop/4.0.3/crosstool folder will be created.
4. Compile eSlick firmware:

# cd /root/Desktop/build
# chmod +x *.sh
# ./build.sh
Upon success compilation, the following files will be created under /root/Desktop/build folder:
u-boot.bin The boot loader;
uImage The Linux kernel;
rootfs.img The root file system.

Installation

Please download command line updater from the following URL:
http://exchange.foxitsoftware.com/eb...ine1130.tar.gz , and extract to the folder where those firmware files reside.
Instructions for updating eSlick firmware:

1. Connect eSlick device to your Linux desktop using USB cable;
2. Make sure eSlick device is in update mode. To enter this mode, press the "Reset" button using a pin thru the hole on the back of the device, then press Power and Menu key (the second top key in the four keys on left side) at the same time for a few seconds. The screen will show things like "Firmware Update";
3. Use the following command line to update u-boot file:
sudo ./cmdline -u u-boot.bin
4. The device will display progress bar for "Receiving Data...", and then "Updating ...", and then "Receiving data..." again. Now the update is done, press "Reset".

You should repeat the above operations for kernel updating, but using the following command line:
sudo ./cmdline -k uImage
and then for file system:
sudo ./cmdline -r rootfs.img

The GNU General Public License, Version 2
The GPL is the standard Free Software license. Click here to download the GPL v2.
Click here to download GNU Lesser General Public License, v2.1.
wap502 is offline  
Old 07-21-2010, 12:10 AM   #7
pholy
Booklegger
pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.pholy ought to be getting tired of karma fortunes by now.
 
pholy's Avatar
 
Posts: 1,801
Karma: 7999816
Join Date: Jun 2009
Location: Toronto, Ontario, Canada
Device: BeBook(1 & 2010), PEZ, PRS-505, Kobo BT, PRS-T1, Playbook, Kobo Touch
The Foxit kernel will need a lot of work to make it run on the KOBO, but the cmdline tool may work to download through the USB - again, it might need some work
pholy is offline  
Old 07-21-2010, 11:00 PM   #8
dspitler
Member
dspitler began at the beginning.
 
Posts: 11
Karma: 10
Join Date: Jul 2010
Device: Kobo
Thank you much for getting the links working again. (I could have sworn I emailed them, but I guess I had not) Unfortunately the command line flash binary has no source code included, so I'm afraid to use it on the Kobo as the flash addresses may vary greatly.
Also, I don't intend on trying to flash another kernel (yet?), just find an easy way to modify the already existing firmware.
dspitler is offline  
Old 08-18-2010, 11:24 AM   #9
Reemco
Junior Member
Reemco began at the beginning.
 
Posts: 1
Karma: 10
Join Date: Aug 2010
Device: Kobo
Kobo has opensourced their firmware, it can be found here: http://github.com/kobolabs/
Reemco is offline  
 


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
New Calibre Kobo Driver allows deleting of Kobo Free books timlegge Kobo Reader 46 08-27-2011 10:16 PM
One Kobo eReader, two Kobo store accounts ? yleibu Kobo Reader 7 10-09-2010 05:27 PM
Over trying to manage Kobo reader with Kobo desktop. Some help with Calibre? digital_steve Calibre 14 09-18-2010 01:12 AM
Over trying to manage Kobo reader with Kobo desktop. Some help with Calibre? digital_steve Kobo Reader 11 08-02-2010 10:31 PM
Kobo "Contest": Win a Kobo eReader Croptop Deals and Resources (No Self-Promotion or Affiliate Links) 6 07-09-2010 04:00 PM


All times are GMT -4. The time now is 05:56 PM.


MobileRead.com is a privately owned, operated and funded community.