OpenWrt Software Image

From Qi-Hardware
Revision as of 09:04, 27 December 2010 by 213.239.211.82 (Talk)
Jump to: navigation, search

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

Contents

How to flash the most recent version to my device

Before Starting, please ensure:

  • The xburst-tools are installed and working properly
  • You have a working internet connection (for downloading the latest version of the image)
  • You're running the script as user "root" (e.g. < sudo ./reflash_script.sh >)
  • Your device is connected with a decent USB-cable (this sometimes resulted in problems in the past)
  • Your booted your device in usbboot-mode
  • If you have questions, please consult Updating Ben NanoNote software.


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 an 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

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.

Bootloader

The bootloader is based on U-Boot

Kernel

As kernel we basically use the linux-2.6 kernel with a few patches to make it running smooth on the our hardware.

There's always the latest stable kernel version in use (currently 2.6.32).

Userland / RootFS

Core utils

The core applications are based on busybox, a minimal Unix userland.

Graphics system

To not waste system resources the default image does not come with an 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:

Applications

We do not list all applications included in the image here. Only the ones who have community patrons and/or have proven very popular.

  • stardict - gtk based dictionary
  • Vido - gtk based OpenZim reader
  • Gmu - SDL based Music player

Change Log

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

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

Image 2010-08-15 (testing)

  • use new uClibc version with NPTL support
  • upgraded qt to 4.7beta2
  • updated gmu
  • updated gmenu2x
  • added bsd-games packages
  • added calcurse
  • added NanoMap (not yet reachable from within gmenu2x)
  • remove ntpclient and ntpd due to bugs which heavily decreases bootime / system load
  • added mandoc
  • kernel support 32bit console font.
  • add [setfont2] package. and two pnm fonts.
  • added u-boot-envtools packages
  • enable setfont, loadfont and shell history in BusyBox

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

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

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

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 )

Test Plan

test all application in gmenu2x test WIFI card test sound, recorde, play by arecode, aplay.

Tutorials

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export