Ben NanoNote Software Status

From Qi-Hardware
Revision as of 19:28, 23 June 2010 by Urandom (Talk | contribs)
Jump to: navigation, search

This page is intended for writing down thoughts about how some layers of the software part can be realized; for sharing, creating, adding and dropping ideas, commenting and spinning on them...

For having issues with already integrated software, please take a look at the issue tracker.

Contents

Bootloader

  • Currently we're using uboot. We would like to switch to sth. ligther, ideally the "qi-bootloader", but that needs some work.
  • It should support setting values to distinguish different hw platforms if these aren't distinguishable by sw (ben & ya)
  • It should support setting of the usb-mac address to uniqly identify the device
  • For the last 2 points a identity partition in nand would be nice that's not overwritten by flashing a new bootloader

Kernel

  • Currently having kernel 2.6.32 running, built within the OpenWrt framework

TODO

  • further cleanup of the whole code base for the jz-chip by ingenic
  • Add native i2s-support
  • Speed up NAND and MMC access using DMA
  • Write PWM driver
  • Sometimes [Unhandled kernel unaligned access] Process ksoftirqd/0 make kernel reboot. (Unconfirmed)

Core system

  • right now the base userspace system is based on busybox, as OpenWrt is using busybox as underlying userspace infrastructure. It's doing it's job for now on the NanoNote, so, in my view, right now no need for alternatives.
  • Write alsa config for softvol and dmix[1]

GUI?

  • core graphical system
    • Personally I see 3 options:
      • stick to console based software (ncurses) for now
      • using the abilitiy of applications / toolkits to draw to the framebuffer directly (e.g. gtk2, fltk, evas/edje)
        • <maemo>, the distrubition nokia is using on their n-series tables is using <Hildon> as default user interface, based on gtk+. It's optimized for the use on embedded devices - since it is based gtk+ it may be also possible drawing it directly on the framebuffer, without the need of an Xserver.
          • Unfortunately maemo seems to be not as "open" as Nokia is calling it. Lot's of core components seems to be closed, as summarized in [1] and [2]
      • having a real Xserver (propably Xorg) running - might be a bit hard with having just 32MB of RAM within the Ben NanoNote

Key User-level Programs for Release Image

(# indicates that it's currently in there)

Applications

  • Gmenu2x (launcher)
  • # Vido (wikipedia offline reader)
  • Stardict (dictionary)
  • Music Player

Data

  • 1 million most common articles of en wikipedia
  • Dictionaries (which?)
  • Music (oggs off Jamendo, which? )

Language Support

  • # Lua
  • Python (in openwrt currently, works fine: opkg install python)
  • # Guile [Scheme varient]

Enormous app status/wish-list

In Release Image

Name Type Project Home Comment Status/Contact
Lynx browser Lynx simple, text-based browser
vim editor vim console editor
openZIM offline webcontent openZIM This is the openZIM project, a free and open source implementation of the ZIM file format. You will find here documentation about the ZIM file format, the openZIM software and the project management.

The ZIM file format was created to provide a standard way to make webcontent offline available. Its major usage is to provide Wikipedia content offline, like in Wikipedia DVDs.

Not release ready, work in progress.
Mutt email client
Lua scripting engine
irssi irc
bc calculator

In OpenWrt

Name Type Project Home Comment Status/Contact
Nano editor Nano Editor simple, easy-to-use console editor
elinks browser elinks is a web browser originally derived from Links.
sox audio recorder sox

Packaged but not in OpenWrt

Name Type Project Home Comment Status/Contact
Scheme interpreter guile guile Early user reported on list that guile works (package), the guile is already in openwrt-package
kbd console utilities, including fonts mailing list source for package and binary
Links2 browser Links2 Links is a web browser running in both graphics and text mode. (text mode is work now) (also on directfb)
sc ncurses-based spreadsheet binary

Runs but not yet packaged

Name Type Project Home Comment Status/Contact
nethack You can get the binary package at http://www.jemarch.net/downloads/nanonote/ jemarch@gnu.org
any Dingoo A320 software See this mailing list post

Not yet working

Name Type Project Home Comment Status/Contact
StarDict dictionary StarDict issue tracker Xiangfu
Rockbox music player Rockbox open source firmware for music players, work done targeting jz chip and Onda player

Blue sky

Name Type Project Home Comment Status/Contact
LÖVE 2D game engine for games in Lua http://love2d.org dependencies:

DONE: Lua, SDL, libvorbis, libpng
MISSING: PhysicsFS, OpenGL, DevIL, alternatively OpenGL can be replaced by SDL and DevIL by libpng.

bartbes and Textmode on freenode
man/info documentation can this be built as part of OpenWrt? Is this a reason not to use this distro? (we're primarily RAM constrained, not space)
GNU Octave numerical computations No fortran cross-compiler in the toolchain --RBerenguel 09:37, 4 April 2010 (EDT)
PIM suite to sync with desktop
moosic music jukebox
cgdb curses debugger
CenterIM jabber There are jabber clients in openwrt. Any reason for wanting this one?
zsh shell
DirectVNC VNC client over DirectFB
snownews RSS reader
Artha dictionary Artha homepage suggested by Ron on developer list
Netsurf Web Broswser Netsurf Homepage Self contained web browser, not reliant on other libraries like Dillo.
Dillo browser Dillo Dillo is a multi-platform graphical web browser known for its speed and small footprint In OpenWrt, but broken
stellarium planetarium http://stellarium.org

This is work in progress.

Audio

  • alsamixer
 need enable the [Output Mixer DAC] by press "m". "Esc" to exit.
  • ncmpc
 ncmpc is a curses client for the Music Player Daemon (MPD)
 "enter" is play, "P" is pause, "s" is stop, "tab" switch display
 "q" is exit, "1" is help information.
  • gmu

download gmu http://www.2shared.com/file/10645537/3ad5338f/gmu-070_BETA7-NANONOTEtar.html

install Libraries:

SDL

SDL_Image

SDL_gfx


editor

  • vim
  • joe
  • zile like emacs.

browser

  • lynx
  • links
   "Alt + f" for the menu.

Misc

date

The date is not set at the beginning, but setting it manually seems to work OK.

$ date
Thu Jan  1 00:56:39 UTC 1970
$ date -s "2009-09-11 23:07:30"
$ date
Fri Sep 11 23:07:31 UTC 2009

hwclock

Works fine with newer kernel versions.

$ hwclock
Fri Sep 11 23:07:31 2009 0.000000 seconds

To set the RTC to the current date/time as returned by the date command use:

$ hwclock -w
  1. http://alsa.opensrc.org/index.php/How_to_use_softvol_to_control_the_master_volume
Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export