The Agenda VR3: Real Linux in a PDA
Pages: 1, 2, 3, 4
Networking
No Linux installation is complete without the ability to bring up network connections, and the Agenda VR3 environment doesn't disappoint. From the menu or LaunchPad, selecting Network brings up a list of connections: MS Direct Cable Connect, Modem to Internet, and Direct Serial.
To establish a PPP connection between your Linux desktop and the VR3, just connect them with the serial cable, and enter the following in a root console on your desktop:
/usr/sbin/pppd /dev/ttyS0 115200 10.1.1.2:10.1.1.3 noauth nodetach novj
debug local
This assumes you've plugged the serial cable into the first port. If not, change ttyS0 to be appropriate. Then, on the VR3, select the Direct Serial connection and press the on-screen Start button. The VR3 and your desktop should negotiate a connection, with both sides reporting success.
At this point you can telnet to the Agenda VR3 from your desktop, and establish an interactive console session with your handheld. Haven't you always wanted to be able to do that?
The root password is, by default, "agenda". The regular user
account which is used for the PDA applications, "default", has no
password set. You can log into the VR3 as either user, and if you
log in as default, you can execute the usual su and answer the
challenge to become root.
How do you transfer files from and to the device? rsync.
I'm not joking.
To copy a file to the default home directory, execute something like this:
rsync somefile.txt 10.1.1.3::vr3/home/default/
Lastly, since the VR3 is running a full X Windows, you can also import and export your displays. On a console on your connected desktop, type in:
xhost +10.1.1.3
In a console on your VR3, enter:
export DISPLAY=10.1.1.2:0.0
Then, in the same VR3 console, launch one of the GUI applications, and watch it open its window on your desktop! You can also do the opposite, and run applications on your desktop that are displayed on your VR3. This can, in fact, be an excellent way of testing GUI design on the VR3 during development, without using the full cross-development tool chain.
While the ability to telnet and rsync in and out of the machine is incredibly useful and powerful, it also makes for a pretty serious security risks if ever connected to a hostile networking environment. I personally never intend to make my VR3 a full "peer" on the Internet. It will instead be a well-protected host behind NAT and firewalls (just like all my other important computers).
Upgrading your Flash
Installing a new version of the Linux Kernel and/or the root file-system involves flashing the appropriate blocks of memory with binary images. These are available from the Agenda FTP site, or you can compile and build your own. As of the date of publication, the latest versions are known as Matrix, and are release-to-manufacturer candidates.
Thanks to a tool called vrflash, written and maintained by Jeff Carneal, downloading and flashing new images is a piece of cake. Versions exist for
both Linux and Windows -- see Carneal's pages
for both versions.
Since the documentation included with vrflash is so complete, I won't bother
suggesting command line options here. I will, however, strongly suggest you
read, and then complete, the instructions included in the doc/pmon-protect-unprotect.txt file. You wouldn't want your VR3
to be a brick, now would you?
I encourage you to upgrade to the latest versions of both the kernel (vmlinux-???.binary) and root (root-???.cramfs) images. Agenda has made significant improvements have occurred in only the last few weeks prior to publication of this article, and I suspect, new and improved images will be available on an ongoing basis.
Terminal Booting
|
The boot process of a VR3 is a bit like that for a PC, but instead of a BIOS and LILO, we first encounter the PMON facility immediately after a boot. Sending any character in the VR3's serial port within 3 seconds of a reset will result in an interactive session with PMON.
In addition to burning new file systems into flash memory, PMON can
be used to change the default Linux boot parameters. For example,
issuing the command $linux console=ttyS0,115200 at the
PMON> prompt results in the boot console messages
being redirected from the VR3's screen out to the serial port.
Before the vrflash utility was available, VR3 users had to interact with
PMON directly every time they wanted to upgrade their systems. Fortunately,
that's no longer needed, but PMON can be a very handy tool to know
about, being the equivalent of LILO on a PC.
Documentation for PMON
is available at the developer's site.
