  | 
				GP2X Community Новостной форум посвященный консолям GP2X   
				 | 
			 
		 
		 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		EugeneP
  Местный
  
 
   Возраст: 44 Зарегистрирован: 04.06.2009 Сообщения: 171
  Группы:  
 
  | 
		
			
			 
			
				
  | 
			 
			
				Вступление
 
 
Это первая статья из планируемого цикла "Wiz глазами линуксоида". Автор не является заядлым геймером и гейм девелопером, более того Wiz - первый хэндхэльд который автор держит в руках со времён "Ну погоди" и "Весёлого повара." Однако, как относительно опытный пользователь линукса, автор надеется забраться поглубже в недра Wiz-а, и выйти в своих обзорах за рамки "пришло - вскрыл коробку - скачал эмуль - работает/не работает - залил кино - играет / не играет"
 
 
Многое из того что автор опишет, возможно, будет скучно и банально для опытных "портативных" разработчиков, и многое же будет непонятно и "не нужно" рядовым геймерам. Понимая это, автор с благодарностью примет любые комментарии и поправки, а так же с радостью прокомментирует любые тёмные места.
 
 
Итак,
 
 
~ # cat /proc/cpuinfo
 
... | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		EugeneP
  Местный
  
 
   Возраст: 44 Зарегистрирован: 04.06.2009 Сообщения: 171
  Группы:  
 
  | 
		
			
			 
			
				
  | 
			 
			
				Идут первые недели существования Виза в "дикой природе", с приставкой нам достаётся кабель для подзарядки от USB и диск с абсолютно ненужным мануалом.
 
Вопрос: что мы можем узнать о нутре Виза?
 
Ответ: Почти всё, ведь внутри полноценный линукс и бизибокс, правда пока (пока нет поддержки сети и терминального режима через кабель) нам доступен лишь один способ взаимодействия с консолью: записать шелл скрипт на карточку, и запустить его с этой карточки на приставке, а потом изучить логи. Это несколько муторно, но по сути мало отличается от интерактивной консоли.
 
 
Поехали!
 
 
 	  | Код: | 	 		  #!/bin/sh
 
LOG="$(pwd)/log.txt"
 
echo "** CPUINFO:" > $LOG
 
cat /proc/cpuinfo >> $LOG 
 
echo "** MOUNTS:" >> $LOG
 
cat /proc/mounts >> $LOG
 
echo "** MOUNT INFO:" >> $LOG
 
mount >> $LOG
 
echo "** DEV:" >> $LOG
 
ls -al /dev >> $LOG
 
echo "** ENV:" >> $LOG
 
env | sort >> $LOG 
 
echo "** PROC:" >> $LOG
 
ls -al /proc >> $LOG 
 
echo "** PS:" >> $LOG
 
ps aux >> $LOG
 
cd /usr/gp2x
 
exec ./gp2xmenu | 	  
 
 
Весь лог вы можете посмотреть в присоединённых файлах, мы же откомментируем избранные места:
 
 
** CPUINFO:
 
Processor	: ARM926EJ-S rev 5 (v5l)
 
BogoMIPS	: 263.78
 
Features	: swp half thumb fastmult edsp java 
 
CPU implementer	: 0x41
 
CPU architecture: 5TEJ
 
 
Вот и первый сюрприз: Features: java, ведь это означает возможность аппаратной интерпритации ява-кода, не так ли? Интересная перспектива.
 
 
** MOUNT INFO:
 
ubi0:rootfs on / type ubifs (rw)
 
/proc on /proc type proc (rw)
 
sysfs on /sys type sysfs (rw)
 
none on /dev/pts type devpts (gid=5,mode=620)
 
/dev/mtdblock2 on /mnt/nand type vfat (ioCHARSET=cp1251)
 
/dev/mmcblk0p1 on /mnt/sd type vfat (ioCHARSET=cp1251)
 
/dev/root on / type ext2 (rw)
 
 
Корневая ФС лежит поверх ubifs, что сильно продлит жизнь флэш-памяти, это замечательно, однако юзерский гигабайт на /dev/mtdblock2 - обычный FAT  
 
Кодировка имён файлов - UTF-8, это радует, значит мы не будем иметь неразрешимых проблем с национальными символами на этом уровне.
 
 
** DEV:
 
drwxr-xr-x   15 root     root            0 Jun  9 22:37 .
 
drwxr-xr-x   16 root     root         1120 Jun  5 01:45 ..
 
lrwxrwxrwx    1 root     root            9 Jan  1  1970 dsp -> sound/dsp
 
lrwxrwxrwx    1 root     root            4 Jan  1  1970 fb0 -> fb/0
 
crw-rw----    1 root     root     249,   0 Jan  1  1970 ga3d
 
lrwxrwxrwx    1 root     root           11 Jan  1  1970 mixer -> sound/mixer
 
