lunes, 28 de junio de 2010

Cosas sobre iboot,openiboot,uboot,...

Last Resort Emergency BootLoader Recovery

One situation which cannot be recovered so easily is the extremely unlikely event of corruption of the installed bootloader (bootie) stored on the Pre's flash disk.
If bootie on the flash disk has been damaged or corrupted in such a way that booting into recovery mode is not possible, the Pre is still not "bricked" as the OMAP3430 processor in the Pre provides for a mechanism to boot code from its USB interface

Download: omap3_usb.tar.bz2. If you have not libusb 0.1.3 installed on your computer, install it. It is needed for the header file /usr/include/usb.h
Compile on Linux system with "make". Optionally install with "sudo cp omap3_usbload /usr/local/bin"



Now extract the bootie binary from a WebOS Doctor image:

/boot/boot.bin

Booting bootie over USB:
Ensure USB is unplugged from the Pre, and remove the Pre's battery.
On your Linux system, run:
sudo omap3_usbload boot.bin This should return:
TI OMAP3 USB boot ROM tool, version 0.1 ...... and a series of dots while it looks for an OMAP3 to send boot code to.
Now, plug the pre into USB.
If all works as it should, the usbload program should return:
found device! download ok



now that bootie is running you can send bootie a Linux image over USB and perform some kind of recovery work directly on the pre itself. This is not recommended unless you are very familiar with linux systems administration.


First you send bootie the boot image of the doctor's installer. This can be extracted from the WebOS Doctor jar.

novacom boot mem:// < nova-installer-image-castle.uImage

Wait 15 seconds for the system to boot then connect in to a shell on the running linux system with novaterm. (you will see no on-screen indication that the device is booting linux, only a solid Palm logo)

novaterm

You should get a shell prompt

root@palm-webos-device:/#

---do whatever you need
--------------------
Now find and activate the LVM disk voumes with the following two commands:

lvm.static vgscan --ignorelockingfailure
lvm.static vgchange -ay --ignorelockingfailure

Next, mount all disks

for N in root var media log update; do mkdir /mnt/$N; mount /dev/mapper/store-$N /mnt/$N; done

When done with whatever you need to do on the system, shutting it down safely is a good idea

umount -a; tellbootie reboot

-------------

iboot-openiboot


Entra en modo recuperacion del iphone

Ahora usaremos los programas:

utils/oibc, utils/loadibec, y prebuilt/openiboot.img3

>loadibec openiboot.img3


sudo ./oibc y ahora todos los mensajes que aparezcan en el iPhone aparecerán en el Terminal. Ahora vamos a realizar una copia de seguirdad del NOR, donde iPhone almacena el bootloader, para -en caso de que algo vaya mal- poder restaurarlo y volver al estado inicial.

- 22. Escribe en el Terminal/oibc: nor_read 0x09000000 0x0 1048576

- 23. Escribe en el Terminal/oibc ~norbackup.bin@0x09000000:1048576 . Con ello aparecerá un nuevo archivo en el directorio Home / idroid llamado norbackup.bin, guárdalo en lugar seguro.


e instala el nor del openbootinit para cargar el iphone os

Ahora vamos a instalar OpeniBoot NOR del iPhone con el comando install en el Terminal/oibc. Este proceso tarde unos minutos, no te desesperes o desconectes el móvil / ordenador. Espera hasta que aparezca el mensaje installation-complete.


VER SI QEMU-OMAP TIENE USB

LINUX arm on QEMU

http://dev.emcelettronica.com/installing-debian-arm-qemu

