http://wiki.openmoko.org/api.php?action=feedcontributions&user=Anv&feedformat=atomOpenmoko - User contributions [en]2024-03-28T15:31:42ZUser contributionsMediaWiki 1.19.24http://wiki.openmoko.org/wiki/Distributions/ruDistributions/ru2008-12-11T09:46:46Z<p>Anv: </p>
<hr />
<div>{{Languages|Distributions}}<br />
<br />
{| class="wikitable" style="float:right;width:200px;background-color:#FF6600;text-align:center;border-collapse:collapse;font-weight:bold"<br />
|<font color=white>Дистрибутивы</font><br />
|-<br />
! style='background-color:#333333;color:#FFFFFF'|<br />
<div align=left><br />
* <font color='#BBBBBB'>Openmoko (официальные)</font><br />
** [[Om 2008.9 с апдейтом]]<br />
** [[Om 2008.8]]<br />
** [[Om 2007.2]]<br />
** [[OpenmokoFramework|FSO]]<br />
* <font color='#BBBBBB'>Комьюнити</font><br />
** [[SHR]]<br />
** [[FDOM]]<br />
* <font color='#BBBBBB'>Другие</font><br />
** [[Qtopia]]<br />
** [[Debian]]<br />
** [[Gentoo]]<br />
** [[Android]]<br />
** [[Hackable:1]]<br />
</div><br />
|-<br />
|}<br />
Дистрибутивы Openmoko разработаны для запуска на различных мобильных платформах, главным образом ориентированы на телефоны Openmoko Inc.'s [[Neo 1973]] и [[Neo FreeRunner]]. На телефон можно установить один или несколько дистрибутивов с мультизагрузкой.<br />
<br />
Openmoko дистрибутивы будут запускаться также на [[Supported devices|other mobile devices]], а другие дистрибутивы будут запускаться на Openmoko Inc. телефонах (см. ниже).<br />
<br />
Как скачать смотрите в [[Download]], как установить смотрите в [[Flashing the Neo FreeRunner]].<br />
<br />
== О дистрибутивах ==<br />
<br />
=== Какой дистрибутив использовать? ===<br />
* Большинство начинающих пользователей считают [[FDOM]] наиболее исчерпывающим и функциональным дистрибутивом.<br />
* Если хотите "просто телефон" - используйте [[Qtopia]].<br />
* Если хотите что-нибудь разрабатывать, то используйте [[FSO]] (можно выбрать между EFL, GTK+, Qt, Java, Python или чем-то еще).<br />
* [[SHR]], [[Debian]], [[Gentoo]] и [[Android]] - для тех, кому не надо спрашивать какой дистрибутив выбрать.<br />
* Можно ежедневно отслеживать изменение в образе и обновлять его, но это уже другая история.<br />
<br />
===Статус на 9 ноября, 2008 ===<br />
* Openmoko перестает поддерживать [[Om 2007.2]], но разработчики продолжают работать над на стеком в проекте [[SHR]].<br />
* На данный момент Openmoko поддерживает ветку [[Om 2008.9 Update]], которая содержит незначительные обновления [[Om 2008.8]] (называется ASU). На базе ASU, сообщество сделало дистрибутив [[FDOM]], добавив ряд исправлений и приложений.<br />
* The trunk tip - это "base image", на котором будет основан следующий релиз. Следующий релиз может быть аннонсирован [[FSO]] - Free Smartphone.Org project. Команда [[Debian]] поддерживает ту же ветку.<br />
* Главным образом, дистрибутив Qt Extended (или [[Qtopia]]) от TrollTech ориентирован на FreeRunner.<br />
* В процессе портирование Android.<br />
<br />
<br />
=== Предупреждение ===<br />
<br />
* Стабильность для FreeRunner не означает тоже, что и стабильность, к примеру, для Debian.<br />
* Большинство дистрибутивов используют один и тот же загрузчик, ядро, драйвера и железо. Однако, низкоуровневые баги находят во всех дистрибутивах.<br />
* Большинство дистрибутивов имеют свои пакетные репозитории и плохая идея смешивать пакеты из разных дистрибутивов.<br />
* Пути для обновления могут быть не протестированы, поэтому изменение фидов может повлечь за собой поломки в системе. При смене дистрибутива, желательно полностью перепрошивать файловую систему с помощью [[dfu-util]] или использовать мультизагрузку (к примеру, sdcard или NFS).<br />
<br />
<br />
== Openmoko Inc. driven release targets ==<br />
<br />
=== Om 2008.9 ===<br />
<br />
* [[Om 2008.9 Update]]<br />
<br />
=== Om 2008.8 (ASU, April/August Software Update) ===<br />
<br />
Om 2008.8 has been started to integrate the [http://trolltech.com/products/qtopia Qtopia] stack - on X11 - with a new set of graphically pleasing applications based on the Enlightenment Foundation Libraries. ASU is the internal name and is known as Om 2008.8 upon its release on August 8, 2008. Qtopia is a more mature product than the GNOME Mobile stack and you can expect all the standard feature phone applications to work in a solid way. It uses the Qtopia phone server. Since - contrary to standard Qtopia - it does not directly use the framebuffer, non-Qt applications can safely share the screen with Qt applications.<br />
<br />
Om 2008.8 is maintained as "'''ASU-stable'''" with continuous updates.<br />
<br />
* [[Om2008.8|Om 2008.8]]<br />
* [[Downloads#Om_2008.8_images_.28ASU.29|Download > Om 2008.8 images (ASU)]]<br />
<br />
=== Om 2007.2 (GTK) ===<br />
<br />
[[Om 2007.2]] is for people who are familiar with the [http://www.gnome.org/mobile/ GNOME Mobile] initiative and who want to write applications that run on multiple devices running (parts of) GNOME Mobile. This includes Maemo, which runs on the Nokia Internet Tablets. The strength of the GTK+ stack is a UI and programming environment similar to what you run on your Linux desktop, if you’re into GNOME. The GTK+ has PIM applications based on the Evolution Data Server and runs the gsmd phone server. Although you can use them, the applications are still pretty rough und unfinished. Some people have problems with the stability of the phone server.<br />
<br />
* [[Om 2007.2]]<br />
* Availabilty: [[Download]] and [[MokoMakefile]] support for development builds<br />
* Several videos of this stack by [http://uk.youtube.com/user/freeyourphone Youtube user freeyourphone] and [http://uk.youtube.com/watch?v=U05kZfURPig&NR=1 video review by BVB Tech]<br />
This is the base-system which is installed on FreeRunner when it leaves the factory.<br />
<br />
2007.2 development driven by openmoko inc. has basically stopped and resources are allocated in favor of 2008.8, while the community currently does the effort to 'rescue' the 2007.2 telephony apps and pull them to the future middleware from FSO (see SHR).<br />
thus patches are still welcome, especially if they help development of SHR.<br />
<br />
=== FSO - freesmartphone.org ===<br />
<br />
FSO has been started to overcome the deficiencies both of the 2007.2 and the 2008.8 stack, namely to come up with an extensible framework that gives developers the infrastructure they need to create solid and exciting software products based on the Openmoko platform. An infrastructure that supports competing UIs while we can collaborate on developing services, making the framework strong . Here, the focus is on stable highlevel services that you can access from whatever language or UI that supports [http://dbus.freesmartphone.org/ dbus]. People report that despite its infancy, e.g. the phone server part in FSO is already more solid than anywhere else.<br />
<br />
It is not really intended as future release-target, but used as a 'vessel' or 'container' for the development and testing of the new, future middleware.<br />
<br />
The applications installed are intended as test-tools for the new middleware and not as fully featured, end user oriented applications. (even if it looks that way sometimes)<br />
<br />
In the words of Mickey, project manager:<br />
<br />
:"FSO is only a distro because "we can" (thanks to OpenEmbedded). Zhone is an independent UI application based on the FSO framework to facilitate testing. If you want to build own UIs or custom applications on the forthcoming Openmoko dbus service framework, then the FSO-image is a good starting point.<br />
<br />
* [[FSO]]<br />
* [http://trac.freesmartphone.org:8000/trac-example Development tracker]<br />
* Download milestone 2<br />
* [http://freesmartphone.org freesmartphone.org]<br />
* [http://shr.bearstech.com/ fso-testing and fso-unstable images and feeds] (maintained by Rod Whitby, MokoMakefile author)<br />
<br />
== Openmoko Community driven release targets ==<br />
<br />
=== SHR - Stable Hybrid Release ===<br />
<br />
Stable Hybrid Release is a combination of the middleware from FSO, some of the 2007.2 GTK software (telephony-ui, pim), and Om2008.8 that provides all of the functionality of the 2007.2 software, but with the stability of the FSO.<br />
<br />
* [[Stable Hybrid Release]]<br />
<br />
== НЕ Openmoko дистрибутивы ==<br />
<br />
These are not Openmoko (and OE) based distributions. These are an alternatives you can run on your Openmoko phones.<br />
<br />
=== Qtopia ===<br />
<br />
Дистрибутив Qtopia от [http://www.trolltech.com Trolltech], он направлен на использование готовых образов для Openmoko устройств.<br />
<br />
* [[Qtopia]]<br />
* Скачать: [http://www.qtopia.net/modules/mydownloads/viewcat.php?cid=6 Qtopia.net]<br />
<br />
=== Debian ===<br />
<br />
In the words of Joachim "nomeata" Breitner from the [http://wiki.debian.org/Teams/DebianFSO pkg-fso] team:<br />
<br />
:It’s not really a distribution in the Openmoko sense of the word, but rather a different underlying system for Openmoko distributions. At the moment, we ship the software from the FSO stack, but hopefully we’ll also have, for example, the Stable Hybrid Release software in our archive.<br />
<br />
:So for now, Debian is a different way of installing FSO, which takes more space and provides more programs :-)<br />
<br />
* [[Debian]]<br />
<br />
=== Gentoo ===<br />
<br />
* [[Gentoo]]<br />
<br />
== Features by distribution/release target ==<br />
<br />
=== Коммуникации ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=18%|2007.2 || width=18%|FSO || width=18%|Om2008.8 || width=14%|SHR || width=14%| Qt Extended || Debian<br />
|-<br />
| Телефония || {{Yes}} || {{Yes}} || {{Yes}} || N/A || {{Yes}} || {{Yes}} (1)<br />
|-<br />
| SMS || {{Yes}} || {{Yes}} || {{Yes}} || N/A || {{Yes}} || {{Yes}} (1)<br />
|-<br />
| [[GPRS]] || Не через интерфейс || Не через интерфейс || Не через интерфейс || N/A || {{No}} (3) || {{Yes}} (1)<br />
|-<br />
| WiFi || {{Yes}} || Не через интерфейс || {{Yes}} (*) || N/A || {{Yes}} || {{Yes}}<br />
|-<br />
| VoIP || ?? || ?? || ?? || ?? || ?? || {{Yes}}<br />
|-<br />
| Bluetooth || {{Yes}} || {{No}} || {{Yes}} || N/A || {{Yes}} || {{Yes}}<br />
|-<br />
| GPS || {{Yes}} (1) || {{Yes}} || {{Yes}} (1) || N/A || {{No}} || {{Yes}} (1)<br />
|-<br />
|}<br />
<br />
=== Взаимодействие с пользователем ===<br />
<br />
{| border=1 width=100% |<br />
| width=23%| || width=14%|2007.2 || width=14%|FSO || width=14%|Om2008.8 || width=14%|SHR || width=14%| Qt Extended || Debian<br />
|-<br />
| С помощью стилуса || {{Yes}} || {{Yes}} || {{Yes}} || N/A || {{Yes}} || {{Yes}}<br />
|-<br />
| С помощью пальца || Частично || Частично|| Частично || N/A || {{Yes}} || {{No}}<br />
|-<br />
| С помощью акселерометра || {{No}}|| {{No}} || {{Yes}} [[Gestures|(1)]] || N/A || {{No}} || {{No}}<br />
|-<br />
|}<br />
<br />
=== Приложения ===<br />
<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|Om2008.8 || width=14%|SHR || width=14%| Qt Extended || Debian<br />
|-<br />
| Terminal || Basic (2) || {{Yes}} || {{Yes}} (1) || N/A || {{Yes}} || {{Yes}}<br />
|-<br />
| PIM || {{Yes}} || {{No}} || {{Yes}} || N/A || {{Yes}} || {{Yes}} (1)<br />
|-<br />
| Phonebook || {{Yes}} || {{Yes}} || {{Yes}} || N/A || {{Yes}} || {{Yes}} (1)<br />
|-<br />
| Dialer || {{Yes}} || {{Yes}} || {{Yes}} || N/A || {{Yes}} || {{Yes}} (1)<br />
|-<br />
| Web Browser || {{Yes}} (1) || ? || {{Yes}} (1) || ? || {{No}} || {{Yes}} (midori)<br />
|-<br />
| Mail Client || ? || ? || {{Yes}} || ? || {{Yes}} || {{Yes}} (1)<br />
|-<br />
| XMPP Client || {{Yes}} (1) || ? || {{Yes}} [[IM#Implementation_Recommendations|(1)]] || ? || {{No}} || {{Yes}} (1)<br />
|-<br />
| Media Player || {{Yes}} || ? || {{Yes}} (1) || ? || {{Yes}} || {{Yes}} (1)<br />
|-<br />
|}<br />
<br />
=== Инструменты / среды выполнения ===<br />
{| border=1 width=100% |<br />
| width=14%| || width=14%|2007.2 || width=14%|FSO || width=14%|Om2008.8 || width=14%|SHR || width=14%| Qt Extended || Debian<br />
|-<br />
| GTK+ || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}}<br />
|-<br />
| QT/Qtopia || No || {{Yes}}? || {{Yes}} || {{Yes}}? || {{Yes}} || {{Yes}}<br />
|-<br />
| Middleware || gsmd/neod || freesmartphone.org || qtopia-x11 || freesmartphone.org || qtopia || freesmartphone.org<br />
|-<br />
| [[Java]] || Jalimo || Jalimo || Jalimo || ? || ? || {{Yes}} (CacaoVM, JamVM)<br />
|-<br />
| [[Python]] || {{Yes}} || {{Yes}} || {{Yes}} || ? || {{Yes}} || {{Yes}}<br />
|-<br />
| [[Mono]] || {{Yes}} (1) || ? || {{Yes}} (1) || ? || ? || {{Yes}} (1)<br />
|}<br />
<br />
<br />
Footnotes:<br />
<br />
(1) Работает, но требует установки дополнительного программного обеспечения.<br />
<br />
(2) Не используется по причине отсутствия некоторых символов на клавиатуре. [[Switching_Keyboards#Matchbox_keyboard|Various fixes available.]]<br />
<br />
(3) Имеет графический интерфейс, но устройство дает сбои, когда начинает использоваться.<br />
<br />
(*) Нестабильно.<br />
<br />
== External links ==<br />
<br />
Original distribution descriptions are from Mickey Lauer's [http://www.vanille-media.de/site/index.php/2008/06/28/gtk-asu-fso-tmtla/ GTK, ASU, FSO, TMTLA!].<br />
<br />
[[Category:Distributions/ru|Distributions/ru]]</div>Anvhttp://wiki.openmoko.org/wiki/User:Seanmcneil3User:Seanmcneil32008-11-30T23:09:56Z<p>Anv: /* Android on Freerunner */</p>
<hr />
<div>== Android on Freerunner ==<br />
<br />
{{Languages|Android on Freerunner}}<br />
<br />
<br />
Google has released their open source version of the Android phone software distribution. In order to use it on the Freerunner, a number of patches need to be applied and a compiler with armv4 java exception support needs to be used to compile the software.<br />
<br />
== Compiler suite ==<br />
<br />
Android is a little picky about the version of gcc compiler. It also requires some java exception support that isn't available for armv4 without a minor modification. The following tools are what I use to build Android:<br />
<br />
<br />
=== Binutils 2.18 ===<br />
<br />
At one time I had some armv5t code that was compiled into Android which would cause the linker to generate these blx instructions which fail on armv4. I'm not sure if this is still necessary, but I still have the following change applied to binutils:<br />
<br />
<pre><br />
diff -urN binutils-2.18-orig/bfd/elf32-arm.c binutils-2.18/bfd/elf32-arm.c<br />
--- binutils-2.18-orig/bfd/elf32-arm.c 2007-08-07 02:59:23.000000000 +0700<br />
+++ binutils-2.18/bfd/elf32-arm.c 2008-03-15 11:30:17.000000000 +0700<br />
@@ -3093,8 +3093,8 @@<br />
static void check_use_blx(struct elf32_arm_link_hash_table *globals)<br />
{<br />
if (bfd_elf_get_obj_attr_int (globals->obfd, OBJ_ATTR_PROC,<br />
- Tag_CPU_arch) > 2)<br />
- globals->use_blx = 1;<br />
+ Tag_CPU_arch) >= TAG_CPU_ARCH_V5T)<br />
+ globals->use_blx = 0;<br />
}<br />
<br />
bfd_boolean<br />
</pre><br />
<br />
<br />
configure --prefix={devel path}/android/cross --target=arm-eabi<br />
<br />
=== gcc 4.2.4 with gcc41-java-arm4.patch ===<br />
<br />
<br />
configure --prefix={devel path}/android/cross --target=arm-eabi --with-arch=armv4t --enable-shared --enable-threads --disable-nls --disable-libmudflap --enable-target-optspace --with-abi=aapcs --enable-multilib --disable-libssp --disable-libstdcxx --enable-languages=c,c++<br />
<br />
=== java-6-sun ===<br />
<br />
This is the standard Linux package available for most (all?) distributions.<br />
<br />
== Patches ==<br />
<br />
<br />
Coming soon. I've posted a number of them on the devel mailing list so far. Eventually, I expect to provide everything necessary for people to build Android for themselves.<br />
<br />
== Images ==<br />
<br />
I have placed an older 2.6.26 kernel with Android support at:<br />
<br />
[http://people.openmoko.org/sean_mcneil/uImage-android uImage-android]<br />
<br />
I have put up a jffs2 image that replaces rootfs on the Freerunner at:<br />
<br />
[http://people.openmoko.org/sean_mcneil/androidfs.jffs2 androidfs.jffs2]<br />
<br />
Warning!!! Installation of Android requires loading a new kernel and rootfs image onto your phone. I have not had time to produce a version that runs completely off an sdcard.<br />
<br />
== Installation ==<br />
<br />
As noted above, this installation requires you to wipe out the existing kernel and rootfs in NAND on your Freerunner. You also must have an SDCARD and it needs to be configured with two (2) primary partitions: First is VFAT/MSDOS (16 or 32) which acts as the /sdcard storage area for pictures, movies, music, etc. and the Second is an ext3 primary partition for use of internal Android /data area to store settings, caches, etc.<br />
<br />
The first thing I suggest is to setup an SDCARD. You can flash the NAND first, but you must have an SDCARD with two partitions as stated before you'll be able to boot. I use a 2GB card which I have split in half. fdisk shows me:<br />
<br />
/dev/mmcblk0p1 1 2454 996310 6 FAT16<br><br />
/dev/mmcblk0p2 2455 4908 996324 83 Linux<br />
<br />
formatted as<br />
<br />
sudo mkfs.vfat /dev/mmcblk0p1<br><br />
sudo mkfs.ext3 /dev/mmcblk0p2<br />
<br />
There is no need to populate the ext3 partition at all. The VFAT partition can be populated with media content if you so desire.<br />
<br />
With your SDCARD all set, you are ready to flash the kernel and rootfs:<br />
<br />
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a kernel -D uImage-android<br><br />
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a rootfs -D androidfs.jffs2<br><br />
<br />
== Tools ==<br />
<br />
To assist in debugging and to gain shell access to the phone with Android, you can <br />
<br />
[http://people.openmoko.org/sean_mcneil/adb adb]<br />
<br />
You should be able to connect to the phone as long as you start it up with the USB connected to your host. I don't think it will work if you plug it in after starting. Some helpful commands are:<br />
<br />
ADBHOST=neo ./adb logcat - like a tail -f of the android log<br />
ADBHOST=neo ./adb logcat -b radio - same as above for the radio logs<br />
ADBHOST=neo ./adb shell - bring up a command shell to the phone<br />
ADBHOST=neo ./adb kill-server - kill the background server on the host<br />
<br />
Note: ADBHOST=neo assumes you have neo in your hosts file to point to the ip of the phone (192.168.0.202). Otherwise prefix the commands with "ADBHOST=192.168.0.202 ./adb [...]" It seems that simply adding IP to /etc/hosts doesn't work on Ubuntu, using IP address (192.168.0.202) instead neo will save your time. If you cannot to the device run "adb kill-server" before trying other commands.<br />
<br />
== Known Issues ==<br />
<br />
This version of the linux kernel will not successfully wake from suspend mode. Your battery life will be significantly lowered because of this and the phone will lock up unless you setup the phones screen timeout to never.<br />
<br />
This version of the kernel also uses a keypad hack. The buttons layout is as follows:<br />
<br />
Aux left-hand upper button is the "back" key.<br />
Power button is:<br />
menu button when pushed quickly,<br />
end button when held for more than a second and released,<br />
power-off if held for 10 seconds.</div>Anvhttp://wiki.openmoko.org/wiki/User:Seanmcneil3User:Seanmcneil32008-11-30T23:09:25Z<p>Anv: /* Android on Freerunner */</p>
<hr />
<div>== Android on Freerunner ==<br />
<br />
{{Languages|Android on FreeRunner}}<br />
<br />
<br />
Google has released their open source version of the Android phone software distribution. In order to use it on the Freerunner, a number of patches need to be applied and a compiler with armv4 java exception support needs to be used to compile the software.<br />
<br />
== Compiler suite ==<br />
<br />
Android is a little picky about the version of gcc compiler. It also requires some java exception support that isn't available for armv4 without a minor modification. The following tools are what I use to build Android:<br />
<br />
<br />
=== Binutils 2.18 ===<br />
<br />
At one time I had some armv5t code that was compiled into Android which would cause the linker to generate these blx instructions which fail on armv4. I'm not sure if this is still necessary, but I still have the following change applied to binutils:<br />
<br />
<pre><br />
diff -urN binutils-2.18-orig/bfd/elf32-arm.c binutils-2.18/bfd/elf32-arm.c<br />
--- binutils-2.18-orig/bfd/elf32-arm.c 2007-08-07 02:59:23.000000000 +0700<br />
+++ binutils-2.18/bfd/elf32-arm.c 2008-03-15 11:30:17.000000000 +0700<br />
@@ -3093,8 +3093,8 @@<br />
static void check_use_blx(struct elf32_arm_link_hash_table *globals)<br />
{<br />
if (bfd_elf_get_obj_attr_int (globals->obfd, OBJ_ATTR_PROC,<br />
- Tag_CPU_arch) > 2)<br />
- globals->use_blx = 1;<br />
+ Tag_CPU_arch) >= TAG_CPU_ARCH_V5T)<br />
+ globals->use_blx = 0;<br />
}<br />
<br />
bfd_boolean<br />
</pre><br />
<br />
<br />
configure --prefix={devel path}/android/cross --target=arm-eabi<br />
<br />
=== gcc 4.2.4 with gcc41-java-arm4.patch ===<br />
<br />
<br />
configure --prefix={devel path}/android/cross --target=arm-eabi --with-arch=armv4t --enable-shared --enable-threads --disable-nls --disable-libmudflap --enable-target-optspace --with-abi=aapcs --enable-multilib --disable-libssp --disable-libstdcxx --enable-languages=c,c++<br />
<br />
=== java-6-sun ===<br />
<br />
This is the standard Linux package available for most (all?) distributions.<br />
<br />
== Patches ==<br />
<br />
<br />
Coming soon. I've posted a number of them on the devel mailing list so far. Eventually, I expect to provide everything necessary for people to build Android for themselves.<br />
<br />
== Images ==<br />
<br />
I have placed an older 2.6.26 kernel with Android support at:<br />
<br />
[http://people.openmoko.org/sean_mcneil/uImage-android uImage-android]<br />
<br />
I have put up a jffs2 image that replaces rootfs on the Freerunner at:<br />
<br />
[http://people.openmoko.org/sean_mcneil/androidfs.jffs2 androidfs.jffs2]<br />
<br />
Warning!!! Installation of Android requires loading a new kernel and rootfs image onto your phone. I have not had time to produce a version that runs completely off an sdcard.<br />
<br />
== Installation ==<br />
<br />
As noted above, this installation requires you to wipe out the existing kernel and rootfs in NAND on your Freerunner. You also must have an SDCARD and it needs to be configured with two (2) primary partitions: First is VFAT/MSDOS (16 or 32) which acts as the /sdcard storage area for pictures, movies, music, etc. and the Second is an ext3 primary partition for use of internal Android /data area to store settings, caches, etc.<br />
<br />
The first thing I suggest is to setup an SDCARD. You can flash the NAND first, but you must have an SDCARD with two partitions as stated before you'll be able to boot. I use a 2GB card which I have split in half. fdisk shows me:<br />
<br />
/dev/mmcblk0p1 1 2454 996310 6 FAT16<br><br />
/dev/mmcblk0p2 2455 4908 996324 83 Linux<br />
<br />
formatted as<br />
<br />
sudo mkfs.vfat /dev/mmcblk0p1<br><br />
sudo mkfs.ext3 /dev/mmcblk0p2<br />
<br />
There is no need to populate the ext3 partition at all. The VFAT partition can be populated with media content if you so desire.<br />
<br />
With your SDCARD all set, you are ready to flash the kernel and rootfs:<br />
<br />
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a kernel -D uImage-android<br><br />
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a rootfs -D androidfs.jffs2<br><br />
<br />
== Tools ==<br />
<br />
To assist in debugging and to gain shell access to the phone with Android, you can <br />
<br />
[http://people.openmoko.org/sean_mcneil/adb adb]<br />
<br />
You should be able to connect to the phone as long as you start it up with the USB connected to your host. I don't think it will work if you plug it in after starting. Some helpful commands are:<br />
<br />
ADBHOST=neo ./adb logcat - like a tail -f of the android log<br />
ADBHOST=neo ./adb logcat -b radio - same as above for the radio logs<br />
ADBHOST=neo ./adb shell - bring up a command shell to the phone<br />
ADBHOST=neo ./adb kill-server - kill the background server on the host<br />
<br />
Note: ADBHOST=neo assumes you have neo in your hosts file to point to the ip of the phone (192.168.0.202). Otherwise prefix the commands with "ADBHOST=192.168.0.202 ./adb [...]" It seems that simply adding IP to /etc/hosts doesn't work on Ubuntu, using IP address (192.168.0.202) instead neo will save your time. If you cannot to the device run "adb kill-server" before trying other commands.<br />
<br />
== Known Issues ==<br />
<br />
This version of the linux kernel will not successfully wake from suspend mode. Your battery life will be significantly lowered because of this and the phone will lock up unless you setup the phones screen timeout to never.<br />
<br />
This version of the kernel also uses a keypad hack. The buttons layout is as follows:<br />
<br />
Aux left-hand upper button is the "back" key.<br />
Power button is:<br />
menu button when pushed quickly,<br />
end button when held for more than a second and released,<br />
power-off if held for 10 seconds.</div>Anvhttp://wiki.openmoko.org/wiki/User:Seanmcneil3User:Seanmcneil32008-11-30T23:04:07Z<p>Anv: </p>
<hr />
<div>== Android on Freerunner ==<br />
<br />
{{Languages|Neo FreeRunner}}<br />
<br />
<br />
Google has released their open source version of the Android phone software distribution. In order to use it on the Freerunner, a number of patches need to be applied and a compiler with armv4 java exception support needs to be used to compile the software.<br />
<br />
<br />
== Compiler suite ==<br />
<br />
Android is a little picky about the version of gcc compiler. It also requires some java exception support that isn't available for armv4 without a minor modification. The following tools are what I use to build Android:<br />
<br />
<br />
=== Binutils 2.18 ===<br />
<br />
At one time I had some armv5t code that was compiled into Android which would cause the linker to generate these blx instructions which fail on armv4. I'm not sure if this is still necessary, but I still have the following change applied to binutils:<br />
<br />
<pre><br />
diff -urN binutils-2.18-orig/bfd/elf32-arm.c binutils-2.18/bfd/elf32-arm.c<br />
--- binutils-2.18-orig/bfd/elf32-arm.c 2007-08-07 02:59:23.000000000 +0700<br />
+++ binutils-2.18/bfd/elf32-arm.c 2008-03-15 11:30:17.000000000 +0700<br />
@@ -3093,8 +3093,8 @@<br />
static void check_use_blx(struct elf32_arm_link_hash_table *globals)<br />
{<br />
if (bfd_elf_get_obj_attr_int (globals->obfd, OBJ_ATTR_PROC,<br />
- Tag_CPU_arch) > 2)<br />
- globals->use_blx = 1;<br />
+ Tag_CPU_arch) >= TAG_CPU_ARCH_V5T)<br />
+ globals->use_blx = 0;<br />
}<br />
<br />
bfd_boolean<br />
</pre><br />
<br />
<br />
configure --prefix={devel path}/android/cross --target=arm-eabi<br />
<br />
=== gcc 4.2.4 with gcc41-java-arm4.patch ===<br />
<br />
<br />
configure --prefix={devel path}/android/cross --target=arm-eabi --with-arch=armv4t --enable-shared --enable-threads --disable-nls --disable-libmudflap --enable-target-optspace --with-abi=aapcs --enable-multilib --disable-libssp --disable-libstdcxx --enable-languages=c,c++<br />
<br />
=== java-6-sun ===<br />
<br />
This is the standard Linux package available for most (all?) distributions.<br />
<br />
== Patches ==<br />
<br />
<br />
Coming soon. I've posted a number of them on the devel mailing list so far. Eventually, I expect to provide everything necessary for people to build Android for themselves.<br />
<br />
== Images ==<br />
<br />
I have placed an older 2.6.26 kernel with Android support at:<br />
<br />
[http://people.openmoko.org/sean_mcneil/uImage-android uImage-android]<br />
<br />
I have put up a jffs2 image that replaces rootfs on the Freerunner at:<br />
<br />
[http://people.openmoko.org/sean_mcneil/androidfs.jffs2 androidfs.jffs2]<br />
<br />
Warning!!! Installation of Android requires loading a new kernel and rootfs image onto your phone. I have not had time to produce a version that runs completely off an sdcard.<br />
<br />
== Installation ==<br />
<br />
As noted above, this installation requires you to wipe out the existing kernel and rootfs in NAND on your Freerunner. You also must have an SDCARD and it needs to be configured with two (2) primary partitions: First is VFAT/MSDOS (16 or 32) which acts as the /sdcard storage area for pictures, movies, music, etc. and the Second is an ext3 primary partition for use of internal Android /data area to store settings, caches, etc.<br />
<br />
The first thing I suggest is to setup an SDCARD. You can flash the NAND first, but you must have an SDCARD with two partitions as stated before you'll be able to boot. I use a 2GB card which I have split in half. fdisk shows me:<br />
<br />
/dev/mmcblk0p1 1 2454 996310 6 FAT16<br><br />
/dev/mmcblk0p2 2455 4908 996324 83 Linux<br />
<br />
formatted as<br />
<br />
sudo mkfs.vfat /dev/mmcblk0p1<br><br />
sudo mkfs.ext3 /dev/mmcblk0p2<br />
<br />
There is no need to populate the ext3 partition at all. The VFAT partition can be populated with media content if you so desire.<br />
<br />
With your SDCARD all set, you are ready to flash the kernel and rootfs:<br />
<br />
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a kernel -D uImage-android<br><br />
sudo {path_to}/dfu-util -d 0x1d50:0x5119 -a rootfs -D androidfs.jffs2<br><br />
<br />
== Tools ==<br />
<br />
To assist in debugging and to gain shell access to the phone with Android, you can <br />
<br />
[http://people.openmoko.org/sean_mcneil/adb adb]<br />
<br />
You should be able to connect to the phone as long as you start it up with the USB connected to your host. I don't think it will work if you plug it in after starting. Some helpful commands are:<br />
<br />
ADBHOST=neo ./adb logcat - like a tail -f of the android log<br />
ADBHOST=neo ./adb logcat -b radio - same as above for the radio logs<br />
ADBHOST=neo ./adb shell - bring up a command shell to the phone<br />
ADBHOST=neo ./adb kill-server - kill the background server on the host<br />
<br />
Note: ADBHOST=neo assumes you have neo in your hosts file to point to the ip of the phone (192.168.0.202). Otherwise prefix the commands with "ADBHOST=192.168.0.202 ./adb [...]" It seems that simply adding IP to /etc/hosts doesn't work on Ubuntu, using IP address (192.168.0.202) instead neo will save your time. If you cannot to the device run "adb kill-server" before trying other commands.<br />
<br />
== Known Issues ==<br />
<br />
This version of the linux kernel will not successfully wake from suspend mode. Your battery life will be significantly lowered because of this and the phone will lock up unless you setup the phones screen timeout to never.<br />
<br />
This version of the kernel also uses a keypad hack. The buttons layout is as follows:<br />
<br />
Aux left-hand upper button is the "back" key.<br />
Power button is:<br />
menu button when pushed quickly,<br />
end button when held for more than a second and released,<br />
power-off if held for 10 seconds.</div>Anvhttp://wiki.openmoko.org/wiki/Openmoko_Local_Groups:_MoscowOpenmoko Local Groups: Moscow2008-11-30T22:53:40Z<p>Anv: </p>
<hr />
<div>=== Possible Participants ===<br />
{|border=1<br />
!Name<br />
!Skills<br />
!Level of Interest<br />
!Other<br />
!Has Device<br />
!Has Debug Board<br />
|-<br />
|[[User:Shadowjack|Shadowjack]]<br />
|C, C++, Linux, GPS<br />
|High<br />
|<br />
|<br />
|<br />
|-<br />
|[[User:Denizzz|Denizzz]]<br />
|C, C++, Linux, GPS<br />
|High<br />
|<br />
|<br />
|<br />
|-<br />
|[[User:BasilK|BasilK]]<br />
|C, C++, Linux, GPS<br />
|High<br />
|<br />
|<br />
|[[Image: MokoBox.jpg|center]]<br />
|-<br />
|[[User:Vc24|vc24]]<br />
|C, C++, Linux<br />
|High<br />
|<br />
| GTA01<br />
|<br />
|-<br />
|[[User:Shallburn|Shallburn]]<br />
|C,OCaml,Scheme,Linux<br />
|Middle<br />
|<br />
|<br />
|<br />
|-<br />
|[[User:Kayo|Kayo]]<br />
|C++, Lua, Python, GNU/Linux<br />
|High<br />
|<br />
|<br />
|<br />
|-<br />
|[[User:yoush|yoush]]<br />
|C/C++, Linux kernel hacker, Debian Developer<br />
|High<br />
|<br />
|<br />
|<br />
|-<br />
|[[User:GreyCardinal|GreyCardinal]]<br />
|C/C++, Linux kernel hacker, Debian Developer<br />
|High<br />
|<br />
|GTA02v5<br />
|<br />
|-<br />
|[[User:SR|SR]]<br />
|C, C++, GNU/Linux<br />
|High<br />
|<br />
|GTA02v6<br />
|Yes<br />
|-<br />
|[[User:Narmo|Narmo]]<br />
|C, C++, GNU/Linux, Objective-C<br />
|High<br />
|<br />
|[[Image:Moko.jpg|center]]<br />
|<br />
|-<br />
|[[User:Anv|Anv]]<br />
|C, C++, GNU/Linux, Python<br />
|High<br />
|<br />
|[[Image:Moko.jpg|center]]<br />
|<br />
<br />
|-|}<br />
<br />
[[Category:Openmoko Local Groups]]</div>Anv