lrwxrwxrwx    1 root     root           10 Jan  1  1970 mouse -> input/mice
 
 
Вся сила линуксовых интерфейсов с нами  
 
 
brw-rw----    1 root     disk      31,   0 Jan  1  1970 mtdblock0
 
brw-rw----    1 root     disk      31,   1 Jan  1  1970 mtdblock1
 
brw-rw----    1 root     disk      31,   2 Jan  1  1970 mtdblock2
 
 
А вот три раздела встроенной флэш-памяти: загрузочный блок, корневая ФС, юзерская зона.
 
 
** ENV:
 
DISPLAY=:0
 
HOME=/root
 
HOSTNAME=wiz
 
LANG=en_US.UTF-8
 
LC_ALL=de_DE.utf8
 
LD_LIBRARY_PATH=./:/lib:/usr/local/lib:/usr/lib
 
LD_PRELOAD=/lib/libiconv_plug.so
 
LOGNAME=root
 
OLDPWD=/root
 
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
 
PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/X11R6/lib/pkgconfig
 
PS1=\u@\h:\w\$ 
 
PWD=/mnt/sd
 
SHELL=/bin/sh
 
TERM=vt100
 
TSLIB_CONFFILE=/etc/tslib/ts.conf-input
 
TSLIB_TSDEVICE=/dev/input/event0
 
USER=root
 
 
Причина то ли для радости то ли для расстройства: всё запускается от рута и имет полный доступ ко всему устройству. Страшновато   Старшие товарищи, правда, говорят, что это тут традиции такие...
 
Переключение локали реализовано грамотно, на уровне gettext и пременных окружения - с локализацией будет минимум проблем.
 
DISPLAY ? X11R6 ?? На консольке явно нет иксов. Это, видимо, остатки "большой" системы которая путём урезания ненужного впихивалась в виз.
 
 
** PROC:
 
...
 
/proc следует изучить отдельно, однако конфигурация ядра (config.gz) отсутствует. Жаль...
 
 
** PS:
 
  PID  Uid     VmSize Stat Command
 
    1 root        532 S   init [3]   
 
    2 root            SW< [kthreadd]
 
    3 root            SW< [ksoftirqd/0]
 
    4 root            SW< [events/0]
 
    5 root            SW< [khelper]
 
   39 root            SW< [kblockd/0]
 
   43 root            SW< [kseriod]
 
   65 root            SW  [pdflush]
 
   66 root            SW  [pdflush]
 
   67 root            SW< [kswapd0]
 
   68 root            SW< [aio/0]
 
  200 root            SW< [mtdblockd]
 
  201 root            SW< [nftld]
 
  215 root            SW< [ubi_bgt0d]
 
  216 root            SW< [ubiblockd]
 
  223 root            SW< [kidle_timeout]
 
  231 root            SW< [kmmcd]
 
  241 root            SW< [ubifs_bgt0_0]
 
  266 root        456 S < /sbin/udevd --daemon 
 
  631 root        880 S   -sh 
 
  670 root            SW< [mmcqd]
 
  693 root        876 S   /bin/sh ./examine1.gpe 
 
  720 root        444 S   /usr/gp2x/gpid.gpu 
 
  735 root        928 R   ps aux 
 
 
Хм... "SW<" это драйвера наверно. Демоны: udev и какой-то /usr/gp2x/gpid.gpu
 
 
Выводы
 
Устройство крайне перспективно. Медиаплеер и платформа для эмуляции - это десятая часть возможностей виза, практически перед нами полноценный компьютер много мощнее техники на которй мы начинали.
 
Но, позволим себе повторится, с точки зрения безопасности, устройство являет собой одну большую дыру.
 
 
Скрипт и лог: WbEoL-01.tar.gz
 
 
to be continued...
  Последний раз редактировалось: EugeneP (Ср Июн 10, 2009 5:46 am), всего редактировалось 3 раз(а) | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		Hahahoj
  Site Admin
  
  Пол:    Возраст: 52 Зарегистрирован: 08.10.2008 Сообщения: 1848
  Группы:  
 
  | 
		
			
			 
			
				
  | 
			 
			
				В скрипте log.txt надо везде заменить на ./log.txt, чтобы не искать этот лог потом, а взять из скриптовой папки.  
 
Если кому интересно и для сравнения - отдельные моменты лога снятые с GP2X МК2 с прошивкой 2.1.2:
 
 
l** CPUINFO:
 
Processor	: Arm920Tid(wb) rev 0 (v4l)
 
BogoMIPS	: 99.32
 
Features	: swp half thumb 
 
Hardware	: MagicEye-MDK
 
 
Что интересного - параметр BogoMIPS, который является в какой-то мере мерилом производительности системы, поскольку при его подсчете считается не только частота проца, но и работа кеша. Можно подсчитать, что в неоптимизированных под конкретную консоль приложениях Виз работает в 2,66 раз шустрее чем GP2X F-серий. Так же видим, что нет трех параметров: fastmult edsp и той самой java 
 
 
** MOUNT INFO:
 