Full Linux for the Embedded Systems
In most cases, the embedded systems are tailor-made for specific application environment. Only the necessary software components are installed due to limited budget on storage and computing capabilities. Usually a full Linux is not necessary for either consumers or developers.
The embedded Linux is a complicated process for the designers and developers. The conventional development method is starting from scratch (LFS). They have to collect, build and install all of the necessary development tools on a PC with correct patches and libraries. These tools include cross-compiler, assembler, libraries, kernels, bootloader, and many supporting components for Linux or Cygwin. Finally, they must program the kernel and initrd into the onboard flash memories and configure the bootloader correctly to bring up the whole system. The whole process is so complicated, that I still have a lot of stuff to be mentioned.
On the other hand, the embedded Linux is an open source close system for the ordinary consumer. Why do I call it as open source yet close system? Linux is open source system, as everybody knows. However the specific release for one platform is close system anyway. For example, Motorola A1200 mobile phone is a Linux phone, but can you hack your phone as a consumer? No, you can not find the alternative OS to replace the preinstalled one.
As the fast development and convergence of general purpose mobile computing, we can see a lot of new products. These products usually have powerful processors and cheap mass storage devices. For example, a smart phone has 200MHz ARM CPU and 2GB flash card, which can run a full distribution of Linux. ARM also releases SMP and high speed processors for the Netbook market. Apparently, ARM and Intel architecture are competing on mobile computing market.
As a result, it will be a trend and valuable practice to install a full Linux distribution for ARM devices. Both consumers and developers can benefit from it. The consumers can choose different operation systems for their devices. The engineers can build the projects with native compiler, rather than the cross-compiler. Since most of the projects are not designed for cross-compiling at very beginning, porting these projects to the embedded platforms is not an easy job. The native compiling can avoid such dependency and tool issues.
So I spent some day on trying to install Debian distribution for ARM. Before installation an embedded Linux on real hardware devices, it is better to try it with an emulator to avoid bricking the devices. I refer a web page written by a Debian maintainer to install the Debian on an emulator, QEMU.
Installing QEMU
Download and install QEMU on your Linux PC. In Ubuntu 8.04, you can install QEMU by:
$ sudo apt-get install qemu
Preparing
Before downloading all of the working files, please create a working folder to hold all of the files and then, create an image of the emulated hard disk, by:
$ cd qemu (or any folder)
$ qemu-img create -f qcow hda.img 10G
Then you can download a kernel, initrd and the Debian installer. Please type following instructions to download them individually.
$ wget http://people.debian.org/~aurel32/arm-versatile/vmlinuz-2.6.18-6-versatile
$ wget http://people.debian.org/~aurel32/arm-versatile/initrd.img-2.6.18-6-versatile
$ wget http://ftp.de.debian.org/debian/dists/etch/main/installer-arm/current/images/rpc/netboot/initrd.gz
Installing Debian Etch and Reboot
Please enter following command to start the installation procedure:
$ qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.gz -hda hda.img -append "root=/dev/ram"
The installation starts after a while. Please follow the instruction step by step, just like you did on your desktop. You can skip the warning messages about no kernels and bootloader, and then you will see the final reboot screen. During your installation, it is very important to select a fast and reliable internet connection to the selected Debian archive source. If the installation is failed because of the connection, you can close the installer and restart the installation. Alternatively, you can recreate hda.img file and restart the installation.
Using Embedded Debian
Debian Reboot
When you see the reboot screen, close the QEMU window, and enter following command to boot the Debian Linux:
$ qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.img-2.6.18-6-versatile -hda hda.img -append "root=/dev/sda1"
When Debian reboots, you can explore it in the command line mode or in 256 color X-Window mode. You can have fun now. I have tried to measure the performance of the emulated system by:
$ cat proc/cpuinfo
cpuinfoThis command reports the major parameters of the emulated machine. The bogoMIPS of my emulated ARM926EJ is 273, while my native Linux PC (Pentium M 1.4GHz) is 2793, 10 times of the emulated machine. A beagle board user reports its OMAP3530 (600MHz) has bogoMIPS index for 499. The emulated system can run faster than the real device if you run it on a high speed PC.
You can type dmesg to have more detail information for your emualted ARM system. Check out the dmesg report.
dmesg report
Installing Software Packages
gcc infoI have checked two software packages: gcc [Fig 4] and mplayer [Fig 5]. In Debian, you can install gcc with following command:
$ apt-get install gcc
You can type following command to check the supported target machine:
$ gcc -dumpmachine
The answer is “arm-linux-gnu”. That means an ARM native compiler. You can try to compile any Linux application software with this native compiler. Of course, a native compiler running on QEMU is slow, but you can install distributed build tool distcc to build a big project on several emulated ARM Linux.
mplayerI also install the mplayer package, but I don't expect that it have identical performance as its desktop version. The mplayer package uses many commercial decoders (like Real video decoder) in the form of Windows DLL, which can not be directly used in ARM port.
$ apt-get install mplayer
Conclusion
The whole installation process is quite simple if you have setup the connection properly. The developers who are working on embedded systems should explore the capabilities of this method. It may help you solve some technical roadblocks in your project.
If you want to install Debian (ARM) on a real hardware computer, you have many candidates: Sharp PDA, some handheld PC, Openmoko, beagle-board, and NOKIA tablet. If you want to build some project, the Marvell based NAS is the best choice. The ARM SoC in a NAS usually runs on 500MHz, and you can use the HDD on NAS.
If you are interested in this topic, you must visit the mojo project. You can find much useful information on the ARM based Linux distributions of different platforms. Remember, even there chips have a common name, ARM. They are still different in instruction sets, peripherals and co-processors.
Reference
http://www.aurel32.net/info/debian_arm_qemu.php.en
http://mojo.handhelds.org/

Mi antiguo experimento para crear webos filesystem arm para qemu

Esto ya tiene poca utilidad,pero me parecio interesante pues aprendi varias cosas bastante utiles.

The Pre's flash disk appears to the device as a MMC and uses the standard fdisk partition scheme, with a MBR-like structure in the first block. There

are three partitions:

1. type 0xf0 start 0x00000400 size 0x00002000 NVRAM and Tokens
2. type 0x83 start 0x00002400 size 0x00010000 /boot (ext3)
3. type 0x8e start 0x00012400 size 0x00f3dc00 Logical Volumes

