From Qi-Hardware
Jump to: navigation, search


[edit] Backlog

My Product Backlog contains the ordered set of tasks I'm working on.

Product Backlog
Ticket Description Estimated Points Actual Points Resolved?
N/A Install Debian 5.0 virtual machine 4 4 Y
N/A Build Software Image 8 16 Y
N/A #Create package for makfa 4 5 Y
N/A #Install $HOME on fidelio 4 2 Y
N/A #Purchase 2GB+ MicroSD Card 2 1 Y
N/A #Write How wiki page 8 - N
N/A #Write What wiki page 8 - N
N/A #Explore the 本NanoNote 16 8 Y
N/A #Fix wordgrinder package 8 3 Y
N/A #Install $HOME 4 .5 Y
N/A #Create package for lojban-wordlists 4 3 Y
N/A #Create package for jbofihe 4 8 Y
N/A #Run the Linux Test Project on the 本NanoNote 16 - N
N/A #Flash latest image to 本NanoNote 8 6 Y
N/A #Create overlay for /var in base system 16 - N
N/A #Create package for mnemo 8 - N
N/A #Create package for jbo 6 - N
N/A #makfa performance improvements 16 - N
N/A #Create package for jbofacki 8 - N

[edit] Create package for makfa

makfa is a command-line Lojban dictionary program.

It is a single-file python program. The data files are downloaded when it is first run. Part of porting this program to the 本NanoNote will be to pre-download the dictionary and install it alongside the program.

I'll be using the Creating a Package instructions at as a guide for doing this.

Porting programs is our localized copy of that guide.

Mostly Maths also wrote his experience porting Gnu Go to the 本NanoNote.

Makfa is only distributed from revision control. The following packages are models for creating a package with source code directly from rcs:

In order to build a package, it must be enabled in .config. If it is not, the package will be skipped.

To build this package, I type:

   make package/makfa/download      # checkout from repository
   make package/makfa/prepare       # apply patches
   make package/makfa/compile V=99  # build it

Other targets I haven't tested yet:

   clean install update refresh prereq dist distcheck

I hope that dag clarifies the license to this package, similar to his open issue in jbo.

[edit] Install $HOME on fidelio

I would like to install my $HOME environment on fidelio, the Qi Hardware buildhost.

I've created a $HOME project that I'll be using for fidelio and the 本NanoNote.

[edit] Purchase 2GB+ MicroSD Card

Expensive and fast: SanDisk 32GB Extreme III SDHC Card.

I'll also need to purchase an ExpressCard reader for my PowerBook, as my machine is too old to have a MicroSD slot.

I asked the mailing list what MicroSD card I should purchase, and have decided from that discussion to purchase:

  • 3C Pro 16GB 16G microSD microSDHC Card Class 6 with SD Adapter
  • TRENDnet TMR-121EC All-in-One ExpressCard Memory Card Reader

I hope they work!

[edit] Write What wiki page

My User:Alanpost/What page is part two of my Why, What, How taxonomy describing my project goals.

[edit] Write How wiki page

My User:Alanpost/How page is part three of my Why, What, How taxonomy describing my project goals.

[edit] Explore the 本NanoNote

There is a Ben_NanoNote_New_User_Guide that I'd like to work through once my device arrives. I'm specifically interested in:

  • Determining how to install packages.

[edit] Adjusting the console font

By default, fbsize reports the following after booting the 本NanoNote:

 $ fbsize
 row=21, col=53, xpixel=0, ypixel=0

If I run setfont2, I have two choices:

 $ setfont2 /usr/share/setfont2/un-fuzzy-6x10-font.pnm
 $ fbsize
 row=24, col=53, xpixel=0, ypixel=0
 $ setfont2 /usr/share/setfont2/un-fuzzy-4x8-font.pnm
 $ fbsize
 row=30, col=80, xpixel=0, ypixel=0

Both of these settings are more difficult to read than the default. I am happy to know that if I need it, I can get an 80-column display on the 本NanoNote.

[edit] UCI

OpenWRT uses a system called UCI for configuration.

[edit] time & date

 # set my timezone to America/Denver
 $ uci set system.@system[0].timezone=MST7MDT,M3.2.0,M11.1.0"
 $ uci commit system

