Community Workspace/kobo

= kobo eReader Device Adaptation =

sdcard Partitions
[vgrade@quad original-sdcard-image]$ sudo fdisk -l /dev/sde

Disk /dev/sde: 1977 MB, 1977614336 bytes 4 heads, 16 sectors/track, 60352 cylinders, total 3862528 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000

/dev/sde1          19456      543744      262144+  83  Linux /dev/sde2         543745     1068033      262144+  83  Linux /dev/sde3        1068034     3862527     1397247    b  W95 FAT32

sde1 - rootfs sde2 - recovery rootfs sde3 - partion for storing books

two sdcard slots - mmcblk0 = internal slot, mmcblk1 = external slot

Backup sdcard
sudo dd if=/dev/sde of=kobo-touch-sde.raw bs=1M

In /usr/local/Kobo/udev/sd following code checks for hardware version

if [ `dd if=/dev/mmcblk0 bs=512 skip=1024 count=1 | grep -c "HW CONFIG"` == 1 ]; then if [ -e /drivers/ntx508 ]; then PLATFORM=ntx508

So I have ntx508 platform device.

create a bootable sdcard
Now try to see if we can create sdcard to boot existing firmware from external slot. Needs uboot config + filesystem changes mmcblk0/1 + kernel command line

rootfs/etc/u-boot/ntx508 has u-boot.mmc and u-boot.recovey files

So process is as follows

dd if=u-boot.bin of=/dev/$DEVICE bs=1K seek=1 skip=1 dd if=waveform.header of=$DEVICE bs=512 seek=14335 dd if=waveform of=/dev/$DEVICE bs=512 seek=14336 dd if=uImage of=/dev/$DEVICE bs=512 seek=2048

copied fs image onto sdcard p1 after increasing its size

sudo tar --numeric-owner -xf .tar.b2.tar -C /run/media/vgrade/rootfs

boots this filesystem but got errors Failed to mount /dev:No such device Failed to open /dev/kmsg for logging: No such file or directoy Typical systemd errors. So we need a new kernel. Get kernel from git Get kernel config from running device /proc/config.gz

Test build kernel with options from device flash to sdcard test

make ARCH=arm CROSS_COMPILE=~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- uImage dd if=uImage of=/dev/$DEVICE bs=512 seek=2048

boots ok, but extra "epdc_init_sequence(994) : epd_power_on request fail !" message, why can't these folks provide up to date kernel source.

Edit .config for mer systemd options Build kernel with options from device + Mer options flash to sdcard test - boots kernel then nothing on serial or screen- Check logs on sdcard. xorg log looks good. need to enable a terminal session on serial so I can log in ln -s lib/systemd/system/getty@.service lib/systemd/system/getty.target.wants/getty@ttymxc0.service

good we have a terminal

but the error we had with this kernel source "epd_power_on request fail !" is saying that the eink display has no power.

Time to ask for the correct kernel source for this device.

Usefull Links
http://bricoles.du-libre.org/doku.php/kobo:la_page_kobo https://twitter.com/magoroku15/status/232885549436923905 http://a3nm.net/blog/fnacbook_kobo_more_hacking.html http://petit-noise.net/blog/20120802/kobo-touch %E3%81%ABusb%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%92%E7%B9%8B%E3%81%92%E3%82%8B https://wiki.merproject.org/wiki/Adaptation_Guide/Step_by_step#Make_an_image