The space between the MBR and the first partition are used to store the bootloader (Bootie). The /boot partition contains the linux kernel (in uImage

format), a copy of the bootloader and the minimal userland required to start the LVM and to pivot the root to /dev/mapper/store-root and perform the

"real" boot from there


Boot Manager (type 0xF0), located anywhere on the disk. It can be primary partition or a logical disk inside the extended partition. The boot manager
will be written to this partition.



Problem :the filesystem size is bad on this post!!it is imposible create ext2 or fat filesystem on 2 as example.

The right sizes was:
1./dev/mmcblk0p1 defined as a Linux/PA-RISC boot partition is only 4MB
2. /dev/mmcblk0p2 defined as a Linux partition and is 32MB mounted as /boot
3./dev/mmcblk0p3 defined as a Linux LVM partition is 7.62GB


I created a void file:
>dd if=/dev/zero of=mmcblk0 bs=32M count=250

used parted to partition:
>parted mmcblk0
>>mkpartfs primary ext2 0 4M
>>mkpartfs primary ext2 3998kB 32M
>>mkpartfs primary ext2 32,0MB 7.62GB
>>quit

use fdisk to change the kind of partition:
>fdisk
>>t 1 f0
>>t 2 83
>>l
Disposit. Inicio Comienzo Fin Bloques Id Sistema
mmcblk0p1 1 61 3888 f0 inicio Linux/PA-RISC
mmcblk0p2 62 488 27328 83 Linux
mmcblk0p3 489 106812 6804736 8e Linux LVM

(the name is similar to kernel seems use)

After give the format.The problem is a file and you can not do simply :
mkfs.ext3 mmcblk0p2

Accessing raw images with partitions "inside" is a bit tricky. Still this links explains it:

Basically you "simulate" a block device /dev/loop0 for your file with the command:

>losetup /dev/loop1 mmcblk0

if i do :
>fdisk -l /dev/loop1

Disco /dev/loop1: 8388 MB, 8388608000 bytes
4 cabezas, 32 sectores/pista, 128000 cilindros
Unidades = cilindros de 128 * 512 = 65536 bytes
Identificador de disco: 0x00080655

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/loop1p1 1 61 3888 f0 inicio Linux/PA-RISC
/dev/loop1p2 62 488 27328 83 Linux
/dev/loop1p3 489 106812 6804736 8e Linux LVM


now i need map the "partitions" for mount and/or give filesystem.(for mount you could do it easily with the offset on loop.

kpartx -av /dev/loop1

and now i have the partition as if they were on a hd!!!

>ls -alF /dev/mapper
total 0
drwxr-xr-x 2 root root 120 2010-06-10 18:45 ./
drwxr-xr-x 15 root root 4180 2010-06-10 18:45 ../
crw-rw---- 1 root root 10, 60 2010-04-05 11:54 control
brw-rw---- 1 root disk 252, 0 2010-06-10 18:45 loop1p1
brw-rw---- 1 root disk 252, 1 2010-06-10 18:45 loop1p2
brw-rw---- 1 root disk 252, 2 2010-06-10 18:45 loop1p3


format

>mkfs.ext3 /dev/mapper/loop1p1 // i dont know if they are ext but when insert bootloader could change this.

>mkfs.ext3 /dev/mapper/loop1p2


And finally the LVM part.
I had to install lvm2 ,be carefull when finished desinstall .i am not expert with lvm but when installed it wanna change something on initrd.

I wanna as LVM physical volume (PV) all partition loop1p3

>pvcreate /dev/mapper/loop1p3

and i need the name was store (it mount on /dev/store/...).create the (VG)

>vgcreate store /dev/mapper/loop1p3

finally the "partitions" (LV)

>lvcreate -L 456M -n root store
>lvcreate -L 256M -n var store
>lvcreate -L 56M -n update store
>lvcreate -L 40M -n log store
>lvcreate -L 128M -n swap store
>lvcreate -L 5,57G -n media store //the free space

now the /dev/mmcblk0p3 partition should be a Linux Volume Group that is sliced into six Logical Volumes

Format:
>mkfs.ext3 -v /dev/store/log
>mkfs.ext3 -v /dev/store/media
>mkfs.ext3 -v /dev/store/root
>mkfs.ext3 -v /dev/store/var
>mkfs.ext3 -v /dev/store/update
>mkswap /dev/store/swap

(i can see the "partitions" with pvdisplay )
and unmount

>lvremove store
(yes all questions)

>kpartx -d /dev/loop1
>losetup -d /dev/loop1

desinstall lvm2 for avoing problems
>apt-get remove lvm2

compress the file
>tar cvjf mmcblk0.tar.bz2 mmcblk0




//Also i think maybe i could be used qemu image and after conver to raw:

qemu-img convert -f vmdk converted.vmdk -O raw converted.raw

Poblate the filesystem (work in progress)


Sobre todo kpartx ,losetup,lvm






THREE:load on qemu
First grab qemu omap3
I used :
qemu-omap3-v0.01.tar.bz2

>cd qemu-omap3
>./configure --target-list=arm-softmmu
>make

qemu-system-arm will be generated in directory qemu-omap3/arm-softmmu.
I copy on /usr/bin

We have some ways of load with qemu:

1)Using it as SDCARD ( i belive it is the easier way because the root devices names)

