首页 > eink设备 > 如何修改翰林V3的固件

如何修改翰林V3的固件

首先说明什么是翰林V3:这是一款使用E-ink的电子书阅读设备。
如果你不知道这个东西是什么,那么本文剩下的部分可以不用看了。

本来这个主题是要写如何修改翰林V3的显示字体,因为宋体显示中文还可以,但是英文简直是惨不忍睹。结果花了不少的功夫把宋体焕成了雅黑之后,今天早上去论坛看看,却发现翰林很适时地推出了一款新的固件,可以自由选择书籍显示的字体。详细的介绍也有人贴了出来。所以就把标题改成了“如何修改翰林V3的固件”。因为我所作的工作也就是修改了一下固件而已。

首先需要声明:修改固件存在风险,请务必先备份阅读器上的重要数据,并且准备好官方固件,准备吃后悔药。同时修改的固件可能会导致阅读器无法开机甚至无法恢复,请自行担负其风险,本人对此不负责。

OK,现在开始正题。

首先你需要一些工具。必需的第一个东西是Linux操作系统,我使用Debian,因此下面的介绍均以Debian为例。
在你的Linux上面请保证有下列的程序或者包:
hg (Mercurial Distributed SCM) 或 git (Fast Version Control System)
gcc
dd
mtd-tools (for mkfs.jffs2)
mkcramfs

在Debian上可以执行下列的一串命令来确保它们都在:
$su
#apt-get install mercurial
#apt-get install git-core
#apt-get install gcc-4.1
#apt-get install mtd-tools
#apt-get install mkcramfs

然后你需要一个项目的源代码,OpenInkpot。目前可以通过hg或者git获得,但是hg不久就会停止。获取方式主页上面有。目前可以用这个命令:
$ hg clone http://hg.openinkpot.org/trunk openinkpot-trunk

获取到代码之后,不需要编译整个项目,否则你需要花掉几十个小时外加十多GB的磁盘。你所需要的只是进入到目录utils/mkv3update当中,执行
$ CC=gcc make
即可获得一个mkv3update的程序。这个程序将用来生成我们修改过的翰林v3固件。

把这个mkv3update程序,连同utils/mkv3update/scripts目录下面的firmeware_unpack.sh文件一同拷贝到某个地方。

下一步的工作就是找到你要修改的原始固件。通常就是V3update.bin文件,把它也拷贝到上面两个程序所在的目录。

将下面的代码写入一个脚本程序,例如patch-v3-update:

–脚本开始–

#! /bin/bash

if [ ! -e V3update.bin ]; then
    echo No Hanlin firmware \(V3update.bin\) present.
fi

if [ -e V3update.bin.patch ]; then
    rm V3update.bin.patch
fi

if [ -d tmp ]; then
    umount tmp/root_fs
    rm -r tmp
fi

mkdir tmp
mkdir tmp/root_fs
mkdir tmp/root_fs_patch
# mkdir tmp/ro_fs

. ./firmware_unpack.sh V3update.bin tmp

mount -o loop tmp/root.fs tmp/root_fs
cp -a tmp/root_fs/* tmp/root_fs_patch

if [ -e ./do-patch-rootfs ]; then
    . ./do-patch-rootfs
else
    echo You do not have do-patch-rootfs script.
fi

mkcramfs tmp/root_fs_patch/ tmp/root.fs.patch

./mkv3update –write-hanlin=V3update.bin.patch tmp/zImage tmp/ro.fs tmp/root.fs.patch tmp/logo tmp/jffs2.fs

–脚本结束–

注意脚本当中标红色的部分。将这部分作为分界线,脚本的前面部分就做了众多的解开V3update.bin,并且将其中内容解到一个tmp/root_fs_patch的目录当中的工作,你可以把这部分单独拷贝出来执行。执行之后,到tmp/root_fs_patch/root/下面看看,这就是翰林V3当中的文件系统结构。在这个目录当中,你可以随意修改其中的内容,当然包括tmp/root_fs_patch/root/fonts/truetype当中的字体文件。

修改完毕之后,即可执行红色部分之后的命令,这些命令把修改过的文件打包生成一个新的文件文件,称为V3update.bin.patch。只要将其拷贝到SD卡的根目录,然后重命名为V3update.bin,即可按照翰林V3正常的固件省级方式进行升级。

经过我的实验,只要将其中的simsun.ttc/simsun.ttf文件一起删除,然后用msyh.ttf拷贝到其中,重命名为simsun.ttf,再建立软链接simsun.ttc指向它,即可实现书架和默认的chm,txt,wol文件都使用雅黑字体了。

如果你想将工作自动化,直接在patch-v3-update脚本的相同目录下面写一个do-patch-rootfs的脚本,就可以自动由该脚本调用了。

自己做了一个翰林V3的一经替换了雅黑字体的固件,基于翰林最近的2008-04-25版本,目前用起来还没有任何的问题。

  1. Yao Ke
    2008年5月1日02:27 | #1
    用sudo好点,除了多敲几个字符.
  2. 卡修 本
    2008年5月3日02:27 | #2
    我最近在学习unix下的shell编程,早知道你这个也这么牛,应该让你指点指点的
  3. No name
  4. No name
    2008年8月16日02:27 | #4

    Welcome to enter (wow gold) and (wow power leveling) trading site, (Rolex) are cheap, (World of Warcraft gold) credibility Very good! Quickly into the next single! Key words directly to the website click on transactions!

  5. No name
    2008年8月25日02:27 | #5

    Amberdigital Branch,Southern Stars Enterprises Co is specializing in the development and manufacturing of mp4 advertisement players, SD card players and advertisement LCD displays. Established in 1996, we have explored and developed the international market with professionalism. We have built a widespread marketing network, and set up a capable management team dedicated to provide beyond-expectation services to our customers.

    amberdigital Contact Us
    Southern Stars Enterprises Co (Hong Kong Office)
    Add:3 Fl, No.2, Lane 2, Kam Tsin Tsuen, Sheung Shui, Hong Kong
    Tel:+852 2681 4099
    Fax:+852 2681 4586

    Southern Stars Enterprises Co (Shenzhen Office)
    Add:DE, 16/F, Building 2, Nanguo Tower, Sungang Road, Shenzhen, China
    Tel:+86 755 2592 9100
    Fax:+86 755 2592 7171

    E-mail:sstar@netvigator.com
    website:http://www.amberdigital.com.hk
    alibaba:amberdigital.en.alibaba.com[aibhfddcehbcfa]

  6. No name
    2008年9月14日02:27 | #6

    To the global wow gold the cheapest wow power leveling under the cheapest single-site! -74866073775812

  7. 2010年2月8日18:03 | #7

    apt-get install mercurial
    要加sudo~~~~

  1. 本文目前尚无任何 trackbacks 和 pingbacks.