KindleTool - создание установочных пакетов

 
Libroom Forum IndexAmazon KindleПрограммы для Kindle
AuthorMessage

kaznelson
Член клуба The eBook

Член клуба The eBook



Joined: 08 Jun 2007
Posts: 4642


Location: Москва

Posted: 11.09.2013 15:02    

KindleTool

Программа предназначена для создания установочных пакетов со всевозможными хаками. Совместима со всеми моделями Kindle.

Домашняя тема: mobileread.com (самые свежие тестовые версии)
Авторы программы: yifanlu/NiLuJe


Важно:
· Для установки своих пакетов необходим JailBreak: K3 / K4 / K5
Собственно, сам JailBreak является публичным ключом, а его приватную часть содержит программа KindleTool. Именно наличие правильной (с точки зрения устройства) подписи и позволяет устанавливать на Kindle разнообразные хаки.


Установка

1) Скачайте версию под свою ОС.
К примеру, под Windows удобнее использовать mingw-версию - она не требует дополнительных библиотек.

2) Извлеките из архива файлы README и kindletool<.exe>

3) Положите их в любую удобную для вас папку.

4) Внимательно прочитайте README и пользуйтесь.


Применение

Данная программа не имеет графического интерфейса, и работает из командной строки.
Запуск типичных задач по созданию удобнее автоматизировать с помощью cmd-файлов. К примеру так:
kindletool create ota2 -d kindle5 install.sh file.tar.gz file.jar update_pack_k5_install.bin

В данном случае запускается процесс создания (create), для устройств новее К3 (ota2), а конкретно - для КT/PW/PW2 (-d kindle5). При этом в состав пакета включается установочный скрипт, который собственно и выполняет процесс установки на самом устройстве (install.sh), и произвольное число дополнительных файлов (file.tar.gz и file.jar). Завершает всё задание имени будущего пакета (update_pack_k4x_install.bin).

Для написания установочного скрипта (install.sh) требуются хотя бы базовые навыки по командной строке Linux. Впрочем, всегда можно разобрать какой-нибудь готовый бинарник, и посмотреть - как это работает.

К примеру, так делается запрет обновлений по воздуху :

Code:
#!/bin/sh
#
# Based from NiLuJe scripts.
#

_FUNCTIONS=/etc/rc.d/functions
[ -f ${_FUNCTIONS} ] && . ${_FUNCTIONS}

# ========= Variables ===========

INST_LOG="/mnt/us/disable_ota_install.log"
HR_REG="/etc/todo/handler_registry.conf"
HR_BAK="/etc/todo/handler_registry.conf.bak"

# ========== Logging ============

MSG_SLLVL_D="debug"
MSG_SLLVL_I="info"
MSG_SLLVL_W="warn"
MSG_SLLVL_E="err"
MSG_SLLVL_C="crit"
MSG_SLNUM_D=0
MSG_SLNUM_I=1
MSG_SLNUM_W=2
MSG_SLNUM_E=3
MSG_SLNUM_C=4
MSG_CUR_LVL=/var/local/system/syslog_level

logmsg()
{
    local _NVPAIRS
    local _FREETEXT
    local _MSG_SLLVL
    local _MSG_SLNUM

    _MSG_LEVEL=$1
    _MSG_COMP=$2

    { [ $# -ge 4 ] && _NVPAIRS=$3 && shift ; }

    _FREETEXT=$3

    eval _MSG_SLLVL=\${MSG_SLLVL_$_MSG_LEVEL}
    eval _MSG_SLNUM=\${MSG_SLNUM_$_MSG_LEVEL}

    local _CURLVL

    { [ -f $MSG_CUR_LVL ] && _CURLVL=`cat $MSG_CUR_LVL` ; } || _CURLVL=1

    if [ $_MSG_SLNUM -ge $_CURLVL ]; then
        /usr/bin/logger -p local4.$_MSG_SLLVL -t "ota_install" "$_MSG_LEVEL def:$_MSG_COMP:$_NVPAIRS:$_FREETEXT"
    fi

    [ "$_MSG_LEVEL" != "D" ] && echo "OTA_install: level $_MSG_LEVEL: $_MSG_COMP: $_FREETEXT" >> ${INST_LOG}
}

# ======== Progress bar =========

update_progress_bar()
{
    lipc-send-event com.lab126.blanket.ota otaSplashProgress -i "$1"
}

# ========== Install ============

update_progress_bar 0
sleep 1

echo "Start install: `date`" >> ${INST_LOG}

update_progress_bar 20
sleep 1

if [ -f ${HR_REG} ] && [ ! -f ${HR_BAK} ]; then
    logmsg "I" "copy" "Backup original config file (to handler_registry.conf.bak)."
    cp -f ${HR_REG} ${HR_BAK} 2>> ${INST_LOG}
        update_progress_bar 50
        sleep 1
    logmsg "I" "update" "Edit original config file (handler_registry.conf)."
    sed -i '/com.lab126.ota/ s/^/# /' ${HR_REG} 2>> ${INST_LOG}
elif [ -f ${HR_REG} ] && [ -f ${HR_BAK} ]; then
    logmsg "I" "check" "Found original and backup files. Update is skipped!"
else
    logmsg "I" "check" "Original file not found. Restoring is required!"
fi

update_progress_bar 80
sleep 1

echo "Complete install: `date`" >> ${INST_LOG}

update_progress_bar 100
sleep 1

# =========== Finish ============

return 0

 
View user's profile ^
Libroom Forum IndexAmazon KindleПрограммы для KindleAll times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© Libroom, 2021