Thursday, January 27, 2011

Changing the Kobo's boot image

This article is part of an extended series on Kobo development and investigation


Apparently I have to make this more obvious:

  • Take a backup of your Kobo's SD card before doing anything. If something doesn't work, you can't fix your Kobo without this backup. I will not send you a backup.
  • Any device hacking is risky. If you can't afford to break your device, leave now.

Image of Kobo with modified splash screenThe Kobo's boot splash image is stored in unpartitioned space on the internal MicroSD flash. It's an 600x800 4-bit greyscale Windows bitmap (not RLE compressed) starting 1026 512-byte sectors from the beginning of /dev/mmcblk0 (the onboard SD).

Before trying to modify the boot splash image or anything else on the onboard SD card, make a backup of your Kobo's firmware by disk-imaging the internal SD card. If you don't back it up and you damage the kernel or bootloader you won't even be able to factory reset your device; it'll be useless.

If you use a bitmap that is too large you will render your kobo useless, so be careful. I've verified a bitmap of 240120 bytes, saved from Adobe Photoshop CS2, to work on my Kobo Wifi.

`file logo.bmp' should report PC bitmap, Windows 3.x format, 600 x 800 x 4

I haven't found any unix/linux based tools that will write 4-bit greyscale Windows Bitmap images yet, so Photoshop is your best bet. Recommendations appreciated.

The boot splash image may be replaced by putting a compatible bitmap on the user-accessible onboard fat32 partition. It must be located at .kobo/upgrade/logo.bmp. Once placed, disconnect the kobo. It'll detect the upgrade files automatically, apply them, and reboot. On reboot, it'll show the new splash.

(Sorry for the horrible phone-camera pic)

9 comments:

  1. For Linux, ImageMagick does it pretty easily:

    convert <src> -resize \!600x800 -colorspace Gray -depth 4 -type palette <dest>.bmp

    Of course other transformations should probably also be done to make the image look better.

    I'd also back the original image up first, if the whole disk has not already been backed up. Just dd it out:
    dd if=/dev/mmcblk0 skip=1026 count=469 of=/mnt/onboard/boot.bmp

    And then you can just use convert with no options to strip off the trailing garbage.

    ReplyDelete
  2. Hellllp.............................!!!!!!!!!!!!!!!!!!!!!!!
    Ive bricked my ereader
    now what

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
  4. Define what you mean by "bricked". The Kobo cannot really be "bricked" because it doesn't have any soldered-on non-volatile storage like flash or CMOS that can be corrupted. All the storage from the bootloader on up is in the onboard MicroSD card, which is easily imaged.

    If you followed the instructions given here you will have made a backup of your Kobo's firmware by disk-imaging the internal SD card.

    All you need to do is restore the backup you made of the Kobo's firmware. You can do this by opening the Kobo up and removing the microSD card, then putting it into a MicroSD reader on your computer and `dd'ing the backup disk image back onto it.

    ReplyDelete
  5. "C"'s other comment was deleted because they posted their email address in it, and it didn't seem kind to leave it up for the spambots to harvest.

    ReplyDelete
  6. if i didn't image it, is there any other way i can obtain an image...
    It is the black kobo wifi...

    ReplyDelete
  7. That was ... silly. There's a reason I warned you should image the device first. Why on earth would you ignore the giant bold warning then go ahead and mess with your device?

    You will need to obtain an undamaged disk image of a Kobo Wifi.

    How did you mess it up? Did you upload an image that was too big? In the wrong format?

    Given the nature of your questions, I'm wondering: will you be able to restore the disk image once you have it? What operating system do you run? Do you have a microSD card reader? Are you willing - and able - to open up your Kobo to get the microSD card out so you can restore it?

    If you're on Windows you won't have `dd' so you'll need to use another raw disk imaging tool. A quick search suggests that WinImage (http://www.winimage.com/winimage.htm) might work, but I have NOT VERIFIED THIS. I'd boot an Ubuntu CD and restore the disk image using that myself, but I'm comfortable on Linux and usually use it. If you are not, I really cannot offer you the kind of detailed tutorial required to teach you to do this without risking doing more harm (like erasing your PC's hard drive instead of the SD card by choosing the wrong target disk device!).

    Give me a better idea of your level and I'll see if I think I can help you. I should be be able to help you find a suitable Kobo disk image, but there's only so much time I'm wiling to spend helping you use it.

    ReplyDelete
  8. Press&hold the central button then turn on the device will restore it to the factory default

    ReplyDelete
  9. Press & hold the central button then turn on the device will reset it to the factory default settings.

    ReplyDelete