Jlime Muffinman distribution is a Linux distribution aimed for the Ben_NanoNote machine. It is built using OpenEmbedded with Jlime look and feel, so it is lightweight. Main goals are to include well configured applications and a complete OE built software repository.
How to control the Desktop
How to Set Networking
How to Set Internet
How to Install packages
How to Set Date and Time
How to Shutdown
How to use the video player
How to use the music player
How to use the image viewer
How to use the Wikireader
How to use SDL applications
How to change the theme
How to take a screenshot
How to install the development packages
How to mount the NAND partition
How to RECORD and PLAY sound files (using mic/speaker)
Extra links with a lot of stuff
The Muffinman rootfs is built using OpenEmbedded. The .bb file is muffinman-image.bb
The current image brings a X Environment, Matchbox window and desktop manager, and several useful applications (video player, music player, image viewer, text editor, terminal, pdf viewer, dictionary, games….)
The rootfs also brings a few CC multimedia files so we can test all the applications easily.
All of this work is beta, and there are issues to fix . You can easily give bugreports/feedback/suggestions on the userland and repository here
Rafael Ignacio Zurita and Kristoffer Ericson
root password : root
ALT+F1 : Hide all windows and focus desktop ALT+F2 : Move backwards between windows immediately ALT+F3 : Move between windows immediately ALT+F4 : Close a window
KEEP THIS LIST OF SHORTCUTS ON HAND! :) or you will have to reboot your system when some application runs fullscreen and you don't know what to press.
Number keys: fn key + number.
Vol keys react as Page up/down on X. But for video player and music player these work as Volume.
Your muffinman system have already configured its usb0 network interface (IP 192.168.1.202).
Usually stock kernels already support usb networking, so if you
are using for instance ubuntu/debian it should pop up directly.
You can check by doing:
ifconfig usb0 usb0 Link encap:Ethernet HWaddr 71:BF:F1:B2:8A:E8 inet addr:192.168.1.200 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5998 errors:0 dropped:0 overruns:0 frame:0 TX packets:7357 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:357275 (348.9 Kb) TX bytes:9340199 (8.9 Mb)
Example to set your usb0 on your Linux PC:
ifconfig usb0 192.168.1.200 <-- setting pc usb0 ip ssh -l root 192.168.1.202 <-- logging into nanonote (password is root)
troubleshooting: If you cannot see your usb0 device then its most likely due to your kernel, especially if you have built it yourself. Make sure that modules for gadget ethernet and usbdnet is loaded. If you cant find them, then doublecheck inside your kernel menuconfig.
You should config your PC as router, for example with :
echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (if eth0 is your internet connection)
Now, your Jlime system has internet connection. You will most likely need to replace the /etc/resolv.conf nameservers on your nanonote with the proper ones (just use the ones inside your pc's /etc/resolv.conf).
NEW!. Now there is a new tool to install packages. It is a script to avoid the swap problems with opkg. The name is jlime-pkg
opkg is already configured to use Jlime repositories.
After you have gotten your internet connection going, its time to grab an list of available packages.
opkg update <-- syncs package database
Examples of actions:
jlime-pkg search <expr> <-- will search some package. Example: jlime-pkg search game jlime-pkg install bash <--will download and install bash opkg remove bash <--will remove bash from your nanonote
So use jlime-pkg to search and install packages. Use opkg to update and remove packages.
Use date and hwclock commands.
For example (we are setting 31th of August 2010, at 20:00pm):
date -s 20100831 date -s 20:00 hwclock -w
Use the power ON/OFF button to shutdown the device, always..
If you want to see/play your files easily:
- Copy the video files under ~/videos/
- Copy the music files under ~/music/
- Copy the image files under ~/image/
- For text files and other kind of formats use ~/documents/
Video player is MPlayer.
Keys: q : quit o : OSD ON/OFF 0,9 : Volume (<shift> + <red arrow> + <number>) arrows : backward/forward space : pause
HOW TO ENCODE : In order to watch 320×240 videos encode your videos on PC with :
ffmpeg -i your_video_file -ac 1 -ar 22050 -s 320x240 output.mpg scp output.mpg firstname.lastname@example.org: (And then use the video player.)
Music player is GMU. Their usage is pretty easy because there is a help at bottom. Main keys :
Keys: ALT+ENTER : quit TAB : move between playlist/file selector/etc
Image Viewer shows the image files under ~/images/ folder. You can browse them using arrows. “Q key” quits.
FIRST OF ALL: wikireader needs swap. If you do not have a bit of swap wikireader will not work.
There is a new plugin on Dict: english Wikireader. You will need to install the proper wikipedia dump for it. The name of this dump is wiki-a317.tgz.
You can download the english wikireader dump from :
gunzip and untar under /usr/local/share/mydict/ . You should get the /usr/local/share/mydict/a317/ folder which contains the dump.
After that run Dict from desktop and enjoy the wikireader!
If you want to run SDL games or applications on framebuffer set the next environments VARS :
export SDL_VIDEODRIVER=fbcon\\ export SDL_NOMOUSE=1
There are extra packages (manually built). You can chech which ones here.
These are under opkg as well. So if you want to install, for example, fbterm, run: jlime-pkg install fbterm
Muffinman is fully theme-able, because it uses both, Matchbox Window Manager and Matchbox Desktop.
If you want to replace the WALLPAPER, just replace the /etc/muffinman-extras/wallpaper.png file with your wallpaper.png file.
It is easy, because Matchbox, like others Linux Desktop/Window Managers, uses freedesktop.org specifications.
Install xwd package.
opkg install xwd
Take a screenshot with :
xwd -root -out /tmp/screenshot.dump
Below are all the packages you will need to install to get GIT compiled nicely. It should therefore also provide basic packages for most development scenarios.
opkg install gcc gcc-symlinks cpp g++ g++-symlinks opkg install binutils binutils-symlinks linux-libc-headers-dev libc6-dev opkg install autoconf make libz-dev libz1 opkg install perl perl-dev perl-modules opkg install tcl tcl-dev opkg install python-modules opkg install distcc opkg install coreutils opkg install vim (←- replace with your favourite editor)
Its quite possible that you will require more packages later on but this should do the trick for the basics. Anything else you might require will most likely be stated as an “missing /usr/blalala” and then you just install that.
These steps are not needed if you have beta4, it is just here to document the manual process.
# install the mtd-utils package mknod /dev/ubi_ctrl c 10 63 ubiattach /dev/ubi_ctrl -m 2 mkdir /media/nand mount -t ubifs ubi0:rootfs /media/nand cd /media/nand
You can use the “Audio Recorder” application on Desktop. But, if you need manual settings or work done folow the below instructions.
In order to record, the device's “capture” switch must be set. To do so, run alsamixer (Audio Settings), select your microphone (maybe you need to press TAB) and press space. Something like…
CAPTUR L R
should appear. Set the level of the Mic there with arrow keys :33% is okey for good quality.
Then we record a while using the mic with (CD quality, 8 seconds, wav) :
arecord -d 8 -f cd -t wav test.wav
Then listen your file with :
If you have questions or suggestions about Muffinman, please contact us at :
Repository : http://jlime.com/downloads/repository/muffinman/
Extra packages : http://jlime.com/downloads/repository/extra-packages/nanonote/
Extra art (in main rootfs) Licenses : http://jlime.com/downloads/releases/muffinman/documentation/licenses.txt
Bootloaders : http://jlime.com/downloads/releases/muffinman/bootloaders/
Plain text development documentation : http://jlime.com/downloads/releases/muffinman/documentation/
Kernels : http://jlime.com/downloads/releases/muffinman/kernels/
Keymaps : http://jlime.com/downloads/releases/muffinman/keymaps/
Userlands : http://jlime.com/downloads/releases/muffinman/userlands/
Toolchain documentation : http://jlime.com/downloads/releases/muffinman/documentation/toolchain.txt