OpenWrt Software Image
On the Ben NanoNotes currently sold you will find an image based on the OpenWrt embedded linux distribution.
We opted for OpenWrt as we needed a highly adaptable and configurable build environment which is reliable and doesn't make us spend too much time on fixing the system itself.
To build your very own custom image, please refer to Building Software Image
[edit] How to flash the most recent version to my device
Before Starting, please ensure:
|
To flash the most recent official image, just download and run the following script without any arguments: http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND/reflash_ben.sh
The script requires a usual linux/unix system environment and having the xburst-tools installed.
It will download and flash the latest images to your device.
The actual images and its configurations are located here http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND
[edit] Software
We try to keep all of the included software up-to-date - that way there'll be always be the most recent versions of software within the image.
[edit] Bootloader
The bootloader is based on U-Boot
[edit] Kernel
As kernel we basically use the linux-2.6 kernel with a few patches to make it run smoothly on our hardware.
There's always the latest stable kernel version in use (currently 2.6.32).
[edit] Userland / RootFS
[edit] Core utils
The core applications are based on busybox, a minimal Unix userland.
[edit] Graphics system
To not waste system resources the default image does not come with a usual XServer like Xorg, but uses the DirectFB engine.
All of the major toolkits provide support for DirectFB, that way the software within the default image supports graphical applications based on the following toolkits out-of-the-box:
Currently supported and installed in the image by default are:
[edit] Applications
see Applications
[edit] Which Release Are You Using?
in your 本NanoNote run:
cat /etc/VERSION
[edit] Change Log
[edit] Next
CHANGELOG
- U-boot code went to OpenWrt upstream. Thanks a lot to Mirko
- Rebase Ben Nanonote code on upstream svn://svn.openwrt.org/openwrt/trunk@34901
- Update packages with OpenWrt r34901(w3m, sdcv, qstardict, jfbterm, mpg123, centerim5, directvnc)
- Update cgminer to 2.10.4
- fpgatools: split to 2 packages(mini-jtag + fp2bit/bit2fp)
NEW PACKAGES
libctl | Control UBB signals | libubb | Helper functions for the Universal Breakout Board |
[edit] Image_2012-10-24
CHANGELOG
- Update U-Boot to v2012.10-rc2
- Fix boot from memcard
- Update U-Boot ENV address to 0xC0000/0x140000
- Rebase Ben Nanonote code on upstream svn://svn.openwrt.org/openwrt/trunk@33721
- Fix openwrt-packages dl url and deps, big thanks to kyak(#qi-hardware @freenode.net)
- Add 6x10 font for setfont
- 4th update to 3.61.5
- avrdude: update to 5.11.1, new avrdude support reflash ledtoy
- centerim5: update to latest git
- libpurple: update to 2.10.6
- ne: bump version
- quickcalc: update to version 1.28
- qball: update to version 1.4
- gmu: update to 0.8.0
- gmenu2x: update to latest version
ISSUES
- Failed build packages
- qemu-host failed to build. which make all emacs* failed to build. I have to run './scripts/feeds uninstall qemu-host' and './scripts/feeds uninstall emacs' for make the build ignore them.
- freedroid: it will give segmentation fault unless you enable swap
- gforth give:
>>>plot(sin(1:10))<<< Backtrace: $771F6FF4 throw $772039F0 no.extensions $771F71B4 interpreter-notfound1
[edit] Image_2012-07-11
CHANGELOG
- Bard now supports the EPUB format
- Update wpan.nn, make the parameters more clear
- Make nanonote inittab work with minimal, it will try to load gmen2x or sh
- Include IPv6 kernel module
- Kernel update to Linux-3.3.8
- uClibc update to uClibc-0.9.33.2
- Rebase our code on upstream svn://svn.openwrt.org/openwrt/trunk@32117
- More codes merged to upstream
ISSUES
- Boot from SD card doesn't work. keep reset U-Boot when press [M]. This is because of the toolchain update, which will be fixed soon. you can revert to the old U-Boot. They are the same other than different toolchains.
wget http://downloads.qi-hardware.com/software/images/NanoNote/Ben/2011-11-13/openwrt-xburst-qi_lb60-u-boot.bin reflash_ben.sh -l . -b
- Failed build packages, GTK/QT failed to compile again.
- Freedroid: it will give segmentation fault unless you enable swap
- Mediatomb gives segmentation fault
- Octave give
warning: timestamp on file /usr/lib/octave/3.2.4/oct/mipsel-openwrt-linux-gnu/find.oct is in the future terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc panic: Aborted -- stopping myself... attempting to save variables to `octave-core'... save to `octave-core' complete Aborted
NEW PACKAGES
libzip | libzip is a C library for reading, creating, and modifying zip archives |
guile2 | GNU Guile is an interpreter for Scheme |
xburst-tools | Tools for Ingenic XBurst CPU USB boot and NAND flash access |
urjtag | Universal JTAG library, server and tools |
[edit] Image_2012-04-09
CHANGELOG
- Big thanks to David, Kyak, Mirko for fix/update packages, bring the packages back
- New entry on NuPDF and MPlayer
- Liballegro: add png, jpeg image and ogg/vorbis audio file addons
- MPlayer fixed
- Fix libncursesw bug
- Update Ben Nanonote kernel config file
- Remove useless option -t on reflash_ben.sh
ISSUES
- Boot from SD card doesn't work. keep reset U-Boot when press [M]. this is because the toolchain update. will fix soon. you can revert to the old U-Boot. they are same only toolchain changed.
wget http://downloads.qi-hardware.com/software/images/NanoNote/Ben/2011-11-13/openwrt-xburst-qi_lb60-u-boot.bin reflash_ben.sh -l . -b
- Freedroid: it will give segmentation fault unless you enable swap
- Mediatomb gives segmentation fault
- Bard does not support EPUB. please use this 0.7-2 version with EPUB support:
opkg install http://downloads.qi-hardware.com/people/xiangfu/ben/bugfix-for-latest-release/libzip_0.10.1-1_xburst.ipk opkg install http://downloads.qi-hardware.com/people/xiangfu/ben/bugfix-for-latest-release/bard_0.7-2_xburst.ipk
NEW PACKAGES
alfilelsel | graphical file selector dialog for scripts and gmenu2x, there are NuPDF and MPlayer icon included |
alpy | Python bindings for the Allegro Game and Graphics Library |
FAILED PACKAGES
qipackages/ibrcommon qipackages/ibrdtn qipackages/ibrdtn-tools qipackages/ibrdtnd qipackages/libmrss qipackages/vido qipackages/zimreader
[edit] Image_2012-03-18
CHANGELOG
- rebase openwrt-xburst on top of svn://svn.openwrt.org/openwrt/trunk@30834
- linux update to v3.2.1
- gcc update to 4.6-linaro
- uClibc update to 0.9.33
- update atBen driver to v3.2.1
- update ks7010 wifi driver to v3.2.1
- daily build url changed to http://fidelio.qi-hardware.com/~xiangfu/build-nanonote/
- flite update to 1.5.4-current and install dev files
- 4th update to 3.61.3
- libunistring update to 0.9.3
- include wap-utils
- fbterm: incorporate viric's patch for Ben LCD
ISSUES
- work around on missing libncursesw: cd /usr/lib/ && ln -s libncurses.so.5.7 libncursesw.so.5
- boot from SD card doesn't work. keep reset U-Boot when press [M]. this is because the toolchain update. will fix soon
NEW PACKAGES
bard | Bard Storyteller is a text reader. |
hp48cc | hp48cc is a C-like compiler that translates the input code into the HP48 RPN language. |
pick-pdf | a script file that find out pdf find in ~/ and display with a dialog. open it with nupdf. thanks jiri.brozovsky |
wav2png | a script file that convert wav file to png |
guile2 | GNU Guile is an interpreter for Scheme |
FAILED PACKAGES
qipackages/NanoMap qipackages/Tile qipackages/libdumb qipackages/alex4 qipackages/ase qipackages/bard qipackages/centerim qipackages/dega qipackages/dgclock qipackages/gs qipackages/fbida qipackages/fbterm qipackages/gcc-mips qipackages/gjay qipackages/gottet qipackages/gtkguitune qipackages/guile2 qipackages/ibrcommon qipackages/ibrdtn qipackages/ibrdtn-tools qipackages/ibrdtnd qipackages/keymouse qipackages/kinyin qipackages/libmrss qipackages/libphysfs qipackages/lingot qipackages/luit qipackages/netsurf qipackages/nightsky qipackages/nlove qipackages/octave qipackages/offrss qipackages/plplot qipackages/pygame qipackages/qball qipackages/qstardict qipackages/stardict qipackages/vido qipackages/zimreader
[edit] Image_2011-11-13
CHANGELOG- update Linux kernel to 3.0
- boot time ~13 seconds(boot to gmen2x)
- add WPAN(atBen) support. checkout /usr/bin/wpan.nn
- nanonote-files update, include WPAN tools, one small script file for setup WPAN between two Ben Nanonotes
- build Toolchain tar ball. much small then the SDK
- build both 32bit and 64bit SDK and Toolchain
- disable both u-boot and kernel boot message, new boot slash screen.
- fixed mediatomb problem
- reflash_ben.sh update
- change bootloader to read 2.5M kernel partition data
- new icons : gtkguitune, mediatomb, lingot, gjay, listener
- include two wallpapers by Jane, w1 w2
SOURCE CODE CHANGES
- rebase openwrt-xburst.git on top of r28464
- zimread update to r362.
- now we have 2900+ packages
NEW PACKAGES
tig | Command line launcher for search engines and other Internet services. |
Txt2tags | Txt2tags text to LaTeX/HTML/Lout/Man/Wiki/.. converter. |
frotz games | frotz: add 1 zcode games |
Taskwarrior | Taskwarrior is a command-line todo list manager |
listener | listener automatically records when sound is detected |
ben-wpan-doc | ben WPAN setup USAGE file |
ISSUE
- make oldconfig not working as expect.
- ldd /usr/lib/libreadline Segmentation fault
- [FIXED] mediatomb not working, hang when start, someone can look into this will be great.
- [FIXED] some packages miss icons in gmenu2x
- [FIXED] 'wpa-supplicant' miss depends package 'libnl-tiny', needs manually install by 'opkg install libnl-tiny' after install wpa-supplicant, fixed by we include libnl-tiny. needs fix in upstream
[edit] Image_2011-08-27
CHANGELOG
- remove powerup delay, thanks Bas Wijnen
- update reflash_ben.sh, add -d for dailybuild -t for testing, see --help for more info
- update xburst-tools, ChangeLog
- more icons in gmenu2x, immediate kill gmenu2x.bin when poweroff, gmenu2x update a lot.
- timeout working in gmenu2x. setup to 60 seconds by default
- disable kernel log when boot. change console blank time to 30 seconds, thanks kyak
- busybox: backport reverse history search patch
- fix rootfs.tar.gz not boot. (which only under Image_2011-05-28)
- set Date Time to the day of building after reflash
- some small improve,
- there are 2600+ packages
SOURCE CODE CHANGES
- rebase on top of trunk upstream r27328 date: 2011-07-01
- now we have new kernel and toolchain: gcc-linaro uClibc-0.9.32 linux-2.6.37.6
- qball, 4th, octave, plplot, gcc-mips updated
- mc enable wide char support
- include svn client
- emacs update a lot, bootup very fast
NEW PACKAGES
libunistring | |
gjay | |
qemu-host | |
liballegro | |
cscope | Cscope source code browser -initial port to OpenWRT. |
ben-wpan tools | initial port |
lowpan-tools | initial port |
libnl-1 | initial port |
pem | tool to help you keep track of your personal income and expenses |
Tempest for Eliza | it is a Program that uses your computer monitor to send out AM radio signals. |
vitetris | terminal-based Tetris clone |
ASE | allegro sprite editor, a generic drawing and animation program |
alex4 | Alex the Allegator v4: Game-Boy style jump&n&run game |
libdumb | mod/xm player (dumbplay) plus player library for games |
lingot | not only guitar tuner using GTK |
gtkguitune | for tuning guitars and other instruments by using the method of Schmitt-triggering |
liballegro-digmid | package 'freepats' samples for midi synthesizer |
crashmail | CrashMail II is basically a more portable version of CrashMail, a FidoNet tosser for Amiga computers. |
binkd | Fidonet mailer |
husky | a bunch of tools for Fidonet |
ISSUE
- This a major update of uClibc, therefore this release is not binary compatible with older ones.
- mediatomb not working, hang when start, someone can look into this will be great.
- stardict Segmentation fault when start, since Qstardict work better, maybe stardict useless for now.
- workaround on python, more info
- ldd /usr/lib/libreadline Segmentation fault
- some packages miss icons in gmenu2x
- 'wpa-supplicant' miss depends package 'libnl-tiny', needs manually install by 'opkg install libnl-tiny' after install wpa-supplicant
[edit] Image 2011-05-28
CHANGELOG
- sound module build in kernel
- add kernel.config to image files
- improved mount time a lot, from 23 seconds in the last image to now 15 seconds, thanks Lars
- include openssh-sftp-server, tar in image
- busybox enhancements
- mplayer hardware-acceleration, so COOL: mplayer bbb.ogv, thanks David Kuehling
- update reflash_ben.sh
- update xburst-tools, ChangeLog
SOURCE CODE CHANGES
- rebase on top of backfire r26851 date: 2011-05-08
- move data/, ks7010 from openwrt-xburst.git to openwrt-package.git
NEW PACKAGES
avrdude | Atmel AVR Microcontrollers |
kinyin | Chinese notepad |
stardict dictionary | English <-> Spanish |
tic-tac-toe | game |
kexecboot | a nice Linux-As-a-Bootloader |
curveship | interactive fiction + interactive narrating |
flite | (1.4 for overwrite the upstream version) |
4th | 4th forth compiler |
man-tiny | simple man program |
libsdl-doc-man | libsdl man pages |
[edit] Image 2011-02-23
CHANGELOG
- fixed /bin/ash : can't access tty; job control is turned off when start 'ash' 'bash'
- a wiki page for how to using SDK
- removed gcc-mips, samples, demos, for saving more space
- we have mtd.nn now, it's have command:
flash kernel|rootfs|data image_file mount rootfs|data mount_point format_data_default fw_setenv_default
- u-boot support F1/2/3/4 when poweron.
F1/2/3 will load kernel from sdcard partition 1/2/3 F4 will load kernel inside the ubi rootfs of nand.(we need put kernel at /boot/uImage) those kernel command line. boot kernel command can be changed by 'fw_setenv'
- fixed WIFI (ks7010) not working in 2012-12-14, thanks Lars
- gfortran support in cross toolchain
- add vm.overcommit_memory = 1 to sysctl.conf
- by talking in IRC. now we will only release SDK, remove IB and ToolChain
- fixed 'BenNanoNote' DNS problem
- fixed opkg.conf URL not correct
- | packages update
- | mirror-openwrt-sources update.
- Kernel update to 2.6.32.27
- automatic write u-boot default env to nand when first boot
- gmu update to 0.7.2
- gmenu2x updated, theme, new icons
- fixed emacs not start in gmenu2x.
- add parameter '-q' to freedroid, for enable sound you needs setup swap manually
SOURCE CODE CHANGES
- rebase on top of backfire r25455
- using new nls and cmake strategy
- remove not overwirte files to one package named nanonote-files
- using revision in feeds.conf file
- merge config.all_packages and config.full_system to one
- using 'strip' not 'sstrip'
- cross compiler now support gfortran, thanks dvdk (#qi-hardware @freenode)
KNOWN ISSUES
- flite have noise when direct speak, [flite -t "hello world" hello.wav && aplay hello.wav] is better then just [flite -t "hello world"]
NEW PACKAGES
gottet | Tetris clone, written in Qt |
qball | simple breakout style game |
ikog | ikog |
octave | GNU Octave (executable) |
mediatomb | mediatomb |
tunec | A command line guitar tuner for linux |
flite | Text-to-speech for embedded systems |
qstardict | Qt clone of stardict |
MPlayer | MPlayer, the movie player |
offrss | Offrss |
Tile | 15 Puzzle game, written in Qt |
pmars | Pmars |
mandoc | Manual pages formatter. |
robots | An robots application |
bwbasic | An bwbasic application |
pyclock | a binary clock for programmer |
links GUI version | Links |
sokoban | game |
supertux | supertux |
zgv | Picture Viewer featuring Thumbnails |
brainless | Brainless (a chess playing program) |
plplot | PLplot plotting library |
gnuplot | A portable command-line driven graphing utility |
dunnet | an emacs game |
terminus-font | Monospaced fonts |
[edit] Image 2010-12-14
CHANGELOG
- moved the gmenu2x to /etc/inittab
- disabled atd, telnet, led
- automatic creating /dev/rtc
- added some default configure files, see ls -a /root/
- using triggerhappy for closing the powerof, remove fn-handle and cmdpad
- added a lot of icons to gmenu2x
- added reflash progress indicator in reflash_ben.sh. it will try to download ubi.bz2 first
- added fw_setenv_default. if we want to change the kernel command line: 1. run fw_setenv_default 2. fw_setenv bootargs KERNEL_CMD_LINE_CONTENT
NOTICE by default the u-boot envs doesn't write to nand. the "fw_setenv_default" will write default to nand, so we only need to run fw_setenv_default once before we start to set u-boot env.
SOURCE CODE CHANGES
- moved files/* to its own package. not in openwrt-xburst.git
KNOWN ISSUES
- /bin/ash : can't access tty; job control is turned off when start 'ash' 'bash'
- there are some ALSA LIB error messages, when system boots. it is because the gmenu2x tries to access the sound system before sound module is loaded
- gmenu2x doesn't dim the screen. but works fine in 'ash' 'gmu'
- when exit nanomap, there is one segment fault sometimes
- when exit stardict, then go back to gmen2x, starting another terminal program system doesn't go to tty1, need to manually go to tty1 by pressing "ctrl + alt + F1"
NEW PACKAGES
abook | address book |
aewan | Ascii Art Editor |
ctronome | console metronome software |
dosfsck | dosfsck |
dosfslabel | dosfslabel |
libncursesw | Terminal handling library (Unicode) |
elinks | A text based web browser |
Emacs | Emacs |
links | Text and graphics WWW browser |
moc | Music On Console |
msmtp | Simple sendmail SMTP forwarding (with SSL support) |
NanoMap-maps | Qt4-based map viewer (Sample Maps) |
nanonote-example-files | nanonote-example-files |
netcat | A feature-rich network debugging and exploration tool. |
nethack | single player dungeon exploration game |
netsurf | another web browser |
nfs-utils | updated mount utility (includes nfs4) |
qstardict | Qt clone of stardict |
qt4-demos | qt4 (demos) |
qt4-examples | qt4 (examples) |
qt4-svg | qt4 (svg) |
resize2fs | resize2fs |
sshfs | SSHFS |
stardict-dic-en-cn | International Dictionary Software (dictionary: oxfordjm English <-> Chinses) |
tcl | TCL Lang |
triggersad | handle input events and run configured programs |
wget | Non-interactive network downloader (with SSL support) |
wtime | WTime time tracker |
[edit] Image 2010-11-17
- heavily restructured git repository to make it more easy to track changes with upstream
- change rootfs size from 256MB to 512MB
- switch back to uclibc 0.9.30.1, since we experienced issues with 0.9.32 which are going to be investigated
- all used toolkits (sdl, gtk2, qt4) are working again
- lot's of packages - within the openwrt-packages as well as in the qi-packages repository - have been updated to fit more the needs of NanoNote users
- lot's of new and fixed packages have been added to the default config (more below) and therewith image
- the toolchain and SDK are now built by default to simplify development and cross-compiling / -linking of software
changes to busybox:
- FEATURE_ASSUME_UNICODE set
- FEATURE_VI_8BIT set
- STAT added
- HOSTNAME added
packages added:
- gforth added
- kexec-tools added
- picoc added
- jbig2dec added
- openjpeg added
- unifont added
- cmdpad added
- ghostscript added
- hwclock added
- io added
- mupdf-tools added
- binutils added
- libbfd added
- objdump added
- erlang added
- jbofihe added
- lojban-wordlists added
- makfa added
- fbgs added
- fbi added
[edit] Image 2010-06-15
- enable kernel FPU support as fallback => debian-userspace compatible
- lot's of kernel fixes
- new packages ported and added:
- image viewer "imgv"
- console calendar "gcal"
- screenshot "fbgrab"
- math suite "mathomatic"
- "sdcv" - console frontend for stardict
- unit converter "units"
- GNU Chess
- u-boot: when boot from flash memory card, u-boot will load ext2-first-partition:/boot/uImage. update to version 2010.03
[edit] Image 2010-05-07
- added access to binary feed (qipackages, packages)
- rebased to new release "backfire" of OpenWrt
- gmenu2x improvements, removed unused sections and starters for currently broken applications
- various cleanups and bugfixes
- package htop added
- inotify support added and enabled
[edit] Image 2010-04-09
- music player GMU added
- gmenu2x default application launched
- use fb-support instead of directfb-support for sdl-applications, as the latter once behaves unexpected
- faster boottime due to rootfs split
- adding linuxfb-support to Qt an addition to DirectFB
- using block-hotplug and block-mount for automatically mounting block devices such as sd cards (untested)
- officially being part and project of the OpenWrt distribution now
- sound module loading sequence changed to avoid unresolved symbols
- package diffutils added
- package disktype added
- package dosfsck added
- package dosfslabel added
- package gnupg added
- package graphicsmagick added
- package guile added
- package jow added
- package make added
- package mkdosfs added
- package mtd-utils added
- package nanobadblocks added
- package openvpn added
- package patch added
- package php5 added
- package python added
- package resize2fs added
- package rsync added
- package sox added
- package strace added
- package sysfsutils added
- package tcpdump added
- package ubi-utils added
[edit] Image 2010-03-22
- screen now _really_ gets blanked when device is in idle
- sound issues got fixed
- fixed unreliable I/O in mmc driver
- qt4 is now built in including some examples and demos
When launching qt4-applications "-qws -display directfb" need to be passed for now, e.g. for the coverflow like fluidlauncher:
( cd /usr/share/Qt/demos/embedded/fluidlauncher/ ; ./fluidlauncher -qws -display directfb )
[edit] Test Plan
- create the release branch in both openwrt-xburst and openwrt-packages
- test boot time
- test all application in gmenu2x, make sure everyone can start and exit correct
- test the KS7010 802.11 wifi driver
- the AtBen 802.15.4 driver
- test record and play sound by 'arecord' 'aplay'
- test play ogg in GMU, check is there some noise
- test mplayer works fine.
- test openwrt-xburst-qi_lb60-rootfs.tar.gz in boot from memcard
- test RTC works fine. more info
- octave (the problem with first plot not showing correctly is a known bug)
start octave from the menu enter 'plot(sin(1:10))' press Ctrl+C to get back enter 'plot(sin(1:10))' again, should plot correctly now
[edit] Tutorials
- use ssh to log into your Ben
- build whole image
- build single package
- use opkg to install applications
- Format (and mount) your data partition
- Disable Gmenu2x autostart