>qemu-system-arm -M beagle -sd mmcblk0 -append "root=/dev/mmcblk0

question:how to add the boot loader??

b)nandflash

(i am going to use the beagle'boards files because the loader is similar.the uImage i tried with older filesystem was nova-cust-image-castle)

>bb_nandflash.sh x-load.bin.ift webos.bin x-loader
>bb_nandflash.sh u-boot.bin webos.bin u-boot
>bb_nandflash.sh uImage webos.bin kernel
>bb_nandflash.sh mmcblk0 webos rootfs
>bb_nandflash_ecc webos.bin 0x0 0xe80000


>qemu-system-arm -M beagle -mtdblock mmcblk0


c)using a kernel ,ramdisk with our filesystem

qemu-system-arm -M versatilepb -cpu cortex-a8 -kernel uImage.bin -initrd ramdisk.bin -append boot-device=RAMDISK,rdoffset=0x200

WEBOS o esa maravilla de so.haciendo experimentos con ello

Recientemente tuve que cambiar de pda pues la mia murio.Afortunadamente encontre por ebay el mismo modelo muy barato en usa (y el modelo superior a un precio de ganga.Ya lo comentare en un post que quiero escribir dedicado a estas palm) .Y al volver a investigar sobre programas ,buscaba alguna manera de añadirle la opcion castellano pues la version europea traia muchos idiomas pero la usa no,encontre uno que era una maravilla:tealos.
Desgraciadamente palm les mando una carta para evitar que siguieran vendiendolo,pues es una copia descarada de su nuevo so.Yo lo probe en mis nuevas pda y quede gratamente sorprendido y me pico la curiosidad...

Y decidi investigar ya que me ha parecido la mejor interfaz para un sistema tipo pda multitarea,las cards, que he visto en mucho tiempo.Al final me baje el sdk para programar webos y viene una imagen virtual con el webos cargando en un sistema x86,los pc de toda la vida.
El sistema en si es un linux,pero con una interfaz grafica encima del framebuffer que es una maravilla basado en html/javascript/css webkit.

tengo dos ideas/proyectos en mente:

a)Usar webos como so normal el pc

Ahora ando investigando como escalar la interfaz,las aplicaciones...para mejorar la version del sdk y poder usarlo en un pc normal (este sistema operativo es independiente de la resolucion).Por ahora me dedico a jugar con el emulador y acceder al sistema via ssh o con novacom




NOVACOM

--Para poder usar novacom,hay que seguir estos pasos:
1)bajar y usar webos quick install
Unofficial os \install \ java -jar Webosquickinstall.jar

2)Decirle que me reinstale novacom



COMPILAR COSAS WEBOS


crear un paquete:

palm-package HelloWorld

Instalar app

palm-install com.mystuff.hello_1.0.0_all.ipk


lanzarlo desde consola,una app

palm-launch com.mystuff.hello

borrar app
palm-install -r com.mystuff.hello

