Archive

Posts Tagged ‘linux’

HTC Artemis amb GNU/linux

setembre 1st, 2010 pespin No comments

Tinc per casa una HTC P330 (Artemis) de mon pare que ja no fa servir, així que uns dies enrera vaig estar mirant com estava el desenvolupament de Linux en aquesta plataforma. Vaig estar informant-me de les especificacions per internet, arribant a la conclusió que té una placa OMAP 850, amb un prcoessador armv5te amb uns 200MHz i 64 Mb de RAM. Originalment, el dispositiu funciona amb WinMobile versió 6.

El procés per configurar Linux perquè s’inici en aquests dispositius és el següent: Primer de tot, cal saber que des dels dispositius amb WinMobile s’acosutma a iniciar Linux des de latargeta SD, fent-ho des del pròpi entorn WindowsM. amb un bootloader anomenat haret. Cal tenir 2 particions: una vfat i una ext2/3 (si voleu usar el meu arxiu de configuració l’ordre és important!). Llavors, el que vaig fer va ser posar l’executable de haret i el seu arxiu de configuració default.txt, l’arxiu initramfs.cpio.gz i la imatge del kernel a carregar a la partició vfat. Per últim, descomprimir el rootfs a la partició ext. Un cop fet això, només cal iniciar el WinM, executar haret i donar-li al botó de “Run”, i si tot va bé, veureu un magnífic nucli de Linux carregant-se en el vostre dispositiu.

En primer lloc, vaig voler anar per la via ràpida i probar sort amb el projecte wing-linux, una distribució orientada a dispositus amb la placa OMAP 850, i que fa servir Android amb una distribució Angstrom GNU/Linux per sota. Aquest projecte distribueix tot amb arxius .cab i instaladors per a que ho puguis fer tot des del propi winmobile, però jo vaig trobar més còmode extraure els .cab a l’ordinador i posar els fitxers on calia. La imatge triga molt en carregar-se, ja que primer ha de carregar la distribució Angstrom i després la màquina virtual de l’Android i el seu sistema. És un projecte força interessant, ja que tens la GUI d’Android i per sota un sistema GNU/linux estàndard forcça complet, amb capcaitat per exemple per accedir-hi mitjançant ssh. Amb aquesta imatge vaig poder tenir una idea general del que estava soportat pel nucli (a part del que ja havia llegit). Així ràpid: GSM molt avançat (tot  que no se senten les trucades, però això és tema de so/alsa). pantalla, alguns botons, usbnet, etc.

Però que coll, Android no és GNU/Linux! El que m’interessa realment amb aquest dispositiu  des d’un inici és fer-lo anar amb la distribució SHR, distribució amb la que colaboro a l’openmoko y, per qui no la conegui, s’està convertint en la distribució més pròxima a GNU/Linux o els ordinadors de sobretaula que coneixem, i s’està portant en aquests moments a dispositius com l’HTC Dream, Palm Pre, HTC Leo, Nokia n900, apart dels openmoko.

Així doncs, vaig posar-me a la obra i vaig muntar-me la meva pròpia toolchain OpenEmbedded, i a base de deixar-la moltes hores compilant i altres hores solucionant errors provinents de la 1a activitat, en uns 5 dies vaig tenir una imatge de la distribució compilada per a l’arquitectura armv5te que fa servir el dispositiu. Vaig compilar el nucli corresponent també (que no deixa de ser el mateix que el de wing-linux, ja que són ells els que mantenen la branca del kernel per a aquest dispositiu).

Una vegada arrencat el nucli des de haret, no va haver-hi tanta sort aquesta vegada. Bé, sort parcial. Sembla que arrenca tot prou bé amb la rootfs de SHR i arriba al prompt del login de la terminal (les X deuen fallar, però no em preocupa per ara). El gran problema és que el dispositiu falla en algun punt del mòdul usbnet del nucli, que és el que s’encarrega de oferir la xarxa a través del usb. El problema és que no aconsegueixo ni fer ping ni conectar-m’hi per ssh. En un principi pensava que era perquè la imatge generada no portava el  mòdul incorporat, però després de parlar amb gent de #wing-linux i #htc-linux a cal freenode, resulta que en el seu nucli aquest mòdul va integrat al nucli, i no com a mòdul extern.

