Even though the LIBRIe runs a modified version of Linux, Sony currently
provide no software for Linux users to upload content. BookListGen.sh is a
way of transferring ebooks onto your LIBRIe, via memory stick, without
using Windows.
BookListGen.sh is a Bash port of BookListGen:
http://booklistgen.peterknowles.com
It is compatible (and has been tested) with Linux and OS X*.
* (To use on some OS X systems, it might be necessary to set USEHEXDUMP=1 at
the top of the script. This is because od might not be present.)
Requirements
------------
BookListGen.sh is written in Bash, and makes use of common tools which
should already be available on any recent Linux/OS X system:
od, awk, sed, dd, gunzip, cut, iconv, tr, grep, file
In order to work correctly, your locale must support UTF-8 (e.g.
en_GB.UTF-8). In addition to this, the following items are also necessary:
* USB memory stick reader supported by the OS. After trying several models
(Dazzle, Packard Bell), the one which worked flawlessly for me in Linux
was the Belkin USB 2.0 15 in 1 reader. All the other models I tried
would either corrupt data on the memory stick, or would refuse to mount
the media without a reboot after a couple of mounts. The Belkin model
worked perfectly.
* A memory stick (or memory stick duo with the adapter).
* A LIBRIe (Duh)
Mounting the Memory Stick
-------------------------
* After inserting the memory stick into the card reader, it should show up as
a SCSI disk device. On the Belkin 15 in 1 reader, the memory stick slot is
sdb, but it will be different depending on which card reader is being used.
By default, there is a single FAT-16 (type 6) partition on the memory stick,
which can be mounted in the following way:
mount -t vfat /dev/sdb1 /mnt/memorystick
Alternatively, the following entry can be placed into /etc/fstab:
/dev/sdb1 /mnt/memorystick vfat defaults,noatime,user,noauto,rw 0 0
This will allow the memory stick to be mounted with the simpler command:
mount /mnt/memorystick
Creating The Directory Structure
--------------------------------
There is a specific directory structure that is required on the memory stick.
The following directories are necessary in the root of the memory stick:
/mssony/librie/booklist
/mssony/librie/usb
/mssony/librie/reader/book/lrf
/mssony/librie/reader/book/lrx
/ebook/bbeb/book
These directories can either be created manually, or with booklistgen.sh, in
the following way:
./booklistgen.sh -c /mnt/memorystick
Transferring LRF Files Onto The Memory Stick
--------------------------------------------
Once the memory stick has been mounted, and the directory structure has been
created on it, LRF files can be copied into the /ebook/bbeb/book directory:
cp mybook.lrf /mnt/memorystick/ebook/bbeb/book
Generating the Index File
-------------------------
It would be nice if the LIBRIe could find all files in the /ebook/bbeb/book
directory automatically. However, this is not possible. An index, or booklist,
file (MgrTbl.dat) needs to be generated under the /mssony/librie/booklist
directory. This file is generated by running the booklistgen.sh script in the
following way:
./booklistgen.sh /mnt/memorystick
When this command is executed, the LRF files under /ebook/bbeb/book will be
scanned, and an index file containing all of these books will be generated
under /mssony/librie/booklist.
Unmounting the Memory Stick
---------------------------
The memory stick now needs to be unmounted, to ensure that all data is written:
umount /mnt/memorystick
Loading the Memory Stick Into the LIBRIe
----------------------------------------
After inserting the memory stick into the LIBRIe, the main menu should contain
all the books that were added to the index.