07-06-2010, 07:38 AM | #1 |
Junior Member
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. |
07-07-2010, 09:40 AM | #2 |
Da'i
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?
|
07-14-2010, 04:51 AM | #3 | |
Member
Posts: 11
Karma: 10
Join Date: Jul 2010
Device: Kobo
|
Quote:
|
|
07-16-2010, 09:38 PM | #4 |
Junior Member
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. |
07-17-2010, 04:35 PM | #5 |
Member
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. |
07-18-2010, 02:43 AM | #6 | |
Member
Posts: 16
Karma: 12
Join Date: Jun 2010
Device: v3+
|
Quote:
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. |
|
07-21-2010, 12:10 AM | #7 |
Booklegger
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
|
07-21-2010, 11:00 PM | #8 |
Member
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. |
08-18-2010, 11:24 AM | #9 |
Junior Member
Posts: 1
Karma: 10
Join Date: Aug 2010
Device: Kobo
|
Kobo has opensourced their firmware, it can be found here: http://github.com/kobolabs/
|
|
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 |