rootfs on / type rootfs (rw)
 
/dev/root on / type yaffs (rw,sync,noatime)
 
none on /dev type devfs (rw)
 
none on /tmp type tmpfs (rw)
 
none on /proc type proc (rw)
 
/dev/mtdblock/4 on /mnt/yaffs type yaffs (rw,sync,noatime)
 
/dev/loop/7 on /mnt/nand type vfat (rw,sync,noatime)
 
/dev/discs/disc0/part1 on /mnt/sd type vfat (rw,sync,noatime)
 
 
Здесь видим одно единственное, имхо, существенное отличие: в качестве системы для корневого раздела на GP2X используется самая первая ФС для работы на флехах - yaffs
 
Ну, и никаких признаков кодировки имен файлов.
 
 
В разделе DEV у GP2X F-серий тоже много разного мусора, но нет 3d-визуализации вроде ga3d Дальше ничего особо интересного не нашел.
 
 
Лог файл:
 
http://wiz.rusbase.net/forum/files/hello/log.txt
 
 
GPE-батник:
 
http://wiz.rusbase.net/forum/files/hello/log_gp2x_MK2.gpe
 
 
Определение локали на Wiz: /usr/gp2x/common.ini:
 
[main] language=es_ES _________________ Просто Вовк
  Последний раз редактировалось: Hahahoj (Вс Сен 04, 2011 3:29 pm), всего редактировалось 1 раз | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		Don Miguel
  Профи
  
 
   Возраст: 75 Зарегистрирован: 02.11.2008 Сообщения: 27
  Группы:  
 
  | 
		
			
			 
			
				
  | 
			 
			
				Сразу понял, что линуксоид. Заче так извиняешься то? по гбх постам все видно.
 
 
Но ты очень толково расписал. просто замечательно.
 
Я вот просто линух юзер... не больше. Настроят - а я юзаю и компилю  ) 
 
увы.. у меня были до ПК времена.. похлеще... так что... не хочу тратить время на погружение в линух. И не могу  )
 
посему просто благодарен тебе.
 
может еще цикл напишешь подобного.. по-моему, это очень полезно
 
 
еще раз спасибо | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		EugeneP
  Местный
  
 
   Возраст: 44 Зарегистрирован: 04.06.2009 Сообщения: 171
  Группы:  
 
  | 
		
			
			 
			
				
  | 
			 
			
				 	  | Don Miguel писал(а): | 	 		  Сразу понял, что линуксоид. Заче так извиняешься то? по гбх постам все видно.
 
...
 
может еще цикл напишешь подобного.. по-моему, это очень полезно
 
...
 
 | 	  
 
 
Пожалуйста     Для меня это тоже интересный новый опыт - ARM, портативный девайс, тачскрин...
 
 
Планирую продолжать обязательно. Только определюсь какую тему дальше взять. На выбор много чего:
 
 
- Анализ /proc, модулей, драйверов (продолжение этого поста)
 
- Выцеплпние прошивки, разбор содержимого корневой ФС, рассуждение о резервном копировании  (продолжение топика на GBX)
 
- Локализация прошивки и приложний (продолжение топика на GBX)
 
- "Как оно работает?" - разбор работы прошивки на верхнем уровне. Старт - пуск приложения - выключение. Возможные усовершенствования.
 
- Линуксовые хэндхэльды: Виз, ГПх, Динго - параллели, возможности единого подхода (потребуется помощь владельцев девайсов)
 
- Пространные рассуждения о методах ввода на устройствах с малым числом кнопок/ тачскрином (и ругань разработчиков за извраты и отсутствие единого подхода)
 
- Линукс девайс как система: многозадачность, межпроцессовое взаимодействие, безопасность, потенциал.
 
- Возможные интересные применения Виза (внешний джойстик с интеллектом, графический планшет и т.п.)
 
 
Ещё хочу написать про Феникс малёк.
 
 
Подготовка каждого топика - дня два-три, если какая тема больше глянется народу ( да, вам, четверым  активным    ) то с неё и начну. | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		Admin
  Site Admin
  
 
   Возраст: 52 Зарегистрирован: 07.10.2008 Сообщения: 13
  Группы: Нет
 
  | 
		
			
			 
			
				
  | 
			 
			
				- Анализ демонов, модулей и драйверов
 
- Локализация прошивки и приложений (продолжение топика на GBX) 
 
затем по читалкам / букридерам, далее Феникс и руссификация Феникса. | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		btGrave
  Постоялец
  
  Пол:    Возраст: 79 Зарегистрирован: 10.11.2008 Сообщения: 15
  Группы: Нет
 
  | 
		
			
			 
			
				
  | 
			 
			
				Вообще читать шибко интересно, жду различных продолжений сабжа. _________________ Let the chainsaw sing and cut them half!!! | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
	
	
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы
  | 
   
 
 
 
  
Powered by phpBB © 2001, 2005 phpBB Group
 
  
		 |