View Single Post
Old 06-10-2013, 09:58 PM   #70
Difflugia
Testate Amoeba
Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.Difflugia ought to be getting tired of karma fortunes by now.
 
Difflugia's Avatar
 
Posts: 3,049
Karma: 27300000
Join Date: Sep 2012
Device: Many Android devices, Kindle 2, Toshiba e755 PocketPC
For anyone that's comfortable messing with filesystems in Linux, you can create a bootable SD Card from scratch using just the update.zip firmware file. The only difference right now is that the serial number listed in the About dialog is garbage, which means it's probably stored as ASCII characters somewhere. I can login to Kobo and Google Play just fine, though, so I'm not going to worry about it.

All I needed to know to start was what the partition table looked like:

Code:
4 heads, 16 sectors/track, 244224 cylinders, total 15630336 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: 0xcf3814cc

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1           92160      616448      262144+  83  Linux
/dev/sdb2          616449     1665025      524288+  83  Linux
/dev/sdb3         1665026     4286466     1310720+   5  Extended
/dev/sdb4         4286467    15523839     5618686+  83  Linux
/dev/sdb5         1665088     3762240     1048576+  83  Linux
/dev/sdb6         3762303     4286466      262082   83  Linux
Take a fresh card and create the partitions. As far as I can tell, the size only matters with the first and possibly second partitions. The other important bit is the start sector for partition 1. The kernel and initial ramdisks are stored raw in the space before block 92160. So I used fdisk to create partition 1 and 2 using start and end sectors exactly as above. If you're using another 8GB card, go ahead and create the rest of the partitions with exactly the same start and end blocks as well.

I used a 16GB card, though. Partion 3 is an extended partition that's split between the /data (partition 5) and /cache (partition 6). Partition 4 is /mnt/sdcard. I decided to split 4GB between data (3.5GB) and cache (512MB) and put the rest (~10GB) into sdcard.

Once the partion table's written, format partitions 2, 5 and 6 as ext4.

Now find the firmware update that you want. The current firmware can be downloaded in 1MB chunks from http://download.kobobooks.com/vox/images/eng.CAN.20111117.182539.40022/x000 through x166 and concatenated into a sideloadable update.zip file. I used a script with wget to get all the pieces. There's a slightly older one at http://download.kobobooks.com/vox/update.zip that's easier to download, but your Vox will update automatically to the latest when you first boot.

Create a directory and unzip the update.zip file into it. Cd into the directory so you see system.img, uImage, and the rest of the update files. If you want to make changes to the file system, now's the time (mount system.img as loopback and, perhaps, add "su"). Then, as root, run the following commands, making sure you change /dev/sdb to match where your SD Card's device.

Code:
dd if=/dev/zero of=/dev/sdb bs=1 seek=30408704 count=1
dd if=./u-boot.bin of=/dev/sdb bs=1024 skip=1 seek=1
dd if=./uImage of=/dev/sdb bs=1048576 seek=1
dd if=./uramdisk.img of=/dev/sdb bs=1048576 seek=11
dd if=./recovery-uramdisk.img of=/dev/sdb bs=1048576 seek=12
dd if=./system.img of=/dev/sdb1 bs=512
Once this is done, mount partition 2 as ext4 and copy update.zip (if you made changes to system.img, make sure you rezip the directory) to the partition, naming it recovery_backup_signed.zip. Sync and unmount the partition. Your card should now be bootable. Mine took extra-long to boot because it sets up the /data and /cache partitions, but if you get to the Kobo book animation, you should be home free.
Difflugia is offline   Reply With Quote