HPC.ru lite - Все форумы
Форум: КПК и смартфоны на Linux: Zaurus, планшеты Nokia, прочее
Тема: Смартфон Haier N60
Страницы: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16

[Ответить]
Невыносимый [29.05.2006 18:25] :
ВадимП
Все еще не пробовали?
Расскажете, как?
ВадимП [29.05.2006 20:12] :
Невыносимый: это можно сделать только при условии, что у Вас на настольном компьютере установлен Linux. Для windows не существует ПО, которое поддерживало бы необходимые файловые системы.
В этой ветке описано как получить доступ к "внутренностям" прошивки. Абсолютно аналогично собирается собственная прошивка - не обязательно модифицировать ее целиком, достаточно создать образ одной-единственной фс. Например, корневой. А потом, чтобы не перепрошивать устройство каждый раз для установки дополнительной программы, можно просто один раз собрать новую прошивку, включив в PATH директории с флешки и DiskOnChip, и добавить в сценарий автомонтирования команду запуска определенной команды при монтировании флешки.
ВадимП [30.05.2006 07:43] :
В дополнение к написанному:
К сожалению, старый сценарий монтирования файловых систем прошивки не будет работать с новой версией - смещения в ней изменились.
Поэтому я быстренько набросал новый сценарий, который должен по идее, наверное, работать с любой прошивкой - смещения в нем не прописаны жестко, а берутся из самого файла прошивки. У меня не было особо ни времени, ни желания его проверять, но я полагаю, что он должен уметь монтировать любую версию (если я там впопыхах не ляпнул какую-нибудь ошибку). Почти наверняка он должен успешно смонтировать все файловые системы содержащиеся в предыдущих вариантах прошивок.
Привожу его здесь и прошу сильно не пинать - писал на скорую руку, не особо задумываясь:
#!/bin/bash

#
# Смещения в файле заголовка:
# номер версии (2 байта) - 0x00
# номер раздела (1 байт) - 0x02
# длина раздела (4 байта) - 0x06 + 0x10*i
# смещение от начала файла до начала раздела - 0x0a + 0x10*i
#

# массив разделов

Part[0]=Bootloader
Part[1]=Kernel
Part[2]=TAT_Code
Part[3]=RootFS
Part[4]=GUI_System
Part[5]=GUI_System_Disk
Part[6]=GUI_Application_Disk
Part[7]=Movie
Part[8]=TAT_Table
Part[9]=LOGO

# подпрограмма извлечения значений из файла
get_value() {
value=`od -l -An -N$2 -j $1 $filename`
let $3=value
}

# выбрать имя файла прошивки

if [ x$1 == x ]; then
filename=russia_full_writable_package_alpha_1.0.31_060406.img
else
filename=$1
fi
[ -f $filename ] || exit 254

# проверить версию заголовка

get_value 0x00 2 version
if [ $version != 257 ]; then
echo '*** Ошибка - новая версия заголовка'
exit 255
fi

# уничтожить ненужные переменные

for ((i=0;i<10;i++)); do unset ${Part[i]}; done

# разобрать заголовок файла

for ((i=0x02;i<=0x92;i+=0x10)); do
get_value $i 1 NumPart
if [ $i -gt 2 -a $NumPart == 0 ] ; then break; fi
get_value `expr $i + 4` 4 ${Part[$NumPart]}_len
get_value `expr $i + 8` 4 ${Part[$NumPart]}_off
# напечатаем названия разделов, их смещение и длину
PartName=${Part[$NumPart]}
eval Length=\$${PartName}_len
eval Offset=\$${PartName}_off
echo $PartName $Offset $Length
done

# почиститься после исполнения этого файла в прошлом

silent="&> /dev/null"
eval umount ./RootFS/System $silent
eval umount ./RootFS/Sysdisk $silent
eval umount ./RootFS/Appdisk $silent
eval umount ./RootFS $silent
eval rmmod blkmtd $silent
eval losetup -d /dev/loop0 $silent
eval losetup -d /dev/loop1 $silent
eval losetup -d /dev/loop2 $silent
eval losetup -d /dev/loop3 $silent

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

if [ ! -d ./RootFS ]; then
if [ -a ./RootFS ]; then rm -f RootFS; fi
mkdir RootFS
fi

# монтировать всё