Així doncs, sembla ser que hi ha alguna cosa al sistema de fitxers de SHR que malment el usbnet d’alguna forma, en aquest device ja que amb l’altre sistema de fitxers si que funciona, i puc usar el mateix nucli en ambdós sistemes. Encara no he aconseguit trobar on para l’error. De moment ho deixaré per uns dies. Quan pugui  em compraré un adaptador usb-microusb per poder connectar-hi el teclat, a veure si el detecta i puc entrar i esbrinar que és el que passa.

Això és tot el que puc dir de moment. Us animo a que busqueu dispositius vells per casa i els hi doneu una segona oportunitat! Teniu diversió i coses per aprendre assegurades! Jo per exemple vaig aportar un log  que em van  demanar amb informació important per a la gent de wing-linux :) Si algú té ganes de fer proves amb algun dispositu i li surten dubtes, estaré encantat de indicar-li bones direccions, tot  i que el meu coneixement sigui limitat.

PD: Si algú vol probar la imatge i nuclis per a aquest dispositu els tinc aquí: http://espeweb.net/misc/pespin/artemis/images/ (atenció! el sistema de fitxers ocupa uns 42 Mb!).

Openmoko freerunner!

gener 8th, 2009 pespin No comments

Finalment m’han regalat un Neo Freerunner per reis :D

Sí, han passat uns quants dies però estava massa enfeinat trastejant amb l’aparell per posar aquí una entrada xD

I tot el que queda per trastejar encara… ai mare meva! Vaig estar fins ahir barallant-me amb les diferents distribucions, primer la 2008.12 passant per FDOM, però cap d’elles acabava d’agradar-me o tenia masses errors. Ahir per la tarda vaig decidir provar la distribució SHR (Stable Hybrid Release) i la veritat és que de moment estic prou content: Repositoris propis que no creen errors en mesclar-se amb els oficials, bon conjunt d’aplicacions inicials, bon suport de la comunitat (canal #openmoko a freenode), etc.

Les pegues que trobo de moment a l’aparell en general, i també en concret de l’SHR:

  • Les aplicacions de gestió de telefonia (contactes, sms, dialer) encara estan bastant verdes i encara els hi manquen moltes funcionalitats.
  • Avui pel matí he provat de connectar-me al WiFi públic de l’escola i la GUI que ho fa es queda penjada… tot i així, avui he actualitzat la distribució i s’han actualitzat alguns paquets del avahi.. potser amb això es solucion; demà provaré.
  • No he aconseguit fer anar el GPS (amb cap distribució) de moment. Encara no m’ho he mirat gaire, però suposo que tindrà fàcil solució.
  • En connectar els cascos per escoltar música, el so segueix sortint també pels altaveus (amb totes les distribucions). Tampoc he buscat solucions encara.
Escoltant música de Last.fm amb Vagalume a través del Openmoko

Escoltant música de Last.fm amb Vagalume a través del Openmoko

Misatgeria instantània al Openmoko amb pidgin

Misatgeria instantània al Openmoko amb pidgin

Per accedir a Internet hi ha 3 maneres:

  • Wifi
  • GPRS?
  • Connectat via usb a l’ordinador:

Per a què Internet funcioni a l’Openmoko, utilitzarem de l’ordinador de pont. La subnet entre l’openmoko i l’ordinador ha de ser diferent a la subnet utilitzada per la connexió amb el router. En el meu cas la connexió normal és 192.168.0.XXX i la utilitzada entre l’openmoko i l’ordinador és 192.168.2.XXX. En el meu cas, l’ordinador tindrà la IP 192.168.2.200 i l’openmoko 192.168.2.202.

El primer de tot és modificar (amb la terminal a l’openmoko utilitzant nano per exemple) l’arxiu /etc/network/interfaces per tal que compleixi els paràmetres descrits adalt:

# Ethernet/RNDIS gadget (g_ether)
# … or on host side, usbnet and random hwaddr
auto usb0
iface usb0 inet static
address 192.168.2.202
netmask 255.255.255.0
network 192.168.2.0
gateway 192.168.2.200

Un cop fet això, posem la IP a l’ordinador i toquem certs paràmetres per a que l’ordinador faci de passarel·la  (aquest pas no l’entenc gaire :P )

sudo ifconfig usb0 192.168.2.200

sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.2.192/26
sudo sysctl -w  net.ipv4.ip_forward=1

I ja disposem d’Internet a l’openmoko, i podem entrar-hi via ssh :D

$ ssh root@192.168.2.202