Jlime Muffinman --------------- Jlime Muffinman distribution is a Linux distribution aimed for the Ben Nanonote machine. http://en.qi-hardware.com/wiki/Ben_NanoNote The Muffinman rootfs is built using OpenEmbedded. The .bb file is muffinman-image.bb Run bitbake muffinman-image to build this base rootfs. Then, run sudo ./build_rootfs.sh to build the final Jlime Muffinman image. Userland -------- The current image has an X environment, matchbox window manager and nice applications for the X desktop : video player, music player, image viewer, text editor, prboom, terminal and more. The rootfs also brings few CC multimdia files so we can test all the applications easily. All of this work is beta, and there are many issues to fix muffinman-issues.txt Desktop DOCUMENTATION --------------------- root password : root Shortcuts to control the Desktop : 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 does not work on our X yet. In order to write numbers use : SHIFT+"red arrow" + number key. Note: on terminal after you press "red arrow" it keeps a "mode" which is not useful for letters. If you press it (for example to write a number) press it again to quit that odd mode. We will try to fix it soon. NETWORKING ---------- The system is already configured. In Jlime, Usb0 network interface IP is 192.168.1.202 You can config your usb0 on PC with : ifconfig usb0 192.168.1.200 Now, you can connect, from PC to Jlime with ssh : ssh -l root 192.168.1.202 INTERNET -------- 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 (eth0 must be your internet interface) Now, your Jlime system has internet connection. PACKAGE MANAGEMENT ------------------ opkg is already configured to use Jlime repositories. After to config internet access run : opkg update To install, for example, Doom : opkg install prboom To install bash : opkg install bash To remove an installed package, for example, Doom : opkg remove prboom SHUTDOWN - REBOOT ----------------- Use the power ON/OFF button to shutdown the device, always.. There was a problem with poweroff, but now, it is fixed. APPLICATIONS USAGE ------------------ 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 ------------ Video player is MPlayer. Keys: q : quit o : OSD ON/OFF 0,9 : Volume Arrows : backward/forward space : pause HOW TO ENCODE : In order to watch 320x240 videos encode your videos on PC with : ffmpeg -i your_video_file -ac 1 -ar 22050 -s 320x240 output.mpg scp output.mpg root@192.168.1.202: (And then use the video player.) MUSIC 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 ------------ Image Viewer shows the image files under ~/images/ folder. You can browse them using arrows. "Q key" quits. SDL on Framebuffer ------------------ If you want to run SDL games or applications on framebuffer set the next environments VARS : export SDL_VIDEODRIVER=fbcon export SDL_NOMOUSE=1 Extra applications ------------------ http://jlime.com/downloads/repository/extra-packages/nanonote/ For example, to install fbterm using opkg : opkg install http://jlime.com/downloads/repository/extra-packages/nanonote/fbterm_1.6_mipsel.ipk Fbterm FbTerm is a fast terminal emulator for linux. Install the package and run fbterm.sh Applications ------------ The rootfs has, at least, the below list of packages : "base-files base-passwd console-tools \ madplay dhcpcd wget \ tar bzip2 gzip unzip unrar \ opkg opkg-collateral ncdu less \ alsa-utils-aplay alsa-oss alsa-conf alsa-conf-base alsa-lib \ e2fsprogs-e2fsck e2fsprogs-libs dropbear util-linux-ng-fdisk gdk-pixbuf gtk+\ xserver-kdrive-fbdev \ matchbox-common matchbox-desktop matchbox-themes-gtk \ matchbox-wm wmctrl prboom libxcursor xcursor-transparent-theme \ aalib cdparanoia directfb enca glib-1.2 gtk+-1.2 libfaac libice \ libiconv libjack jpeg libmad libmpcdec libogg libpng libsdl-x11 \ libsdl-gfx libsdl-image libsm speex libtheora tiff \ tslib libungif libuuid libx11 libxau libxdmcp zlib ncurses libsdl-ttf \ xmodmap dbus-x11 matchbox-desktop matchbox mrxvt \ freetype libmikmod libvorbis tremor" SDL on Framebuffer ------------------ If you want to run SDL games or applications on framebuffer set the next environments VARS : export SDL_VIDEODRIVER=fbcon export SDL_NOMOUSE=1 Final Note ---------- There are known issues, so read our documentation at http://jlime.com/mw4/index.php/Jlime_Muffinman Toolchain --------- The openmoko toolchain set the next VARS. We use something similar for our toolchain. Para compilar un paquete con el toolchain ./configure --host=x86-redhat-linux --build=i386-redhat-linux --target=mipsel-linux AS=arm-angstrom-linux-gnueabi-as AR=arm-angstrom-linux-gnueabi-ar LDFLAGS=-L/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/lib -rpath-link /us r/local/openmoko/arm/arm-angstrom-linux-gnueabi/lib -O1 PKG_CONFIG_DISABLE_UNINSTALLED=yes CPPFLAGS=-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include PKG_CONFIG_DIR=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/lib/pkgconfig CXXFLAGS=-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include -fex pensive-optimizations -fomit-frame-pointer -frename-registers -Os -fpermissive - fvisibility-inlines-hidden CPP=arm-angstrom-linux-gnueabi-gcc -E LD=arm-angstrom-linux-gnueabi-ld CCLD=ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t STRIP=arm-angstrom-linux-gnueabi-strip F77=ccache arm-angstrom-linux-gnueabi-g77 -march=armv4t -mtune=arm920t CXX=ccache arm-angstrom-linux-gnueabi-g++ -march=armv4t -mtune=arm920t OBJCOPY=arm-angstrom-linux-gnueabi-objcopy OBJDUMP=arm-angstrom-linux-gnueabi-objdump MAKE=make CFLAGS=-isystem/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/include -fexpe nsive-optimizations -fomit-frame-pointer -frename-registers -Os 6af35ce414c0db6d4 PKG_CONFIG_PATH=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/lib/pkgconfig RANLIB=arm-angstrom-linux-gnueabi-ranlib CC=ccache arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t