[ x$RootFS_off != x ] && mount -o loop,offset=$RootFS_off $filename ./RootFS
[ x$GUI_System_off != x ] && losetup -o $GUI_System_off -s $GUI_System_len /dev/loop1 $filename
[ x$GUI_System_Disk_off != x ] && losetup -o $GUI_System_Disk_off -s $GUI_System_Disk_len /dev/loop2 $filename
[ x$GUI_Application_Disk_off != x ] && losetup -o $GUI_Application_Disk_off -s $GUI_Application_Disk_len /dev/loop3 $filename
[ -b /dev/mtdblock0 ] || mknod /dev/mtdblock0 b 31 0
[ -b /dev/mtdblock1 ] || mknod /dev/mtdblock1 b 31 1
[ -b /dev/mtdblock2 ] || mknod /dev/mtdblock2 b 31 2
modprobe blkmtd erasesz=128,64,128 device=${GUI_System_off:+/dev/loop1,}${GUI_System_Disk_off:+/dev/loop2,}${GUI_System_Disk_off:+/dev/loop3}
if [ x$GUI_System_off != x ]; then
[ -d ./RootFS/System ] || mkdir ./RootFS/System
mount -t jffs2 /dev/mtdblock0 ./RootFS/System
fi
if [ x$GUI_System_Disk_off != x ]; then
[ -d ./RootFS/Sysdisk ] || mkdir ./RootFS/Sysdisk
mount -t jffs2 /dev/mtdblock1 ./RootFS/Sysdisk
fi
if [ x$GUI_Application_Disk_off != x ]; then
[ -d ./RootFS/Appdisk ] || mkdir ./RootFS/Appdisk
mount -t jffs2 /dev/mtdblock2 ./RootFS/Appdisk
fi
Невыносимый [30.05.2006 13:04] :
ВадимП
До установки Linux на стационарный компьютер дошел своими мозгами, ибо попытавшись редактировать *.img файл WinImage'м и Isobuster'ом получил пшик.
Вырезал кусочек на 200-ке, поставил fedora Core 3, поглазел... Прикольная штука. Audigy2 установила сразу, а вот 6600GT- нет.
Сегодня постараюсь цепнуть прошивку, о последствиях сообщу
Нужно еще разобраться сначала с Linux настольной, с чем это едят.
Интересно, смогу я, и через сколько лет переделать класс клавиатуры? Задолбало использовать 3 (!) виртальных клавиатуры вместо 2, как на windows, Simbyan и Palm!!

ВСЕМ! На Мегафоне весь вечер отлично проработал Java MIDP1.0 мидлет WebViewer3.5 - http://www.java2phone.ru/prog/14 .
Т.ч. Инет нормальный теперь есть, аська есть (см. выше). Остальное не так критично.
Невыносимый [30.05.2006 13:19] :
Из переписки с администратором "Вопросов и ответов" Haier'a:
Невыносимый [ 2006-05-26 ] :

Почему уважаемый администратор позволяет себе не отвечать на мои вопросы?
Чтобы не возвращаться к ним перечислю пока не решенные самостоятельно и возникшие позднее:
17. Почему ни производитель, ни торговый представитель не выкладывают к свободному доступу и не высылают по первому требованию исходный код основанной на Linux операционной системы? Это противоречит GPL.
Что скажет производитель, когда его лишат этой лицензии?
16. Планируется ли открыть возможность установки программ под эту ОС, или дело так и ограничится Java-приложениями?
15. Блокнот не позволяет ввести более 100 символов.
9. Планируется ли создать вместо тех виртуальных клавиатур 2, qwerty- и йцукен-?
3. Планируется ли сделать данную ОС многозадачной, как во всех смартфонах, или Haier N60 так и останется простым OS-Based телефоном?
Заранее спасибо за Ваши ответы!

Администратор [ 2006-05-29 ] :

Мы отвечаем на Ваши вопросы по мере возможности.
17. К сожалению, мы не можем ответить на Ваш вопрос.
16. Не планируется.
15. Спасибо. Информация о недостатке передана производителю.
9. Предожение принято к рассмотрению.
3. Не планируется вносить изменения в существующую ОС.

Ну как тут не заплакать? ))))))))
ВадимП [30.05.2006 20:46] :
Кстати, кто-нибудь обратил внимание, что в прошивку включены три игры на java и еще одна программа (судя по всему игровая), которая отсутствует в меню?
ВадимП [30.05.2006 22:49] :
Рекомендую пользоваться не бесполезным 8*#020*, а гораздо более информативным 8*#018*
ВадимП [05.06.2006 13:59] :
Поскольку возникают вопросы о сервисных кодах, выкладываю тут список известных мне:

8***### self-test
8*#000* Change to un-FTA version after restart!
8*#001* Change to FTA version after restart!
8*#018* System Version kernel : [%d.%d.%d] bootloader : mFone : [%s] rootfs :
8*#019* GSM Version GSM : %s CMS :
8*#020* System Info Version : N60-R006-RUS
8*#099* Software Info Smart Phone V1.0
8*#102* current voltage
8*#110* Close console print!
8*#111* Open console print!
8*#112* ebook REG_OPENFILE /mars/sysdisk/mcs/mcslog.txt

Просто так, хоть это и вряд ли кому интересно, приведу содержимое некоторых файлов из /proc:
Вот интересно, на кой они включили поддержку nfs???
Невыносимый [05.06.2006 14:34] :
Для поддержки Unix'овых разделов по сети, вероятно. В саму ОС закладывают возможность заранее поддерживать работу в сети.
ВадимП, не знаете, можно ли сделать данную ОС многозадачной? У кого-нибудь есть motorola на Линуксе? Она многозадачна? Такое впечатление, что клавиши Отбой и Домой уж слишком дублируют друг друга. Может на Домой должна быть повешена функция task-менеджера?
ВадимП [05.06.2006 14:57] :
А она и так многозадачная.
Вот результат выполнения ps ax на этом телефоне:
Насчет возможностей графической оболочки, правда, я ничего сказать не могу, но к многозадачности ОС это особого отношения не имеет.
Кстати, в разделах флеш-памяти есть куча пустого места так что можно разместить там еще достаточное количество дополнительных приложений.
(я говорю, "в разделах", а не "в файловых системах" потому что там фс не занимают полностью всё пространство раздела - они меньше)
[Ответить]
[< Назад]  [Вперед >]