After checking my PMON version, I found out I was using version
1.4.5 of Lemote's PMON.

This email will show two things : how to upgrade your
Lemote 8101B to PMON's version 1.4.9 and, this is a
special gift for Miod, how to install Puffy as boot
picture so each time you turn on your Lemote, Puffy
(or the picture of your choice) appears. That's why
you bought a Lemote right, to be able to hack it from
the very "BIOS" no ?

Part I : upgrade to PMON 1.4.9

As you know, the 8089 and 8101B share the
same PMON. Explanations here will work for both

Boot your machine, and press C to get into PMON's
prompt. You can use the "env Version" to check what
is your PMON version. Latest one for 8089 and 8101B
being 1.4.9 :
Mine answers this :

BEV in SR set to zero.
PMON > env Version
   Version = LM8089-1.4.5


On this web page, you can check the status of the
PMON according to your Lemote model :

Latest version being :

Here is the link to the sources to build version
1.4.9 (that does require a Linux, and setting it
for cross-building and, to make things easier,
you need a specific gcc version too) :

So here I'm going to be nice and directly distribute
the compiled PMON binary :)

Here it is :

This file contains the binary form of PMON, ready to
burn into flash, for the Lemote 8089 and 8101B. If you
do not have one of those two models, please, please,
don't go further : you will brick your unit.

Download the file, gzip -d it and check the SHA1 is
valid :


* * * * * * * * * *


I have to warn you. Seriously. If you are
burning a PMON update, you MUST be sure the
SHA1 for the file is good and you MUST be sure
you are typing the commands I give exactly,
especially the memory addresses. If you screw
up in the SHA1 or the commands, there is a high
risk of bricking your netbook and you will have
to send it back to Lemote for repairs.

This warning is also valid for the Part 2 where
I show you how to burn a new boot-up picture
in PMON.

Please be cautious

* * * * * * * * * *

Follow the instructions here to install version
1.4.9 of PMON. Only for 8089 and 8101B models.

1. Grab an USB key and format it using ext2.

2. Fsck the USB key. Please do it. Make sure
   the key has NO problem at all.

3. Download my PMON 1.4.9 file and copy
   it at the root of the USB key.

4. Check the SHA1 for the file. DO NOT burn
   anything that doesn't give you the exact
   SHA1 displayed below :


5. If you did the SHA1 of the file before
   moving it to the USB key, cd to the USB
   key and check the SHA1 _again_
   Make sure the file on the USB key that
   will be burned into the machine Flash
   has the good SHA1.

6. Now, plug the USB key on the Lemote and
   reboot it. Press c at display to get into
   PMON and first, check the USB key is 
   seen properly :


   the usb0 should be visible.

7. Command to burn the PMON :

load -r -f bfc00000 /dev/fs/ext2@usb0/pmon_149_8081b.bin

Be sure to type the command exactly as seen
here. Make sure there is no mistake in the
memory address : bfc00000

It's b f c followed by five zeroes

You will get this on the display :

Erasing all FLASH blocks, Done.
Programming FLASH, Done.
verifying FLASH. No Errors Found.

8. Now you can type reboot to finish.

9. Upgrading PMON will reset the default variables
   as if the machine was new. We must go back to
   PMON's prompt on reboot to set up the two
   variables required :

   set moresz 30
   set bsd /bsd

   If you did use more commands from INSTALL.loongson
   (like setting ShowBootMenu to no or using the
   autload al function) you need to type them

 - * - * - * - *

Part 2 : Putting the Puffy as boot picture

(yeah baby !)

Running OpenBSD is not enough. From the very first
few seconds you do power up the machine, everyone
must see the Puffy on screen. Girls will dig you,
the ground will shake, and an aura of light will
appear... well. Around the LED power indicator of
your machine.

Let's spice it !

As you know, the machine loads a picture
on start. And this picture can be modified.
This picture must be modified.


Puffy talks to me. Really.

The PMON documentation from Lemote says we can
load a picture into PMON in compressed bitmap

It will use the function video_display_bitmap
of fb/cfb_console.c of the Lemote PMON sources.
The default picture is 448 x 224 pixels, 8 bits
per pixel, in bmp format (the Windows one, yes).

So we can replace it with a new 448 x 224 picture

The PMON is burned at address bfc00000 while the
picture displayed at boot is burned at address
bfc60000. The image can be greater than 448 x 224.

According to the doc, the image size can be up
to 1024 x 600 in either bmp or compressed bmp.gz
and must be in 8-bit mode. Also, there is only
64 Kb available from bfc60000 to bfc70000
(64*1024 = 10000 in hex).

I wanted a sleak and beautiful Puffy for my
Lemote, so I selected the following picture
from :

Isn't it cute ? :D

Ok. Downloaded the wallpaper and resized it to
448 pixels wide. Cropped in order to get a
448 x 224 pixels file.

This file is using 8 bit per pixel, and I made
sure the dithering was of the highest quality
in order to preserve its background dithering.


Yes, brothers and sisters, Puffy talks to me.

We compress this file using gzip (standard
compression, don't play with -9 or whatever
here ok ?)

Here is my own file, ready to burn :

Uncompressed, file is around 100 Kb,
and compressed using gzip it goes down
to 21.8 Kb. Well within the 64 Kb.

Now, we move that file to the USB key and
get into PMON prompt.

As usual, please check the SHA1 of the file
on the USB key and make sure it is equal to :


Let's burn it. Be very CAUTIOUS in writing
the good address in memory :

load -r -f bfc60000 /dev/fs/ext2@usb0/openbsd_pmon.bmp.gz

And from now on, we will see Puffy greet us
on the Lemote boot :)

Now, for the glory of the Puffy, here are a few pictures
of before and after :


some pics of the whole PMON upgrade and Puffy
installation :

pmon before upgrade:

loading the 1.4.9 upgrade :

pmon 1.4.9 vers output :

installing puffy :

puffy installed :

This is what is looked like before :

And this is Puffy in all its glory :

Have fun =)

Gilbert Fernandes

Reply via email to