The idea behind this procedure is to wipe completely the internal drive and copy the partitions from another Reader, except
the initial 26 Mb unformatted space that contains unique information
for each Reader.
That said, if you do not have access to a PRS-T1 in working order
, you may try simply, doing a backup, erase the partition table, restore the backup (doing steps 1 to 5, 11 to 13 and 15). It might work, but I cannot vouch for it since I didn't stop there.
WARNING: Do not go through this procedure if you do not understand what you're doing, you may end up bricking your Reader, or worse, format the hard drive of your computer. I take no responsibility if things go wrong!
- A PC running Ubuntu 12.10 (most of the procedures can be done with other linux systems.)
- A microSD card at least 2Gb.
- Access to another PRS-T1 in working order running the same firmware version. EDIT: Here are some of the partitions from a working unrooted PRS-T1 running firmware 1.0.05.11130 european.
Note: During this procedure, my Reader got somehow disconnected from the computer a couple of times (after step 12 below and after copying the /dev/sdb8 partition). If this happens, simply disconnect the USB cable, press Reset + Power. Press HOME+MENU and power again as before.
- Download the rupor-rescue package. Unzip it and copy the OSFirmware folder to an empty microSD card. We will use this to boot the PRS-T1 in recovery mode, without using the internal drive.
- Turn the Reader off. Put the sdcard in the faulty Reader and power it on while pressing the HOME and MENU buttons. Keep pressing the buttons until the Opening book progress bar reaches the end. The screen will keep showing "Opening book" from now on with the orange light flashing. This is normal in recovery mode.
- Disable drive automount by opening a terminal and typing
This will avoid all the partitions being mounted when you connect.
gsettings set org.gnome.desktop.media-handling automount false
- At this point connect the USB cable to your computer.
- Do a full backup of the faulty Reader. I used Ubuntu's Disks application by selecting the drive on the list, click the two cog wheels icon (top right of the screen) and select Create disk image. Make sure you get a 2Gb .img file. See http://justpaste.it/2qxi.
I guess I could have simply used the dd command to do this full backup.
- Now, you may right-click on one of the partitions in the Unity launcher and select Eject. Disconnect your Reader; press the reset button followed by the power button. Remove the card.
- Now we'll do individual backups of each partition, one by one, of the good reader. Therefore turn off the good Reader, put the sdcard in it, boot with HOME+MENU as before, and connect the USB cable.
- On Ubuntu my Reader's internal drive was /dev/sdb. I will use this in the following commands but you should check the device path for your computer. One easy way is using the Disks application. Once you connect the Reader it will show in the list and it reports the device path.
- Create a folder where we will save the partition images. Open a terminal and type
- The PRST1 has 10 partitions. If the READER is /dev/sdb, then the partitions will be /dev/sdb1 to /dev/sdb10 respectively. /dev/sdb3 is an extended partition (a container partition) and /dev/sdb4 is the Reader partition (the one you see when you connect your Reader normally to your computer). I decided not to copy these two.
To backup a partition we will use the dd command as follows:
What this does is create a disk image of the /dev/sdb1 partition called sdb1.bin in the PRST1 folder we created before.
sudo dd if=/dev/sdb1 of=PRST1/sdb1.bin bs=512
WARNING: Be very careful not to mix up if= with of=. You may end up overwriting a partition with zeros or with data from another partition.
Repeat this for each partition you want to copy. Then when finished, Eject the drive, disconnect and reset it.
- Now we'll erase the partition table of the faulty Reader. Reconnect the faulty Reader as before. Open Gparted. If it is not installed, install it with
sudo apt-get install gparted
- Select the Reader from the device list and then, from the Device menu, choose Create partition table. You will get a warning that this will erase all data on the drive. When done you should see that all partitions are gone and that the whole internal drive is unallocated space.
- Run the Disks application and choose Restore disk image. Choose the disk image of the faulty Reader you had created in step 5 above.
- Now we'll copy the partitions from the good PRS-T1 to the faulty one with:
Do this for all the partitions one by one.
sudo dd if=PRST1/sdb1.bin /dev/sdb1
- Eject the disk, disconnect the cable, reset it and power on. Good luck.