teclas (como el portatil no las tiene home .. :( )


Entrar sistema

SSh

usar puerto 5522.user :root ;passwd:root


NOVACOM: (me ha encantado este programa,para acceder al pre sin necesitar instalar nada,deja tambien copiar entre palm pre y pc,la salida va al pc..

ej consola:
c:\Users\dani\novacom -t open tty://

reiniciar maquina:

novacom -w run file://sbin/tellbootie recover || true


redireccionar salida de un comando de la shell de webos al pc (tanto emulador como la del palm pre)

novacom -w run file://bin/mount > Unidades-montadas.txt

mandar archivo al emu/palm pre

novacom put file:///tmp/debian.tar.gz


Modo host :TUNEL
-----------

hacer un tunel ( y acceder via navegador)
ssh -p 5522 -L 5581:localhost:8080 root@localhost

Host Mode

Open your web browser, and enter one of the following addresses:

* http://localhost:5581/PalmApps for Palm internal applications.
* http://localhost:5581/Apps for 3rd party applications.




CAMBIAR RESOLUCION APP


ej usar una resolucion: 800x600


Al cargar en grub grub vga=343

OJO poner siempre alguna con 32 bits color.



/etc/palm/luna.conf

ScanCalculatesAppSizes=false


y reiniciar luna:

initctl stop LunaSysMgr && initctl start LunaSysMgr


me gusta que se le pueden abrir aplicaciones usando luna

luna-send -n 1 palm://com.palm.applicationManager/rescan {}


luna-send -n 1 palm://com.palm.telephony/programModeEnter '{"msl":"000000"}'



SACAR LA IMAGEN VIRTUAL X86

la imagen de virtual box a raw (en el x86)
$ vditool COPYDD WindowsXP.vdi WindowsXw.raw

o
si es estatica
dd skip=17 bs=512 if=test.vdi of=test-dd.raw





b)Portar webos-arm
Tambien ando haciendo pruebas de cargar una imagen de la version original ,es arm,y jugar con ella en qemu,pues existen varias maquinas con la misma arquitectura (palm pre,ipod touch 3g,iphone 3gs y una libre:beagle board) y seria increible poder cargar este sistema operativo en el ( y no digamos ios3/ios4) al estilo como se hace con los hackintosh (cargar macosx en un pc corriente)


necesitare algo como:
novacom boot mem:// < nova-installer-image-castle.uImage



Una cosa genial de este so es que los programas son independientes de la arquitectura:

The programs for the Pre, with the possible exception of some of the built-in apps, are not running code for the linux kernel and ARM processor. (I think the Pre is using ARM....)
They are written in javascript that is only interacting with WebOS.

WebApps que WebOS permite ofrecer a través de Mojo .Se trata de aplicaciones reales, totalmente capaces, y que sólo en algunos casos concretos necesitarán del apoyo de la programación directa al núcleo.
La solución de WebOS, se plantea como una alternativa real al modelo tradicional de aplicaciones compiladas y exclusivas para una plataforma concreta: presenta muchas ventajas de desarrollo y mantenimiento, y pocos inconvenientes, pero hasta ahora sólo Palm se había atrevido a adentrarse en este modelo. Hasta ahora, ya que Google va a utilizar el mismo modelo.



Lo que quiere decir que muchos programas escritos para webos-arm irian en la version webos-x86 sin tener que compilar codigo fuente.Una gozada




sacar una imagen de un palm pre (webos-arm)

mi idea inicial era usar doctor,el programa que se usa para reinstalar/reparar el palm pre cuando se casca,ya que lleva el rootfs entero,...Despues investigando encontre una utilidad llamada webOS Doctor image en donde viene un makefile interesante de ver como hace las cosas,por ejemplo las particiones las hace trenchcoat..
( git.webos-internals.org tools/meta-doctor.git)

Al final pense que seria mas comodo usar una ya hecha (cargar un sistema minimo con novacom ,al estilo de un bootcd en los pc y hacer la imagen y luego tratar de cargar el kernel y esa imagen en qemu-oemap.
basandome en ese makefile (el añadio la manera de hacer un backup del sistema,cosa que el original no te deja)
nova-cust-image-${CODENAME}-media.tar.gz" ;
nova-cust-image-${CODENAME}-rootfs.tar.gz"
nova-cust-image-${CODENAME}-varfs.tar.gz


Pero yo no las quiero de esa forma,si no una imagen raw
de /dev/mmcblk0 que es donde esta el sistema de ficheros.
(Este tiene tres particiones,pero con hacer la imagen del todo ,las partes pueden usarse luego en pc por separado en caso de necesitarlo.)

/dev/mmcblk0p1
/dev/mmcblk0p2
/dev/mmcblk0p3

para sacar el sistema de ficheros
1)poner modo developer
2)resetear el palm pre
3)conectar usb
4)En el menu puedes darle solo a cargar.

Asi que lo primero le decimos a bottie (el bootloader que se reinicie,este paso creo que podria omitirse ,pero bueno)

novacom -w run file://sbin/tellbootie recover || true

Enviamos la imagen que viene en doctor para que reinicie con ella ,(solo queremos que cargue en ramdisk,no vamos a pedirle ni que reinstale ni haga nada.Lo haremos manualmente)


novacom boot mem:// < nova-installer-image-castle.uImage

Esperar unos 5 segundos


Para probar primero podemos proceder a hacer una de la segunda particion,y ver si la hace correctamente,ya que son 42 megas y sera mas rapido

novacom -w run file://bin/dd if=/dev/mmcblk0p2 > mmcblk0p2

Tambien puedes decirle a dd que lo comprima para que ocupe menos:

"novacom -w run file://bin/dd if=/dev/mmcblk0p2 | gzip > mmcblk0p2.gz"

Para el backup de todo el disco duro:

(Nota,si se hace sin comprimir creara un archivo te ocupara 8 gigas en el disco duro!!)

novacom -w run file://bin/dd if=/dev/mmcblk0 | gzip > mmcblk0.gz

Nos creara un fichero llamado mmcblk0.gz

Otra manera seria usarndo ssh o terminal,pero mas incomoda:
sisdest # nc -lp 2222 | pv | gzip -d -c | dd of=imagen
sisorig # dd if=/dev/sda | gzip | pv | nc -q 0 sisdest 2222


y luego jugar con qemu-omap hasta que cargue,algo asi:

qemu-system-arm -M realview -cpu cortex-a8 -kernel zImag

Ojo ,qemu-omap necesita ser compilado con una determinada version gcc si no no ira.(hacer uno static mejor)

El append es algo asi

