В качестве апдейта к предыдущему посту
Oct. 2nd, 2012 06:53 pmСначала я попробовал собрать свою rootfs и скормить её родному прошивальщику. Но с ошибкой контрольной суммы был послан в пешее эротическое путешествие.
Тогда я заметил, что при подключённом USB на компе видится некий диск, объёмом примерно 200 метров. Но в системе его нет. К слову сказать с подсоединённым USB нет нужды убивать никакие процессы, система работает не засыпая.
У меня есть вся прошивка кникжи, и я понял что жёский диск используется в приложении книги (имеется в виду то для чего предназначено устройство). Это файлик cramfs.Fsk.img
Я примонтировал этот образ на своём компьютере и поглядел скрипт sony/ebook/bin/tinyhttp.sh . Это тот самый скрипт, который мы придушиваем в самом начале, чтобы получить консоль. И там была такая строка:
NUM=`grep Data /proc/mtd | awk -F: '{print $1}' | awk -Fd '{print$2}'`
/usr/local/sony/bin/mkdosfs /dev/mtdblock$NUM
Выполнив первый скрипт, я получил число семнадцать, и дальше подмонтировал /dev/mtdblock17 в /tmp/t1 . Объяснить как я понял, что именно это будет флешкой я не могу, но просто логика подсказала, что именно в этом файле должна идти инициализация пользовательских данных.
И в результате я увидел содержимое диска, которое я вижу на своём компе.
Далее, у меня был уже собранный helloworld для ARM920T. И я решил попробовать его запустить
Для справки: собирался коммандой: arm-none-linux-gnueabi-gcc -mcpu=arm920t hello.c -o hello
И тут меня ждал облом'c...
Увы... Увы... Пока что делать не знаю.
Тогда я заметил, что при подключённом USB на компе видится некий диск, объёмом примерно 200 метров. Но в системе его нет. К слову сказать с подсоединённым USB нет нужды убивать никакие процессы, система работает не засыпая.
У меня есть вся прошивка кникжи, и я понял что жёский диск используется в приложении книги (имеется в виду то для чего предназначено устройство). Это файлик cramfs.Fsk.img
Я примонтировал этот образ на своём компьютере и поглядел скрипт sony/ebook/bin/tinyhttp.sh . Это тот самый скрипт, который мы придушиваем в самом начале, чтобы получить консоль. И там была такая строка:
NUM=`grep Data /proc/mtd | awk -F: '{print $1}' | awk -Fd '{print$2}'`
/usr/local/sony/bin/mkdosfs /dev/mtdblock$NUM
Выполнив первый скрипт, я получил число семнадцать, и дальше подмонтировал /dev/mtdblock17 в /tmp/t1 . Объяснить как я понял, что именно это будет флешкой я не могу, но просто логика подсказала, что именно в этом файле должна идти инициализация пользовательских данных.
И в результате я увидел содержимое диска, которое я вижу на своём компе.
Далее, у меня был уже собранный helloworld для ARM920T. И я решил попробовать его запустить
Для справки: собирался коммандой: arm-none-linux-gnueabi-gcc -mcpu=arm920t hello.c -o hello
И тут меня ждал облом'c...
root@(none):/tmp/t1# ls Digital Editions autorun.inf database hello tmp root@(none):/tmp/t1# cp hello /tmp/ root@(none):/tmp/t1# cd .. root@(none):/tmp# ls hello t1 root@(none):/tmp# ./hello bash: ./hello: No such file or directory root@(none):/tmp# chmod +x hello root@(none):/tmp# ./hello bash: ./hello: No such file or directory
Увы... Увы... Пока что делать не знаю.
no subject
Date: 2012-10-02 03:23 pm (UTC)и при отсутствии нужной либы
что говорит?
ldd /tmp/hello
ну и
strace /tmp/hello
no subject
Date: 2012-10-02 03:40 pm (UTC)Можно попробовать статику собрать: arm-none-linux-gnueabi-gcc -static -mcpu=arm920t hello.c -o hello
no subject
Date: 2012-10-02 07:20 pm (UTC)no subject
Date: 2012-10-02 07:20 pm (UTC)no subject
Date: 2012-10-02 09:34 pm (UTC)но для теста, можно собрать и статиком.
no subject
Date: 2012-10-02 09:34 pm (UTC)no subject
Date: 2012-10-02 10:04 pm (UTC)#include
#include <stdio.h>
int main(void)
{
printf("Hello, world\n");
return 0;
}
И он не работает. Полагаю, тут засада в разнице версий либ. А тут уже секс совсем другого уровня.
no subject
Date: 2012-10-03 07:20 am (UTC)no subject
Date: 2012-10-03 09:17 am (UTC)no subject
Date: 2012-10-03 11:17 am (UTC)root@(none):/tmp# ./hello
Segmentation fault
root@(none):/tmp#
no subject
Date: 2012-10-03 11:17 am (UTC)no subject
Date: 2012-10-03 11:23 am (UTC)no subject
Date: 2012-10-03 11:57 am (UTC)Придётся пересобрать и libc под нужный cpu/arch.
Или искать другой toolchain.
Кстати, откуда инфа, что -mcpu=arm920t это подходит для PRS-505?
no subject
Date: 2012-10-03 12:00 pm (UTC)Что то типа (не помню, что там с номерами syscalls на arm - наверное тоже в asm/unistd.h):
syscall__NR_writeno subject
Date: 2012-10-03 12:02 pm (UTC)Инфа отсюда http://systemsand.me/sony-prs-300prs-505-hack/
В качестве жертвы была приобретена книга SONY PRS 300. Важно отметить, что платформа у 505 и 300 абсолютно идентичная. Внутри находится Freescale i.MXL MC9328MXLVP20 (ARM920T core, 200MHz), 64 MB RAM, 512MB Internal.Инструментарий, который понадобился — паяльный инструмент, осциллограф, логический анализатор и, естественно,PC с Linux.
no subject
Date: 2012-10-03 12:18 pm (UTC)root@(none):/tmp# ./hello
Segmentation fault
root@(none):/tmp#
Мне кажется тут нужна тяжёлая артилерия, в виде нормального компилятора, мейкфайла и библиотек. Но я даже не представляю с какого конца тут подойти...
no subject
Date: 2012-10-03 01:56 pm (UTC)Короче, нужен нормальный тулчейн (и target библиотеки, очевидно). Ж)
no subject
Date: 2012-10-03 04:34 pm (UTC)http://ebookapplications.com/
собственно http://ebookapplications.com/downloads/5
добавлено:
Хм.. бегло посмотрел это MPL_and_GPL_code
похоже это совсем не то... хотя что то полезное от туда возможно и удастся вытянуть
no subject
Date: 2012-10-03 06:02 pm (UTC)http://www.sony.net/Products/Linux/Audio/PRS-505.html
no subject
Date: 2012-10-03 07:01 pm (UTC)Правда говорят, что тулчейн собрать не удаётся.
Спасибо за ссылку и внимание к проекту.
no subject
Date: 2012-10-03 07:03 pm (UTC)>>Хм.. бегло посмотрел это MPL_and_GPL_code
А что это и чем плохо?
no subject
Date: 2012-10-03 07:21 pm (UTC)до коллекции еще одна прошивка
http://www.the-ebook.org/forum/viewtopic.php?t=14460&postdays=0&postorder=asc&start=0
http://code.google.com/p/prs-plus/downloads/list
точнее тут
http://code.google.com/p/prs-plus/source/checkout
а еще есть
http://openinkpot.org/wiki
no subject
Date: 2012-10-03 07:22 pm (UTC)ну и Киндел 3 :)
no subject
Date: 2012-10-04 04:54 am (UTC)no subject
Date: 2012-10-04 09:07 am (UTC)no subject
Date: 2012-10-04 02:21 pm (UTC)no subject
Date: 2012-10-04 03:38 pm (UTC)