How to download and copy epub files using the XO laptop

Bob DuCharme recently converted 16 children’s books from the Project Gutenberg archive into .epub format for use with FBReader on the XO laptop. Thanks Bob!

I’ve just walked through the scenario of downloading the epub files from Bob’s download page and copying them into the correct directory for FBReader to read them. Here are the instructions with screenshots taken directly from the XO. If you see inefficiencies, please let me know because my Linux is only good enough to make me very, very dangerous to files and folders. :)

  1. Start up the Browse Activity on the XO.
    browse.png
  2. Click in the address bar and press ctrl-A to select all the text, then type in snee.com/epubkidsbooks and press enter.
  3. Scroll down to the book you want to download, and click the link. You’ll see a nice countdown while the file downloads.
    sneecom.png
  4. Switch over to the Journal Activity, either by pressing the magnifying glass icon key or by going to the Home View and clicking the Journal icon at the bottom of the Home circle.
  5. Insert an SD card or a USB stick into the XO. The Journal shows an icon in a bottom bar when you put in external storage media.
  6. Locate the downloaded epub file, but don’t launch it (they launch as EToys projects, go figure.) Drag and drop the file to the SD or USB icon in the bottom bar.
    filelittlebopeep.png
  7. Click the Home View key and start the Terminal Activity – you have to scroll right to see the Terminal launch icon.
  8. Click in the Terminal window (otherwise you’ll be typing in the Terminal search box). Find the name of the external media, which is in the /media directory. For example, type:
    df
  9. You’ll see the name of your SD card or USB stick in the row with /media/ before it. You need that name to copy the epub file from the external media to the correct location for FBReader to find the book file.
    terminalmvfile.png
  10. Change to the media directory where the epub file is stored and rename the file to something shorter. For example, type:
    cd /media/USBMEM
    mv "File TheThreeBears.epub downloaded from_http___www.snee.com_ebooks_TheThreeBears.epub..zip" TheThreeBears.epub LittleBoPeep-ANurseryRhymePictureBook.epub
  11. Copy the newly shortened-name file to the ~Books directory. For example, type:
    cp TheThreeBears.epub ~/Books
  12. Launch FBReader by typing FBReader at the Terminal prompt.
    thethreebearsinfbreader.png

Tips:

  • FBReader must be installed on the XO. It’s a simple process. Go to the Terminal Activity and type:
    su -c ‘rpm -i http://mirrors.kernel.org/fedora/updates/7/i386/fbreader-0.8.8-2.fc7.i386.rpm’
  • If you don’t want to type a whole bunch of text on the little XO keyboard, eject the SD card or pull out the USB stick, and put it in a “regular-sized” computer, and then rename the file there.
  • Or, plug in a USB keyboard with normal size key layout to do all your typing in the Terminal Activity.
  • If your USB stick has a space in the name, you can’t use it with your XO. Put it into another computer and rename it without a space.

8 Comments

  • Nick
    January 23, 2008 - 5:43 pm | Permalink

    To skip the copying step I added my sd card to the directories that FBReader looks in. I added
    :/media/NameOfSD/

  • January 23, 2008 - 10:25 pm | Permalink

    Thanks Nick! That’s a much more direct route to book content and doesn’t fill up the XO’s memory with ebooks either, so it’s efficient and conserves space.

  • Rachel
    January 24, 2008 - 10:53 am | Permalink

    Isn’t FBReader supposed to read docs straight out of a zip or rar file as well? I can’t get that to work if so. And it won’t read adobe files. So I use FBReader for everything but adobe and the built-in reader for those. : P

  • David
    January 29, 2008 - 8:54 am | Permalink

    I haven’t tried out this yet, but a guy has posted a version of FBReader with the line spacing issue fixed (looks like it’s affecting you in the three little bears screen cap): http://imagic.weizmann.ac.il/~dov/olpc/index.html

    I had already gotten decent results by just adjusting the line spacing to its maximum possible value in the FBReader options, but having it be ‘right’ will be nice too :-) I assume he’s submitted it as a patch so future versions of FBReader will have it.

  • January 29, 2008 - 9:13 am | Permalink

    Good news, thanks David. I’ll have to try it out with the fixed line spacing and update my screenshot.

    Rachel, I still haven’t found an answer to your question about the XO reading content within zip files with FBReader, but it works on other laptops so I’m not sure what the story is there. Robert Nagle has a great post about the XO as an ebook reader at http://www.teleread.org/blog/2007/11/12/free-olpc-ebooks-for-children-ebook-specs-for-xo-laptop/, that mentions zip being renamed to xol, but I don’t know how that would “fix” it for FBReader. Anyway, I’ll keep looking around and see what I can find out.

  • Elf
    December 14, 2008 - 3:50 pm | Permalink

    Can anyone help me with the libexpat.so.0 error message when trying to install frbreader on an XO OLPC? Dov’s version wants it too. I created a symbolic link to the libexpat.so.1 file in /usr, because some folks asked if that was the solution. That did not make the install work. There are so many versions of libexpat.so.0 on the web I’m at a loss as to how to proceed. Thank you for any help you could provide.

  • April 5, 2009 - 8:37 pm | Permalink

    Mikus was a huge help to me in answering this question long ago, and I’m posting his answer in case it helps others.

    As far as I know, I’ve not had this problem on 8.2 (which is what I’m using).

    On my systems, the library file itself is installed by the “expat” package. Assuming that package is in your system, ‘rpm -q -l expat’ will show you the files it installs. The file with more than one dot-plus-number after the .so is the actual file itself. The name with only one dot-plus-number after the .so would be a symbolic link to the actual file.

    Somewhere the FBReader package will have a large executable file (mine is called “FBReader”). Do ‘ldd appropriate_path/FBReader’.
    That will tell you what the executable is looking for. If the “expat” package does not have this, quick_and_dirty is to add a symbolic link to provide it. [For instance, what I have is “/lib/libexpat.so.1.5.2″. If I needed “libexpat.so.0″, I would (as root) enter ‘ln -s /lib/libexpat.so.1.5.2 /lib/libexpat.so.0′.

    I got my FBReader from Dov’s site – there were two versions, and I got what was the latest at the time (it looks for “libexpat.so.1″).

    Hope that helps someone along their quest to install fbreader!

  • Pingback: Over 200,000 ebooks and softwares ready foe immediate downloads.

  • Leave a Reply