root=/dev/mmcblk0p2 rootwait ro fb=0x8f600000 fbcon=disable console=tty1
nduid=ea413b0b980b26d75c6658199d532472049644ae klog=0x8ff00000 klog_len=0x100000
boardtype=castle-dvt3 dsp_base=0x8f900000 dsp_len=0x600000


*using the nova-installer-image-castle.uImage image bootie

root=/dev/ram0 ramdisk=32768 ro fb=0x8f600000 fbcon=disable console=tty1
nduid=ea413b0b980b26d75c6658199d532472049644ae klog=0x8ff00000 klog_len=0x100000
boardtype=castle-dvt3 dsp_base=0x8f900000 dsp_len=0x600000 lastboot=recover





Cosas pendientes:
1)Ver como han escalado la ui (estoy esperado que lo posteen,parece que lo han logrado.yo por mi parte he logrado escalar las app)

en luna.conf cambiar:

ScanCalculatesAppSizes=false



2)el sonido en la version x86
http://forums.precentral.net/webos-apps-software/223899-how-copy-mp3-files-palm-pre-emulator-sdk-translate-music-player-r-french.html

4)traducir alguna app,cuando tenga mas experiencia con el sistema me gustaria dejarlo en mi idioma
http://groups.google.com/group/android-developers/web/localizing-android-apps-draft


OTRAS COSAS CURIOSAS:



OCULTAR APP

Encontre una manera de ocultar app para que no quede tan lleno la ui
APP ocultar otras

como palm hider

http://forums.precentral.net/webos-apps-software/252050-app-request-hide-specific-app-icons-launcher.html
For those comfortable with Receiving and Sending files via WebOS Quick Install you can do this manually.
Applications are located in /usr/palm/applications/
The file you need to modify within each of the application folders is appinfo.json

So, for an example, let's say you want to hide the photos app.
In WebOS Quick Install, with your Pre plugged in, Receive the file /usr/palm/applications/com.palm.app.photos/appinfo.json (save where ever you like on your PC/MAC).
Add a comma to the last entry in the list, then below the last item add the text: "visible": "false"
Include the quotes. Should end up looking like
Code:
{

"title": "Photos",
"type": "web",
"main": "real.html",
"id": "com.palm.app.photos",
"version": "1.0",
"icon": "icon.png",
"splashicon": "icon-256x256.png",
"splashBackground": "images/splash-screenshot-default.png",
"vendor": "Palm, Inc.",
"keywords": ["pictures", "photos"],
"visible": "false"

}
Save the file, then Send it back to the Pre to the same location: /usr/palm/applications/com.palm.app.photos/
Do a Luna Restart.


otras direcciones utiles:




X-win
---------

http://arstechnica.com/open-source/news/2009/02/desktops-on-cell-phones-x-windows-on-android.ars
http://hackaday.com/2009/02/22/x11-on-android/
http://www.precentral.net/x-server-coming-webos-bringing-along-openoffice


Meter una distro debian-arm usando chroot
-------------------------------------------------------------------------
http://www.webos-internals.org/wiki/Debian
mount -o loop /media/internal/debsmall.img /media/cf

mount --bind /dev /media/cf/dev
mount -t devpts none /media/cf/dev/pts
mount -t proc none /media/cf/proc
/usr/sbin/chroot /media/cf #Just that easy!
If you want to share your display (such as to run X11 apps) you'll need to also do:
mount -o bind /tmp /media/cf/tmp
Es parecido a como meten android en iphone/ipod touch.Mi idea inicial era redimensionar
O al ser lvm tendria que ser :


lvresize -L 6G /dev/mapper/store-media

lvcreate -L 2G -n Debian/Android store


pero veo esto mas comodo

http://www.webos-internals.org/wiki/Nintendo


All on freenode IRC.
  • #freesmartphone.org - main channel
  • #openmoko-cdevel - sometimes related discussion
  • #webos-internals - sometimes related discussion

A peleas con la swap

La memoria swap es basicamente usar el disco duro como si fuera ram.Se utiliza en los sistemas operativos modernos para ayudarse con la famosa multitarea,ya que la ram es siempre mas limitada que el espacio en disco duro.

El otro dia encontre una web muy util que te enseñaba como usar el archivo que usa windows como memoria swap con un sistema linux,ahorrando tener que usar parte del espacio del disco duro para una particion de swap.

http://www.blueorb.es/2010/03/07/compartir-la-memoria-virtual-de-windows-con-linux/

Me parecio de lo mas util,solo hay que bajar este archivo,y usarlo con el archivo de paginacion de windows (por supuesto montado la particion primero)

http://dl.getdropbox.com/u/114786/install-swapwin


Ahora ando de peleas para conseguir que mi recien comprado eken tenga memoria swap (solo tiene 128 de ram) y eso aceleraria mucho la multitarea.
He encontrado dos app pero por ahora no me han satisfecho del todo
Haber que tal

