Ben NanoNote Software Status
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.
- having a real Xserver (propably Xorg) running - might be a bit hard with having just 32MB of RAM within the Ben NanoNote
- Personally I see 3 options:
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 |
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