The Basics of The Palm Pre Linux

Posted: Sep 23, 2009 | Comments: 0 | Views: 513 | Bookmark and Share

Written by:
Alexandr Dodatko,
Junior Software Developer of Device Team

Apriorit Inc.

Table of content

Introduction

1. SDK Installation

2. Start to work with Linux

3. Program Installation

4. System foldes review

4.1 Standard system directories

4.2 Specific Directories of Web OS

5. Work with FTP on the Palm Pre

5.1. Data exchage procedure

5.2 Work with console client ncftp

Referrences

Introduction

Palm company released (http://www.palm.com/us/products/phones/pre/) the new smartphone managed by GNU Linux based operating system. This product becomes more and more popular due to the cute GUI, well-documented SDK and easy start on the development. But nevertheless many low-level features of this system is poorly documented.

This article will be useful for those who start working with the console interface of GNU Linux generally and Palm Web OS in particular. It may be useful also for the developers who need more capabilities than Mojo SDK provides to solve their task.

In this article we'll consider such questions:

  1. SDK installation and configuration.
  2. Accessing Linux using "novacom" utility. Basic Linux commands.
  3. Installation of additional utilities (sudo, package manager etc.). Configuration of the virtual machine (virtualbox). Install\remove packages.
  4. Short description of the system files and directories specific for Palm Pre.
  5. Work with FTP on Palm Pre, review of some files content.

This article is some kind of review.

1. SDK Installation

I used emulator from the Palm Mojo SDK package to research the features of Web OS.

You can download it from the official site: http://developer.palm.com/index.php?option=com_ajaxregister&view=register&sdkdownload

Or use this link (no registration): http://developer.palm.com/index.php?option=com_content&view=article&id=1788

Choose the platform you need on the download page (Fig.1) and then follow the instuctions on the site and in Install Wizard. It's better to install Java first, thenVirtualBox, and thenSDK. Such order decrease the possibility of errors.


Figure 1: Choosing platform

During the installation the virtual machine for Palm Web OS will be created. You don't have to create it manually.

2. Start to work with Linux

To start work with Web OS Linux start the emulator. You can use either the shortcut created by installation program (fig.2) or VirtualBox interface(fig.3).


Figure 2: Start with shortcut


Figure 3: Start from Virtualbox

If verything is ok then you'll see the Emulator window (fig.4). We'll need the Internet connection for the further work. It should be configured only in the host system (in our case it's Windows) . You can check ff there is Internet on Emulator simply starting Web Browser. To do it choose Programs (right bottom icon) => Web. After that try to open some site just like on the computer. Search something for example (fig.5).


Figure 4: Palm Emulator


Figure 5: Palm Web Browser

Now we should use the novacom.exe utility to connect to the device. To get the full information about this program options enter

novacom.exe --help

The command

novacom.exe -t open tty://

opens the Linux terminal window.


Figure 6: Linux Console

Note: like in the usual Linux, more than one terminal can be opened in Web OS.

First lets browse the file system. ls command is used for this. After entering it we see the content of the current directory (root by default).


Figure 7: Results of the ls command

To distinguish files from directories we an use option ls -F


Figure 8: Results of the ls -F command

Directories now have / symbol at the end. So as you see we have only three files in the root directory: wget, log.txt, md5sums.

When using ls -F some other symbols can occur at the end of the file names.

Suffics

Meaning

@

Symbol link

*

Executable file

/

Directory

=

Socket

You can see the examples by entering commands:

ls -F /bin ls -F /tmp

More detailed information about the file system element type can be obtained by means of file utility. This utility is disabled in Palm Web OS by default. Later we'll consider how to install it.

To browse the file content use the command cat <filename>.

For example,

cat md5sums

To obtain the full information about the command enter <command> --help, or search the Internet with keywords "man <command>". You can also read the help in the full Linux version entering "man <command>".

I propose reader to learn also such commands as rm (remove files\directories), mkdir (make directory), touch(create file), cp (copy), pwd (get current path).

3. Program Installation

The process of the program installation for Linux is a bit different from this process in Windows. Unlike other systems Linux has repositories. Repository can be considered as the database that contains program, libraries, and relations between them. There is some special software that manages repositories and install software on the local computer. Such software is called “package manager”. The package manager compares software versions on the computer and in the repository, download software, resolve conflicts between packages. More information about package managers can be found in the articles [4],[5],[6],[7].

By default, Palm Web OS does not have a package manager. To install it use the guide

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

The script optware-bootstrap.sh performs the following:

  1. Formats /dev/hdb for its needs
  2. Installs package manager ipkg-opt
  3. Creates the list of repositories /opt/etc/ipkg/optware.conf
  4. Installs the sudo program, creates the user with the root (administrator) rights
  5. Installs ssh, sftp server.

In the original script some of the mentioned actions cannot be performed on the emulator (for example (4)). It's also required to have /dev/hdb device. By default, there is no such device on the emulator so you should add it manually. Detailed instructions can be found here:

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

I've put the fixed version of this script into the attachments to this article. It lets user to change disk for installation and also is free from the limitations for the emulator.

To start the fixed script you shoud get it on the device using the wget command. To organize file exchange with the device you can install ftp server on your computer or other computer in your local network.

After entering the command

wget ftp://192.168.0.60/optware-bootstrap-edited.sh

the file will be uploaded to the device ???? to the current directory (ip adress should be of the computer with ftp server of cause). DON'T use symbol names of the machines (for example

wget ftp://my_computer_name/optware-bootstrap-edited.sh
 

) as far as Web OS won't be able to convert them to the address correctly.

So, we have executed the script and installed a lot of useful programs. Now we have package manager and so we'll be able to install all missing programs. To do it, use the following command:

ipkg-opt install <parckage name>.

For example

ipkg-opt install file

The list of the packages can be browsed by the command

ipkg-opt list

or by following the link:

http://ipkg.nslu2-linux.org/feeds/optware/i686g25/cross/unstable/Packages

Developers and enthusiasts may want to install gcc compiler, gdb debugger, make utility, python interpreter and other great things. The presence of these utilities allows program installation by means of building from the source texts.

4. System foldes review

Let's start from the folders that are common for all Linux systems.

4.1 Standard system directories

1. /bin, /lib, /home,

These are folders for standard utilities from Linux package, shared libraries (Windows *.dll analogues) and user files correspondingly.

2. /mnt, /media, /lost+found

The access points to the external data storages (floppies, hard disks, optical disks) are stored in these directories. In the Palm memory card (micro sd) can be mounted to this directory. And there is nothing interesting there on the emulator.

Note: The lost+found directory is specific for the extX (ext1, ext2, ext3, ext4) file systems.

3. /dev

Device files are stored here.

/dev/hd[a..z][1..N] – logical partitions of hard disk

/dev/hda1 – root file directory

/dev/hdc – bootloader

/dev/hdb – the section we created earlier or the physical data storage of the real device – 8GB (~7GB user available)

ttyN – console devices.

null – «black hole», eating all information that is entered into it.

4.2 Specific Directories of Web OS

1. /var/luna/data/dbdata/

There are databases used by high-level applications of Web OS.

Bases PalmDatabase.db3 and PalmAccountDatabase.db3 is in sqlite format. There are data of such applications as mail accounts, notes, calendar, chat, memo stored in them.

They can be browsed by any sqlite viewer (see [9]). I would like to advise this one http://link.osenxpsuite.net/?uid=homepage&id=sqlite2009pro.zip

We will discuss how to exchange files with Palm Pre in the next section.

2. /var/luna/data/mediadb.db3

The data about the locations of images, music, movies etc. are stored here. After analysis I can say that these data are stored in the directories: /media/internal/, /usr/palm/ and their subdirectories.

3. /var/luna/data/emails

The text of email messages is stored in this directory in html and ascii formats.

4. /usr/share/dbus-1/system-services

Here you can find Java services (or, if yo like, deamons). Using them the application developed with the usage of Mojo SDK can get access to the low-level components of the system.

5. /usr/lib/luna/java

Here java library files (*.jar) are stored, they are used by services.

5. Work with FTP on the Palm Pre

5.1. Data exchage procedure

Well, now we know what and where is situated. But it's not very convenient to research file content directly on Palm Pre. So we have a task of getting files from the device.

One of the methods is FTP protocol. And so you should:

  1. Install FTP server (for example this one http://filezilla-project.org/download.php?type=server ) to the one of the computers in the local network you work in (for example on your own one).
  2. Install the FTP client on your computer. It can be the plugin for Far Manager or Total Commander, or it can be separated application – for example FileZilla ftp client (http://filezilla-project.org/download.php ).
  3. Install FTP client to the Palm Pre:
    ipkg-opt install ncftp
  4. Use ncftp to transmit data to the server (it will be described later).
  5. Get data from FTP server to your computer.

5.2 Work with console client ncftp

To connect to the server enter ncftp <url>.

Or

ncftp
open <url>

Remember that

<url> = ftp://<Ip Address>/ symbol names are not allowed
<url> = <bookmark name>

When the connection is established the current local directory is «frozen». Instead of working with the directory all commands of navigation in the file system are translated in the commands of the FTP and processed by the server.


Figure 9: Server navigation with ncftp

Now, after you choosed the necessary remote directory data exchange can be performed:

put <filename>
get <filename>

You can also use some mask instead of the argument. For example, put *.txt


Figure 10: Transmission of the several files using the mask

To send the directory use the command put -R <dir_name>


Figure 11: Sending the directory with ncftp

Ncftp also supports such commands as mkdir, rm, rmdir, pwd.

The same commands but with l- prefix are used to navigate in the local file system: for example lmkdir, lls, lpwd etc.

You can find the full list of the commands on the official program site:

http://ncftp.com/ncftp/doc/ncftp.html

Download scripts sources.

Referrences:

  1. http://developer.palm.com/

  2. http://www.palm.com/us/products/phones/pre/

  3. http://www.webos-internals.org/wiki/Next_steps

  4. http://www.control-escape.com/linux/lx-swinstall.html

  5. http://www.linuxforums.org/forum/linux-tutorials-howtos-reference-material/64958-how-install-software-linux.html

  6. http://www.linuxcenter.ru/lib/articles/system/rpm_howto.phtml

  7. http://www.debian.org/doc/manuals/apt-howto/index.ru.html

  8. http://www.webos-internals.org/wiki/PalmDatabase.db3_File

  9. http://www.sqlite.org/cvstrac/wiki?p=ManagementTools

  10. http://link.osenxpsuite.net/?uid=homepage&id=sqlite2009pro.zip

  11. http://ipkg.nslu2-linux.org/feeds/optware/i686g25/cross/unstable/Packages

  12. http://filezilla-project.org/download.php?type=server

  13. http://filezilla-project.org/download.php

  14. http://www.perpetualpc.net/srtd_commands_rev.html

  15. http://ncftp.com/ncftp/doc/ncftp.html

(ArticlesBase SC #1262905)

Rate this Article
  • 1
  • 2
  • 3
  • 4
  • 5
  • 0 vote(s)
    Feedback
    RSS
    Print
    Email
    Re-Publish

    Source:  http://www.articlesbase.com/programming-articles/the-basics-of-the-palm-pre-linux-1262905.html

    Article Tags:

    palm pre linux

    ,

    palm web os

    ,

    palm sdk

    ,

    novacom

    ,

    sudo

    ,

    palm package manager

    ,

    ftp on palm pre

    Palm Pre Basics - #7 - Synergy in the Palm Pre Contact and Address Book

    Synergy on the Palm Pre puts the web in webOS. With Synergy, contacts from multiple sources like Google, Facebook and even Microsoft Exchange contacts are synced with the Palm Pre easily. This ensures you'll always have the most up-to-date information for your contacts. You can also assign a photo to a contact on the Palm Pre. (03:51)

    Palm Pre Basics - #12 - Web Browsing on the Palm Pre

    Jay Goldman demonstrates how to use the browser on the Palm Pre in this, the last installment of our video tutorial series on the Palm Pre. A solid web browser is make or break for a smartphone, and the Palm Pre doesn't disappoint with its WebKit-based mobile browser that's capable of rendering full HTML pages. (04:29)

    Palm Pre Basics - #8 - Synergy in the Palm Pre Calendar

    Synergy in the Palm Pre extends to the calendar application as well as the contacts application. Using Synergy to sync Palm Pre with Microsoft Exchange, Facebook and Google means you'll always have up to date appointments synced to the Palm Pre. (04:43)

    Palm Pre Basics - #5 - Syncing with iTunes and Charging the Palm Pre

    The Palm Pre has been marketed in part on its media playing capabilities and its ability to sync with iTunes. If you stay one version behind on the iTunes update cycle, that's true. However, Apple seems to be actively trying to make sure iTunes syncing doesn't work on the Palm Pre. With each iTunes update you install, you run the risk of disabling syncing from the Palm Pre to iTunes and vice-versa. (02:49)

    Palm Pre Basics - #3 - An introduction to Palm Pre's webOS

    As any smartphone user will tell you, in addition to the look and feel of a handset, it's the operating system that really makes or breaks the experience. While it took Palm quite some time to develop the interface for the Palm Pre, the end result is a very usable and well thought out user experience. In short, it was worth the wait. Jay Goldman explains how to use the webOS interface on your Palm Pre. (03:01)

    Rightway Solution

    Before building website you need to know which language you are going to use in a professional looking website. PHP is one of the best and easy to use programming language as it can be run to any operating system.

    By: Rightway Solution l Computers > Programming l Feb 08, 2010 l Views: 3

    How does an Ad Tracking program work * you don't have to change anything at your web site * you don't have to examine your web site logs * you don't have to make copies of your web pages You just replace the URL that you want to place in your ad with a 'tracking' URL which the ad tracking program will give you.

    By: Daniel Jowssey l Computers > Programming l Feb 08, 2010 l Views: 2

    CherryPy is also a complete test suit supporting several testing for advanced and basic functionality. It also comes with built-in tools for encoding, authorization, static control.

    By: Manish Shrivastava l Computers > Programming l Feb 05, 2010 l Views: 9

    All kinds of iPhone apps, be it for fun or utility, business or gaming, web access or alerts and updates, now can be made all yours just with the assistance of an iPhone development firm.

    By: Manish Shrivastava l Computers > Programming l Feb 05, 2010 l Views: 13

    Many people have questions about how to strip off DRM from iTunes, so they could play iTunes movies or music on TV and DVD players rather than being confined to apple TV, iPod, or iPhones. However, they turn out to get no complete solution. This article will show you free and easy ways of removing DRM:

    By: freedoor1 l Computers > Programming l Feb 04, 2010 l Views: 24

    It does not matter weather your looking to spice up your web site as a hobby or if you are looking to save some money on PHP programming for you ecommerce sites. Learning PHP 5 has never been easier to do. There are thousands of PHP scripts out there, available for free just waiting for you to download them, and add them to your web site. The problem is that knowing basic PHP skills is a prerequisite to installing most PHP scripts out there on the Internet today.

    By: Rick Beach l Computers > Programming l Feb 04, 2010 l Views: 25
    Murat Yasar

    While I was thinking possible solution for this, I thought if I could create a request periodically to my application, I would not get a late response. Because I might be able to warm up my application without waiting the first request to hit my app. Afterwards I started thinking about a way of creating request automatically. I thought that a windows service might be very useful. What I did was basically I built a windows service which creates a request to URL's.

    By: Murat Yasar l Computers > Programming l Feb 04, 2010 l Views: 7
    Bob Walker

    Desktop Defender 2010 is a malicious antispyware application created by the same hackers who also created other famous parasites such as Unvirex and Centravio. It uses tactics such as declaring itself a legitimate security tool and claims to detect and remove computer threats. It will ask the victim to install its free trial to check the victim's computer. Once installed, it will run fake scans and will convince the victim to purchase the full version of the program for it to dispose of the thre

    By: Bob Walker l Computers > Programming l Feb 03, 2010 l Views: 11

    This article describes an easy way to set up system-wide global API hooks. It uses AppInit_DLLs registry key for DLL injection and Mhook library for API hooking. To illustrate this technique we will show how to easily hide calc.exe from the list of running processes.

    By: Apriorit Inc. l Computers > Programming l Dec 28, 2009 l Views: 69

    This article was mostly written for Linux developers. The article gives a method of writing out-of-process plugins to open source software – i.e., plugins that will work as a part of the software but will run in another process, so their code may stay closed.

    By: Apriorit Inc. l Computers > Programming l Dec 01, 2009 l Views: 31

    Though the Clipboard is one of the fundamental parts of the Windows operating system, there is little information about how it works, especially in the low level. In this article, I’m going to tell you something about the Clipboard internals by showing how you can forbid access to it.

    By: Apriorit Inc. l Computers > Programming l Nov 11, 2009 l Views: 28

    This article was written mainly for developers who use Firebird Embedded SQL Server in .Net framework applications and want to speed up or optimize DB queries. We will describe how to create your own native Firebird extension and show some approaches how to use it in managed code applications.

    By: Apriorit Inc. l Computers > Programming l Oct 24, 2009 l Views: 69

    This article describes the process of initial configuration and basic work with Palm Web OS on the lower level than it's described in Palm SDK docs.

    By: Apriorit Inc. l Computers > Programming l Sep 23, 2009 l Views: 513

    This article describes the protocol of data exchange that is the modification of the well-known OBEX protocol used in the GSM Samsung phones from the SHP family. The described modification of this protocol lets you write data to the phone and also get and save them.

    By: Apriorit Inc. l Computers > Programming l Aug 19, 2009 l Views: 85

    This article is devoted to the Embedded Firebird database usage and also development of C++ wrapper of this database.

    By: Apriorit Inc. l Computers > Programming l Aug 19, 2009 l Views: 150

    This article shows how to use FTDI API to interact with the devices, which have FTDI chip within. The basic API set necessary for common operations is described. The article also touches upon topic of FTDI chips EEPROM programming.

    By: Apriorit Inc. l Computers > Programming l Jul 09, 2009 l Views: 622

    Add new Comment

     
    * Required fields
    Author Box
    Articles Categories
    All Categories
    0