Je,parece ser que tambien las hay para ios (el sistema operativo que lleva el iphone /ipod touch)
iPhoneV

Primeros pasos con android en mi eken

Lo compre en una tienda que vendia por ebay,por 100e mas gastos de envio (30 e ).

Primer dia:

Ya habia estado leyendo un monton de reviews ,bajado algun programa...y estaba muy ilusionado.Pero fue encenderlo y buff.Pero que lento iba.Era increiblemente lento.
Menuda decepcion,solo el menu de las aplicaciones era tremendamente lento.me dije bueno ya mirare los custom o algunas cosas,habia leido los problemas de memoria...(aunque 128 de ram no es moco de pavo,alguno puede que se sorprenda al leer esto,pero he trabajado/trabajo con maquinas mucho menores (llevo años muyy feliz con mi zire31 ,y no llega a 16 de ram.vale que es palmos, y no es multitarea pero existen linux muy bien optimizados para maquinas incluso menores (linuxda como ejemplo ) u otros sistemas operativos como contiki que funcionan en las maquinas de 8 bits ,incluida una nes,y son multitarea,asi que eso no deberia ser un inconveniente.

Asi que mi primera opcion fue actualizar,antes de meter ningun programa o trastear por mi cuenta.Decidi darle una oportunidad al oficial.Buff,la cosa seguia parecida,mejoro algo pero poco.Segunda desilusion.Aqui meti algun programa pero me "dolia" la lentitud.
Aun asi probe otros desktop como slide screen pro,ya que habia leido que era de los mas rapidos,pero a pesar de que asi era ,no me gusto mucho su apariencia (tampoco gaste mucho tiempo configurandolo)


Segundo dia:

Asi que la siguiente opcion fue vamos a ver que tal van los custom,pero sin mucha esperanza.Graso error por mi parte.Meti el ecotox v1 y wow,por fin era manejable.Me gusto mucho la interfaz helixer,muy funcional y extremadamente rapida comparada con la que traia por defecto.Luego otros programas que incluye me parecen excelentes.Seguia con un problema de al abrir varios,pero vi que se solucionaba con programas como taskiller.No me acababa de convencer del todo,pero era un gran paso.
Meti otros programas,y bueno la cosa mejoro mucho.No le sobraba mucha ram,estuve trasteando con los programas de hacerle swap.



Tercer dia (ayer)

No habia estado en casa en todo el dia asi que no habia podido usarlo .Por la noche estuve leyendo mas cosas y vi que habia un custom basado en el update de los del eken:slatedroid.Yo estaba contento con el anterior,pero me decidi a probar,sobre todo por lo que comentan :

-Battery Enhancement, should get 1-2 hours extra.
-Speed Improvements (see reference table)

sonaba goloso.Luego podria añadirle las app que tanto me habian gustado en el anterior.Asi que meti todo en la sd y ya cuando estaba acostandome decidi meterlo (en caso de no gustarme siempre podria meterme el anterior).Increible,traia las mismas aplicaciones que el update oficial,muchas menos pero las utiles me refiero.Pero lo mas sorprendente : La velocidad del desktop.No me lo podia creer,era ,creo ,haber si he leido mal ,el que trae por defecto,pero rapido y usable.
Alucinante.(De todas maneras voy a usar el Helix launcher,me encanto y tambien es muy rapido.
Meti los programas que me gustaron del otro y algunos que ya habia probado,y genial.
Cuando termine de hacer cosas me dedicare a "jugar" con el,pero la experiencia no podia ser mejor.

Asi que totalmente recomendable usar cualquiera de los dos custom.No he trasteado demasiado con este ultimo,como unica pega lei que el market y youtube van mal,pero es cuestion de ver como lo hizo ecotox y ponerselo a este (prefiero salvo que hubiera una gran diferencia usar el slatedroid ya que esta basado en la ultima version.)

algunas cosas que no me acaban de convencer,como el dichoso programa de la swap no queria ir,y sobre todo unos iconos que me habian aparecido pidiendome root.Sabia que algunos programas root funcionaban perfectamente,pero otros no (droid swap,la propia terminal no dejaba root)...como si el acceso a root fuera con unos programas y con otros no.


Intente borrar unos apk desde el terminal y al hacerlo (curiosamente me dejo) salto un error.El sistema dejo de hacerme caso y dije pues bueno,voy a confirmar mis sospechas instalando de nuevo [B]ecotox[/B].
Curiosamente al ejecutarse me di cuenta que traia tres launcher (home y home++),no solo el helixer,asi que la teoria que todos estaban gastando ram no debe ser muy valida (mas abajo explico sobre esto)

En fin,que parece que el root esta de alguna manera mal implementado en el slatedroid.

Una diferencia curiosa entre ambos es el sistema de archivos linux en el slate droid esta montado lectura y escritura,mientras que el ecotox no (como viene por defecto en cualquier android)




Aqui mi lista:

Escritorio:
-Helixer (a pesar que el default va rapido en este custom,me habia enganchado ya,ademas he visto en la pagina donde lo crearon configuraciones y fotos increibles,asi que cuando le tenga configurado sera una gozada )

-Slide screen pro parece bonito,pero me gustan mas los de apariencia mas "clasica"

-launcher pro basado en helixer pero solo va a partir version 2.x asi que no en mi eken :(

Quickdesk,del mismo creador que el helixer.Se puede bajar de la misma pagina que el helixer (ojo en nuestro tablet es el Helixer launcher donuts :http://helixproject.ruqqq.sg/
Creo podria ser una combinacion explosiva con ultimate faves (ya le mande un correo al autor preguntando por la posible compatibilidad con nuestra tableta,haber que cuenta)




Manejador Procesos y app ram:
-memory boster libera memoria .

-advanced task manager .Tras usar este y process manager me quedo con este.el otro es tambien interesante pero tiene la pega que si quieres que una aplicacion no se cargue va y la desistala

Matar aplicaciones automaticamente para mejorar multitarea
Esta claro que a pesar de ser multitarea no va muy sobrado para abrir muchas app,ademas tampoco tiene sentido de tratar de usarlo como un sistema operativo de escritorio.tras usar taskiller encontre que el propio android lleva un sistema eficiente,que se puede configurar a mano o bien hay programas que lo usan.
(ver mas en :http://madsquirrelapps.wordpress.com...ger-changelog/)
Task killer simplemente mata las aplicaciones ,pero no lo hace segun salen,al menos a mi no me lo hacia ,si no cuando dejas de usarlo un momento y sale el protector.Al volver hace su tarea.
Pero mucho mejor usar el sistema que trae por defecto:
-automemory manager

[B] memory buster lite[/B] solo para limpiar cuando tu le mandes pulsando el boton (por eso es la lite)

Ya se la razon por la que no da problemas Memory Booster Lite al tenerlo cargado al mismo tiempo con administrador de tareas automatico.
La razon es muy simple,mietras que el administrador de tareas automatico es un programa "entero",se dedica a estar en el fondo limpiando.
El otro es una version recortada (la entera es de pago) y solo te deja ver la pantalla inicial y el bonito boton para "limpiar ahora".Si intentas activar las otras opciones,como que se ponga a limpiar en el fondo te dice que lo compres.
Por lo tanto no interfieren uno con el otro por eso.Asi que mejor si quieres usar ambos ,usa la lite.En caso que quieras solo el memory buster compra la de pago (hace realmente lo que el administrador de tareas,pero a gustos los colores)

[B]memory up profesional[/B] Este programa lo he descubieto gracias a un post de este foro.En principio hace lo mismo que el [B]administrador tareas automaticas[/B],pero curiosamente no para de decirme que mi sistema tiene 32 megas.se puede hacer un limpieza (como en el memory booster lite ,que es para lo que lo tengo,la full deja mas cosas,pero ya uso el administrador de tareas automatico pa ello),tarda un rato mas pero nada,segun el acabo con mucha ram libre de esas 33 megas.
Tiene algunas opciones en el menu avanzado que me parecieron interesantes,pero no me ha resultado nada funcional.Y no se xq al darle al boton tarda tanto.Asi que decidi borrarlo,(aun cuando me funcionara el full como en el fim de slate no me interesaba tampoco por lo que comento)



Configurar las aplicaciones cargan en el arranque

[B]advanced task manager[/B] tiene una opcion para parar los servicios.Un "must have"

[B]start up audito[/B] Muestra de manera muy detallada las app ,el problema que solo da info


Lector libros

Una vez tenga el eken a mi gusto,estas seran las aplicaciones que mas uso dare,por ahora solo probe varias y las que tenian mejor pinta fueron:

beam reader
droif reader
Ireader (deja leer muchos formatos como mis antiguos pdb.Pero tengo que buscar otra version pues la que baje para instalar no funciono.(y el ecotox lo llevaba)
Fbreader

Consola

Como buen amante que soy de los unix ,adoro la consola de comandos.he visto que hay muchas opciones,tengo metidas varias
conectbot (vale para local,telnet y ssh.asi que puede que sea con la que me quede por el todo en uno)
better emulator terminal
lse

Explorador de ficheros

Otro imprescindible en cualquier maquina.Aqui me gusta el que trae por defecto nuestras eken y el que metio ecotox (que permite ademas conectar a maquinas compartidas...)

es file explorer
root explorer por si necesito hacer alguna cosa como root,aunq podria hacerlo usando una consola.


Swap



droid swap.El programa que mejor funciona.Necesitas ser root


[B]gscript[/B]
te deja escribir script y ejecutarlos facilmente


Y por ultimo una aplicacion que promete muchisimo pero desgraciadamente no funciona bien en nuestras maquinas (usa opengl por lo cual es lentiiisimo).Voy a contactar con la autora haber si hay alguna opcion que la nueva version funcione:ultimatefaves pro.
pero es un lanzador que tiene una pinta bestial.




Dani