Support - GNU General Public License Codes


Foxit eSlick is based on Embedded Linux system. Foxit eSlick Reader application doesn't use any GPL components.

Foxit makes all the GPL source codes available to our customers, for 3 years since your purchase. To get a CD with a complete copy of source codes, please write to support@foxitsoftware.com. Please use “eSlick GPL Codes” as your subject, and provide your transaction number or eSlick serial number in the email. Foxit will charge the cost of making CDs and actual shipping only.

Click here to download all GPL source codes below used in Foxit eSlick

Build and Installation Instructions

eSlick device firmware is devided into four different parts:

1) bootloader: u-boot.bin;
2) kernel: uImage;
3) file system: rootfs.img;
4) eSlick application (non-GPL).

Here are how to build and install each of them except the eSlick application:

First of all, unzip the source package to reveal a number of sub-packages.

1. u-boot:

Unzip eSlick-u-boot-1.1.4.tar.gz, make sure compiler "arm-linux-gcc 2.95.3" is installed under /usr/local/arm, then:

make distclean
make

The result will be u-boot.bin.

Installation: use a blank SD card, copy u-boot.bin and "update_kernel" in the source package onto it, reset eSlick, insert SD card, press power key and F2 at the same time, and hold them until you see the screen saying updating. After it finishes, reset the device and boot up. IMPORTANT: updating a defective bootloader will result in eSlick not being able to start, and not being able to update any more.

2. kernel

Unzip eSlick-kernel-v2.0.tar.gz, make sure compiler "arm-linux-gcc 3.4.1" is installed under /usr/local/arm. Then:

make clean
make uImage

The result will be "uImage" file.

Installation: use a blank SD card, copy uImage and "update_kernel" in the source package onto it, reset eSlick, insert SD card, press power key and F2 at the same time, and hold them until you see the screen saying updating. After it finishes, reset the device and boot up.

3. file system

3.1. basic file system

Unzip eSlick-fs.tar.gz into a folder, and this folder is your eSlick file system folder. This package contains common libraries in binary form, you can build those libraries from source codes in this source package, please refer to instructions below.

3.2. BusyBox

Unzip eSlick-busybox-1.4.1_090914.tar.bz2, make sure compiler "arm-linux-gcc 3.4.1" is installed under /usr/local/arm. Then:

make clean
make

"_install" folder will be created. Copy content in this "_install" folder into eSlick file system folder.

3.3. Kernel Modules

Within the kernel source folder (as described in 2.):

make modules

Copy Usbpdc.ko, hal_s3c2440.ko, and phMscd.ko from "driver/usb/isp" to "lib/modules/usb" under eSlick file system folder. Copy s3c2440-iis.ko and uda1341.ko from "sound/s3c2440/" to "lib/modules/sound" under eSlick file system folder.

3.4. Libmad

Unzip libmad.zip, use "arm-linux-gcc 3.4.1" to compile all .c source files into .o files, and use "ar" to archive into "libmad.a".

3.5. MP3Player

Unzip mp3player.tar.gz, copy libmad.a over to the unzipped folder, run "make" to generate the file "mp3player" to "usr/mp3player/" under eSlick file system folder.

3.6. Pack file system

All components on the file system are now ready. Copy "mkfs.yaffs2" tool under the eSlick file system folder, and from there:

./mkfs.yaffs2 1 ebrRoot/ rootfs.img

The result would be the eSlick rootfs.img component.

Installation: use a blank SD card, copy rootfs.img and "update_kernel" in the source package onto it, reset eSlick, insert SD card, press power key and F2 at the same time, and hold them until you see the screen saying updating. After it finishes, reset the device and boot up.

Libraries Build Instructions

Libaries sources are packed into several packages. There are build scripts under each of them.

1. Package: gcc-4.1.0.tar.bz2

This package provides sources for the following libraries:

ld-2.3.2.so
libcom_err.so.2
libgcc_s.so.1
libstdc++.so.6.0.1
libuuid.so.1
libz.so.1.2.3

2. Package: freetype-2.1.3.tar

This package provides sources for the following library:

libfreetype.so.6.3.1

3. Package: glibc-2.3.2.tar.bz2

This package provides sources for the following libraries:

libanl-2.3.2.so
libBrokenLocale-2.3.2.so
libc.so
libc-2.3.2.so
libcrypt-2.3.2.so
libdl-2.3.2.so
libm-2.3.2.so
libmemusage.so
libnsl-2.3.2.so
libnss_compat-2.3.2.so
libnss_dns-2.3.2.so
libnss_files-2.3.2.so
libnss_hesiod-2.3.2.so
libnss_nis-2.3.2.so
libnss_nisplus-2.3.2.so
libpcprofile.so
libpthread.so
libpthread-0.10.so
libresolv-2.3.2.so
libSegFault.so
libthread_db-1.0.so
libutil-2.3.2.so

4. Package: jpegsrc.v7.tar

This package provides sources for the following library:

libjpeg.so.62.0.0

5. Package: libpng-1.2.40.tar

This package provides sources for the following library:

libpng.so.3.1.2.14

The GNU General Public License, Version 2

The GPL is the standard Free Software license. Click here to download the GPL v2.

Click here to download GNU Lesser General Public License, v2.1.