?

Log in

No account? Create an account

Previous Entry | Next Entry

  Собрался я в отпуск и решил таки почитать книгу, но что-то пошло не так. Сеть книга ловила, но кричала что интернета в ней нет. Было опробовано несколько проверенных wifi-точек, но толку ноль. Тут я заметил, что и время у меня дюже странное. Любая попытка выхода в интернет заканчивалась криками браузера на недействительные сертификаты. В безуспешных поисках настройки времени нашлась лишь настройка временных зон, причем устаревших - Красноярск заявлен как +8 от UTC.
Так как лень вытаскивать из книги флешку, пользуюсь синхронизацией сетевой библиотеки FBReader, которая теперь самым наглым образом стала недоступной. Обидно, досадно, но чего это я расстраиваюсь?

Имеется:
1) Долго лежавшая без зарядки книга Nook Simply Touch
2) Устаревшая на 5 лет база временных зон
3) Сбившиеся время и дата в книге, котороы не выставить через интерфейс настроек.
4) Отсутствие на книге интернета, из-за п.3
5) Gentoo (для винды тоже применимо)

Исторически сложилось так, что книга у меня прошита прошивкой 1.2.1 и рутована, поэтому воспольземся adb, разрешенный через wifi. Как этого добиться смотрим тут: ZeroLab Nooter — Universal package for Nook Simple Touch

Поехали!

# emerge dev-util/android-tools

Подключаем книгу к wifi и обращаемся к ней по IP адресу

# adb connect 10.123.12.135
connected to 10.123.12.135:5555

Dыставляем в книге часовой пояс UTC (+0.00) и задаем время в формате unix-time, например отсюда: Unixtime конвертер

# adb shell date 1459317654

Если обратить взор на книгу - время на ней изменилось на корректное согласно UTC

Создадим папочку для бэкапа старых файлов и зайдем в нее

# mkdir oldtzones && cd oldtzones

файлы описания временных зон находятся в папке /system/usr/share/zoneinfo/, сделаем копию себе, на всякий случай

# adb pull /system/usr/share/zoneinfo/

pull: building file list...
pull: /system/usr/share/zoneinfo/zoneinfo.version -> ./zoneinfo.version
pull: /system/usr/share/zoneinfo/zoneinfo.idx -> ./zoneinfo.idx
pull: /system/usr/share/zoneinfo/zoneinfo.dat -> ./zoneinfo.dat
3 files pulled. 0 files skipped.
443 KB/s (515973 bytes in 1.136s)


Есть, три файла плюхнулись в папку. Теперь нам нужно закинуть обновленные файлы, но где их взять? Особо заморачиваться не хотелось, поэтому просто лишь разодрал apk файл программы TimeZone Fixer

unzip TimeZone+Fixer.ver.1.5.6.build.156.apk -d extracted

# cd extracted/assets/ && ls
tzdata  zoneinfo.dat  zoneinfo.idx  zoneinfo.version

Вот и наши файлики. tzdata нам не понадобится, то что забудем про него.

Теперь нам необходимо загрузить эти файлы в книгу, но раздел system доступен только для чтения. Поэтому идем в шелл

# adb shell

Посмотрим, как называется блочное устройство, монтируемое в /system:

# mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mmcblk0p2 /rom vfat rw,sync,noatime,nodiratime,uid=1000,gid=1000,fmask=0117,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,errors=remount-ro 0 0
/dev/block/mmcblk0p5 /system ext2 ro,errors=continue 0 0
/dev/block/mmcblk0p8 /data ext3 rw,nosuid,nodev,noatime,nodiratime,errors=continue,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext3 rw,nosuid,nodev,noatime,nodiratime,errors=continue,data=ordered 0 0
/dev/block//vold/179:6 /media vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block//vold/179:17 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0


Вот тут видно, что в моем случае это устройство /dev/block/mmcblk0p5 и права доступа к разделу readonly (ro), поэтому перемонтируем на запись:
(от суперпользователя)

# su

# mount -rw -o remount /dev/block/mmcblk0p5 /system

заканчиваем сеанс суперпользователя

# exit

покидаем шелл:

# exit

А теперь закидываем новые файлы

# adb push zoneinfo.idx /system/usr/share/zoneinfo/zoneinfo.idx
730 KB/s (30524 bytes in 0.040s)
# adb push zoneinfo.dat /system/usr/share/zoneinfo/zoneinfo.dat
219 KB/s (445258 bytes in 1.980s)
# adb push zoneinfo.version /system/usr/share/zoneinfo/zoneinfo.version
0 KB/s (6 bytes in 0.045s)

и перезагружаем устройство.

Вот и все! Теперь временные зоны и время в книге корректны и все сервисы работают как надо

Comments

( 1 comment — Leave a comment )
Семен
Aug. 3rd, 2019 03:36 pm (UTC)
Привет! Спасибо большое за подробное описание!
Можешь пояснить куда это надо вбивать? # emerge dev-util/android-tools
И на каком этапе остановиться если я не хочу часовые пояса менять?
( 1 comment — Leave a comment )

Profile

palachmb
Maxim Bugakov
Website

Latest Month

August 2019
S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Tags

Page Summary

Powered by LiveJournal.com
Designed by yoksel