I've followed the directions at Ben_NanoNote_TimeZone_Date_and_Calendar_HOWTO to update my system clock.

[edit] Fix wordgrinder package

wordgrinder is marked broken, and I would really like to have it working on my device.

The patch file no longer applied cleanly. I checked in a fix for this, essentially correcting whitespace changes.

After this, the program still crashed. After flashing my NanoNote with the latest code, this problem has gone away and wordgrinder loads and works. I'll need to use it more to see if I can find addditional errata. As of now, however, I'm marking the port as working.

[edit] Flash latest image to 本NanoNote

The wiki contains a warning about flashing the 本NanoNote over USB from a Virtual Machine. Heading this warning, I'll be flashing from a MicroSD card.

Official_Software_Image#How_to_flash_the_most_recent_version_to_my_device Is my starting point, once I have a software image.

Xburst-tools contains information on the prerequisites for flashing a device. I'm not sure whether I need these for flashing from a MicroSD card.

I used fdisk to create two partitions on my MicroSD card. One 2GB partition for a root filesystem and kernel, the remaining portion of the card for data. I may well keep two extra partitions on this card, one vfat, the other ext2. I would like to be able to move data from non-Linux machines, yet I need a unix-like filesystem for some programs.

Following the above directions worked flawlessly.

[edit] Create overlay for /var in base system

I'd like to install makfa.dump in /var/lib/makfa, as makfa.dump is changed by makfa. /var is a symlink to /tmp, and is deleted after each reboot.

I'd like to fix the base-package to have an /overlay/var/ that is symlinked to /var during boot, so permanent files in /var are preserved across reboots.

[edit] Run the Linux Test Project on the 本NanoNote

The Linux Test Project is a suite for stress testing Linux. I'd like to run this on the 本NanoNote to help find instability in the current build.

I've reviewed the Debian package to anticipate what problems I'm likely to encounter.

I'm planning on going to the trouble of creating a package for this program, though I'm primarily interested in seeing the results from a run. I expect I'm going to want to continue to run this program as the image is updated.

uClibc was upgrade to 0.9.32. After this, we began getting system instability:

After beginning this project, I'll formally develop our testing process.

[edit] Install $HOME

I have a typical set of scripts I install on any Unix machine. I'd like to upload these to the 本NanoNote. This includes a set of shell aliases and scripts. It also includes a lisp environment that I will likely skip.

My lisp environment isn't ported yet, I'm delaying that until I spend more time exploring the device. My other scripts are installed and working.

[edit] Create package for lojban-wordlists

This package contains the official wordlists from It is a build-time dependency for jbofihe, as well as being useful data to have on the NanoNote itself.

This package was interesting because it did no compilation or installation, but needed to download from multiple sources. This was the first package where I'd managed multiple downloads.

[edit] Create package for jbofihe

The second package I would like to port to the 本NanoNote is jbofihe.

This package was my first attempt at host and target compilation. jbofi'e uses programs compiled during the build to create data files. I therefor had to run a host build and use the host-compiled executables to construct my dictionary.

Making this package was more time consuming than I thought, and necessitated creating a lojban-wordlists package as a build-time dependency.

[edit] Create package for mnemo

mnemo is a memory training application.

I need to experiment with this program before creating a package. It is the only command-line flash card program I found, but that doesn't mean it is going to work!

I'll download Lojban flashcards as a separate package.

[edit] Create package for jbo

dag has created a newer version of makfa, called jbo. I'd like to port this to the NanoNote and (probably) delete makfa.

When I last tested this program, it relied on a feature of python that was not working on the NanoNote, so I may have to fix a configuration issue with Python.

[edit] makfa performance improvements

  • I'd like to fix the display bug in makfa.
  • I'd like to try to optimize makfa.
    • Replace pickle.
    • Optimize or replace the regular expressions.
  • If I can't improve the performance, try compiling makfa with pypy.
  • If I can't improve the performance with pypy, rewrite makfa in C.

[edit] Create package for jbofacki

jbofacki is a command-line valsi exploration guide.

[edit] Create package for cll

CLL is the Complete Lojban Language. makfa provides references to this project and I'd like to make them available locally on the device.

Personal tools