User:Panta/translate

From Openmoko

< User:Panta(Difference between revisions)
Jump to: navigation, search
m (OpenMoko to translate)
m (fino ad user space)
Line 1: Line 1:
Openmoko is the distribution that we're creating for phones and eventually other mobile devices.  
+
Openmoko è una distribuzione creata per telefoni ed altri eventuali dispositivi mobili.  
  
See [[Trademark Policy]] for information on the Openmoko trademark policy.
+
Si veda la [[Trademark Policy]] se si desidera ricevere informazioni sulla policy di utilizzo del  marchio Openmoko.
  
It has the following software stack:
+
Questo è il suo stack software:
  
 
{{ui_img_path}}/software_stack2007.png
 
{{ui_img_path}}/software_stack2007.png
  
A printer-friendly version can be found [http://people.openmoko.org/sean/files/openmokostack2007.pdf here].
+
[http://people.openmoko.org/sean/files/openmokostack2007.pdf Qui] è disponibile una versione adatta alla stampa.
  
  
{{note|This article needs to be updated to reflect our current architecture.}}
+
{{note|Questo articolo dovrebbe essere aggiornato al fine di rifletterne più propriamente l'architettura attuale.}}
  
 
== Kernel Space ==
 
== Kernel Space ==
The Kernel Space consists of the Bootloader, the Kernel, and Power Management.
+
Il Kernel Space consiste in Bootloader, Kernel, e Power Management.
  
 
=== Bootloader ===
 
=== Bootloader ===
The Bootloader is [[u-boot]]. We will have the following requirements:
+
Il Bootloader è [[u-boot]]. Esso dovrà rispondere ai seguenti requisiti:
* '''Firmware Update''' – Need a way to download executible code using [[USB DFU]]
+
* '''Firmware Update''' – Occorre un programma che scarichi il codice eseguibile tramite [[USB DFU]]
* '''RAM Loader''' – Provide a method to run code directly from the device’s RAM
+
* '''RAM Loader''' – Un metodo per eseguire del codice direttamente dalla RAM del dispositivo
* '''Secure Memory Interface''' – Provide a method to secure the interface to write into both RAM and FLASH. This is for the end user to prevent other users from modifying their own handsets. It’s not for vendor lock-in.
+
* '''Secure Memory Interface''' – Qualcosa che renda sicura l'interfaccia di scrittura su RAM e FLASH. Serve per evitare che altri utenti finali modifichino il proprio cellulare, non per permettere ai rivenditori di bloccare il telefono.  
* '''[[Backup]]''' – Provide a method to backup the data from flash. This could possibly allow for the sharing of images between users.
+
* '''[[Backup]]''' – Un metodo per effettuare il backup dei dati dalla FLASH. Dovrebbe poter permettere lo scambio delle immaginbi tra utenti.
  
 
=== Kernel ===
 
=== Kernel ===
The Kernel is based on the 2.6.x mainline using the moko patch set. It was planned to use TomTom's patches as they did extensive work with the Samsung 2410 application processor and added great support for SD cards. Currently their patches will allow support for almost all vendors’ SD cards. Kernel work is divided into the following components:
+
Il  Kernel è basato sulla mainline 2.6.x ed utilizza il sistema di patch moko. E' previsto l'utilizzo delle patches di TomTom, dato che hanno fatto un lavoro molto esteso sul processore Samsung 2410 ed hanno aggiunto un gran supporto alle schede SD. Attualmente le loro patches permettono di supportare quasi tutti i fornitori di schede SD. Il lavoro sul Kernel è diviso tra i seguenti componenti:
  
 
==== Flash ====
 
==== Flash ====
The flash functions as a MTD using the standard Linux access. It will run the JFFS2 filesystem over the entire flash.  
+
La FLASH funziona come un MTD che utilizza accessi standard Linux. Farà girare il filesystem JFFS2 interamente in FLASH.  
We would like to have some type of encryption on the user’s data. This will be configured in the User Interface at a later time. But for now, we should build the supporting framework.
+
Ci piacerebbe che i dati utente venissero crittografati. Potremmo configurarla sull'Interfaccia Utente, più avanti. Per il momento dovremmo solo costruire il framework di supporto.
  
==== Sound ====
+
==== Suono ====
The sound driver for the codec uses Advanced Linux Sound Architecture (ALSA) with the ASoC glue code. This is the standard for Linux sound cards.
+
Il driver audio per i codec utilizza Advanced Linux Sound Architecture (ALSA) con l'ASoC glue code. Questo è lo standard per le schede audio sotto Linux.
  
==== Backlight ====
+
==== Luce di sfondo ====
This is an LCD backlight class driver.
+
E' un driver per luce di sfondo di classe LCD.
  
==== Keypad / Buttons ====
+
==== Tastiera / Pulsanti ====
The keypad driver will use the standard Input device /dev/input.
+
Il driver per la tastiera utilizzerà il dispositivo di Input standard /dev/input.
  
 
==== Touch Screen ====
 
==== Touch Screen ====
The touch screen driver uses the standard Input device /dev/input/touchscreen0.
+
Il driver touch screen utilizza il dispositivo di Input standard /dev/input/touchscreen0.
  
==== Accellerometer (GTA02 only) ====
+
==== Accelerometro (solo GTA02) ====
 
{{stub}}
 
{{stub}}
  
 
==== USB ====
 
==== USB ====
We will need USB host / client support for Linux, OS X, and Windows. It should support the following features:
+
Occorrerà un supporto host / client USB per Linux, OS X, e Windows. Dovrebbe avere le seguenti funzioni:
* '''Mass Storage''' – To be mountable from another device
+
* '''Mass Storage''' – Per poterlo montare su altri dispositivi
* '''Host Network''' – To provide networking support over USB
+
* '''Host Network''' – Per supportare il networking tramite USB
* '''Linux USB Gadget''' – The standard method for having the device act as a slave
+
* '''Linux USB Gadget''' – Metodo standard per far in modo che il dispositivo agisca come slave
  
 
==== NFS Root Support ====
 
==== NFS Root Support ====
This will serve as one of our methods to develop code for the device. It will allow us to have a filesystem larger than the actual flash size. See [[Booting_from_NFS]] for setup details.
+
Sarà uno dei metodi per sviluppare codice per il dispositivo. Ci permetterà di avere un filesystem più grande dell'attuale dimensione della FLASH. Per i dettagli su come settarlo, si veda la pagina [[Booting_from_NFS]].
  
 
==== Bluetooth ====
 
==== Bluetooth ====
Bluetooth support will be based on the Linux standard called BlueZ. We will support the following profiles:
+
Il supporto Bluetooth sarà basato sullo standard Linux chiamato BlueZ. Supporteremo i seguenti profili:
* '''Headset''' – For wireless headsets
+
* '''Cuffie''' – Per auricolari e cuffie senza fili
* '''OBEX''' – For file transfer
+
* '''OBEX''' – Per il trasferimento dei file
* '''HID''' – For both Bluetooth keyboards and keypad emulation (such as for remote control devices)
+
* '''HID''' – Sia per le tstiere Bluetooth che per gli emulatori di tastiera (ad esempio per i telecomandi)
* '''Network Emulation''' – For Bluetooth-based network support
+
* '''Network Emulation''' – Per il supporto alla rete basato su Bluetooth
  
==== WiFi (GTA02 only) ====
+
==== WiFi (solo GTA02) ====
 
{{stub}}
 
{{stub}}
  
 
==== TS07.10 ====
 
==== TS07.10 ====
This is the [[GSM]] interface part. It is based on the idea of creating multiple serial devices out of one physical serial device. This code will be based work from the openEZX project and the original Motorola architecture. It will also provide ipsec for secure [[VPN]] connections.
+
E' la parte dell'interfaccia per il [[GSM]]. Si basa sull'idea di creare dispositivi seriali multipli da un solo dispositivo seriale fisico. Questo codice si baserà sul funzionamento del progetto openEZX e dell'architettura originale Motorola. Dovrà fornire ipsec per le connessioni sicure su [[VPN]].
  
The following diagram depicts the general architecture:
+
Il diagramma seguente ne mostra l'architettura generale:
  
 
{{ui_img_path}}/gsm_interface.png
 
{{ui_img_path}}/gsm_interface.png
  
A printer-friendly version can be found [http://people.openmoko.org/sean/files/openmokogsm.pdf here].
+
[http://people.openmoko.org/sean/files/openmokogsm.pdf Qui] troverete una versione adatta alla stampa.
  
===== GPRS modem=====
+
===== modem GPRS =====
2.5G (no EDGE) access to the Internet.
+
Accesso ad Internet a 2.5G (non EDGE).
  
==== Vibration ====
+
==== Vibrazione ====
This is using the LED class interface. This may be troublesome for mainline merging, but it makes no sense to invent a new subsystem which would be 100% identical to the LED class interface.
+
Utilizza l'interfaccia di classe LED. Potrebbe creare dei problemi durante il mainline merging, ma non ha molto senso inventare un nuovo sottosistema che sarebbe uguale al 100% all'interfaccia di classe LED.
  
 
=== Power Management ===
 
=== Power Management ===
The Power Management Unit will interface with the standard kernel I2C interface. The actual power states transitions are TBD.
+
L'unità di Power Management si interfaccerà tramite l'interfaccia I2C standard del kernel. Le attuali power states transitions sono TBD.
  
 
== User Space ==
 
== User Space ==

Revision as of 01:04, 11 May 2008

Openmoko è una distribuzione creata per telefoni ed altri eventuali dispositivi mobili.

Si veda la Trademark Policy se si desidera ricevere informazioni sulla policy di utilizzo del marchio Openmoko.

Questo è il suo stack software:

Template:Ui img path/software_stack2007.png

Qui è disponibile una versione adatta alla stampa.


NOTE: Questo articolo dovrebbe essere aggiornato al fine di rifletterne più propriamente l'architettura attuale.


Contents

Kernel Space

Il Kernel Space consiste in Bootloader, Kernel, e Power Management.

Bootloader

Il Bootloader è u-boot. Esso dovrà rispondere ai seguenti requisiti:

  • Firmware Update – Occorre un programma che scarichi il codice eseguibile tramite USB DFU
  • RAM Loader – Un metodo per eseguire del codice direttamente dalla RAM del dispositivo
  • Secure Memory Interface – Qualcosa che renda sicura l'interfaccia di scrittura su RAM e FLASH. Serve per evitare che altri utenti finali modifichino il proprio cellulare, non per permettere ai rivenditori di bloccare il telefono.
  • Backup – Un metodo per effettuare il backup dei dati dalla FLASH. Dovrebbe poter permettere lo scambio delle immaginbi tra utenti.

Kernel

Il Kernel è basato sulla mainline 2.6.x ed utilizza il sistema di patch moko. E' previsto l'utilizzo delle patches di TomTom, dato che hanno fatto un lavoro molto esteso sul processore Samsung 2410 ed hanno aggiunto un gran supporto alle schede SD. Attualmente le loro patches permettono di supportare quasi tutti i fornitori di schede SD. Il lavoro sul Kernel è diviso tra i seguenti componenti:

Flash

La FLASH funziona come un MTD che utilizza accessi standard Linux. Farà girare il filesystem JFFS2 interamente in FLASH. Ci piacerebbe che i dati utente venissero crittografati. Potremmo configurarla sull'Interfaccia Utente, più avanti. Per il momento dovremmo solo costruire il framework di supporto.

Suono

Il driver audio per i codec utilizza Advanced Linux Sound Architecture (ALSA) con l'ASoC glue code. Questo è lo standard per le schede audio sotto Linux.

Luce di sfondo

E' un driver per luce di sfondo di classe LCD.

Tastiera / Pulsanti

Il driver per la tastiera utilizzerà il dispositivo di Input standard /dev/input.

Touch Screen

Il driver touch screen utilizza il dispositivo di Input standard /dev/input/touchscreen0.

Accelerometro (solo GTA02)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


USB

Occorrerà un supporto host / client USB per Linux, OS X, e Windows. Dovrebbe avere le seguenti funzioni:

  • Mass Storage – Per poterlo montare su altri dispositivi
  • Host Network – Per supportare il networking tramite USB
  • Linux USB Gadget – Metodo standard per far in modo che il dispositivo agisca come slave

NFS Root Support

Sarà uno dei metodi per sviluppare codice per il dispositivo. Ci permetterà di avere un filesystem più grande dell'attuale dimensione della FLASH. Per i dettagli su come settarlo, si veda la pagina Booting_from_NFS.

Bluetooth

Il supporto Bluetooth sarà basato sullo standard Linux chiamato BlueZ. Supporteremo i seguenti profili:

  • Cuffie – Per auricolari e cuffie senza fili
  • OBEX – Per il trasferimento dei file
  • HID – Sia per le tstiere Bluetooth che per gli emulatori di tastiera (ad esempio per i telecomandi)
  • Network Emulation – Per il supporto alla rete basato su Bluetooth

WiFi (solo GTA02)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


TS07.10

E' la parte dell'interfaccia per il GSM. Si basa sull'idea di creare dispositivi seriali multipli da un solo dispositivo seriale fisico. Questo codice si baserà sul funzionamento del progetto openEZX e dell'architettura originale Motorola. Dovrà fornire ipsec per le connessioni sicure su VPN.

Il diagramma seguente ne mostra l'architettura generale:

Template:Ui img path/gsm_interface.png

Qui troverete una versione adatta alla stampa.

modem GPRS

Accesso ad Internet a 2.5G (non EDGE).

Vibrazione

Utilizza l'interfaccia di classe LED. Potrebbe creare dei problemi durante il mainline merging, ma non ha molto senso inventare un nuovo sottosistema che sarebbe uguale al 100% all'interfaccia di classe LED.

Power Management

L'unità di Power Management si interfaccerà tramite l'interfaccia I2C standard del kernel. Le attuali power states transitions sono TBD.

User Space

NOTE: We will use glibc (not uClibC) and libX11 (full, not diet) for the first incarnation of this product. The alternatives may save more space and be more optimized, but are more likely to give us integration headaches. We will have to reconsider this decision for later releases.


Linux Core Services

Most of these core services include a daemon and a library.

sshd

sshd enables a remote shell login via network.

udev

udev is responsible for managing the device nodes in the /dev pseudo file system.

bluez

bluez is the Linux Bluetooth subsystem.

dbus

dbus is an interprocess communication subsystem.

GSM

  • GSM - handles the communication with the GSM module.
  • gsmd - is responsible for the management of GSM backend.
  • libgsmd - will communicate with the gsmd and export an API for applications.

GPS

  • GPS - handles the communication with the GPS module.
  • gpsd - is the daemon for management of GPS backend. It will export the standard gpsd interface.

Linux User Interface

Matchbox

A lightweight window manager from the O-Hand

KDrive

KDrive-fbdev is a lightweight X11 server that runs directly on a Linux FrameBuffer.

libX11

The X11 library.

GTK+

GTK+ is a rich GUI-Toolkit. It's the foundation for the Gnome project

Openmoko Application Framework

Main article: OpenMokoFramework


Native Applications

Currently Included Applications

Currently included applications that are accessible from the application menus are found here. This consists of both Stylus-based and Finger-based applications.

Finger-Based Applications

Complete specifications for all the Finger-Based Applications are found here.

Stylus-Based Applications

Complete specifications for all the Stylus-Based Applications are found here.

Personal tools

Openmoko is the distribution that we're creating for phones and eventually other mobile devices.

See Trademark Policy for information on the Openmoko trademark policy.

It has the following software stack:

Template:Ui img path/software_stack2007.png

A printer-friendly version can be found here.


NOTE: This article needs to be updated to reflect our current architecture.


Kernel Space

The Kernel Space consists of the Bootloader, the Kernel, and Power Management.

Bootloader

The Bootloader is u-boot. We will have the following requirements:

  • Firmware Update – Need a way to download executible code using USB DFU
  • RAM Loader – Provide a method to run code directly from the device’s RAM
  • Secure Memory Interface – Provide a method to secure the interface to write into both RAM and FLASH. This is for the end user to prevent other users from modifying their own handsets. It’s not for vendor lock-in.
  • Backup – Provide a method to backup the data from flash. This could possibly allow for the sharing of images between users.

Kernel

The Kernel is based on the 2.6.x mainline using the moko patch set. It was planned to use TomTom's patches as they did extensive work with the Samsung 2410 application processor and added great support for SD cards. Currently their patches will allow support for almost all vendors’ SD cards. Kernel work is divided into the following components:

Flash

The flash functions as a MTD using the standard Linux access. It will run the JFFS2 filesystem over the entire flash. We would like to have some type of encryption on the user’s data. This will be configured in the User Interface at a later time. But for now, we should build the supporting framework.

Sound

The sound driver for the codec uses Advanced Linux Sound Architecture (ALSA) with the ASoC glue code. This is the standard for Linux sound cards.

Backlight

This is an LCD backlight class driver.

Keypad / Buttons

The keypad driver will use the standard Input device /dev/input.

Touch Screen

The touch screen driver uses the standard Input device /dev/input/touchscreen0.

Accellerometer (GTA02 only)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


USB

We will need USB host / client support for Linux, OS X, and Windows. It should support the following features:

  • Mass Storage – To be mountable from another device
  • Host Network – To provide networking support over USB
  • Linux USB Gadget – The standard method for having the device act as a slave

NFS Root Support

This will serve as one of our methods to develop code for the device. It will allow us to have a filesystem larger than the actual flash size. See Booting_from_NFS for setup details.

Bluetooth

Bluetooth support will be based on the Linux standard called BlueZ. We will support the following profiles:

  • Headset – For wireless headsets
  • OBEX – For file transfer
  • HID – For both Bluetooth keyboards and keypad emulation (such as for remote control devices)
  • Network Emulation – For Bluetooth-based network support

WiFi (GTA02 only)

Stub: This is a stub. You can help OpenMokoWiki by expanding it.


TS07.10

This is the GSM interface part. It is based on the idea of creating multiple serial devices out of one physical serial device. This code will be based work from the openEZX project and the original Motorola architecture. It will also provide ipsec for secure VPN connections.

The following diagram depicts the general architecture:

Template:Ui img path/gsm_interface.png

A printer-friendly version can be found here.

GPRS modem

2.5G (no EDGE) access to the Internet.

Vibration

This is using the LED class interface. This may be troublesome for mainline merging, but it makes no sense to invent a new subsystem which would be 100% identical to the LED class interface.

Power Management

The Power Management Unit will interface with the standard kernel I2C interface. The actual power states transitions are TBD.

User Space

NOTE: We will use glibc (not uClibC) and libX11 (full, not diet) for the first incarnation of this product. The alternatives may save more space and be more optimized, but are more likely to give us integration headaches. We will have to reconsider this decision for later releases.


Linux Core Services

Most of these core services include a daemon and a library.

sshd

sshd enables a remote shell login via network.

udev

udev is responsible for managing the device nodes in the /dev pseudo file system.

bluez

bluez is the Linux Bluetooth subsystem.

dbus

dbus is an interprocess communication subsystem.

GSM

  • GSM - handles the communication with the GSM module.
  • gsmd - is responsible for the management of GSM backend.
  • libgsmd - will communicate with the gsmd and export an API for applications.

GPS

  • GPS - handles the communication with the GPS module.
  • gpsd - is the daemon for management of GPS backend. It will export the standard gpsd interface.

Linux User Interface

Matchbox

A lightweight window manager from the O-Hand

KDrive

KDrive-fbdev is a lightweight X11 server that runs directly on a Linux FrameBuffer.

libX11

The X11 library.

GTK+

GTK+ is a rich GUI-Toolkit. It's the foundation for the Gnome project

Openmoko Application Framework

Main article: OpenMokoFramework


Native Applications

Currently Included Applications

Currently included applications that are accessible from the application menus are found here. This consists of both Stylus-based and Finger-based applications.

Finger-Based Applications

Complete specifications for all the Finger-Based Applications are found here.

Stylus-Based Applications

Complete specifications for all the Stylus-Based Applications are found here.