Aug 222009
So I got fluxbox compiled. This is a real game changer, as it’s fully configurable via a keys file. You can get my current .fluxbox/keys file here. I’ve sent some of the window manager commands like maximize and fullscreen to alt-m alt-c etc. I’ve posted a video of playing scummvm and running other apps simultaneously, below. Exciting times!
Nice. Now all we need is a simple, navigable menu system for running apps that is akin to the interface that the zipit has for the IM stuff.
Are you using command line for configuring the wireless?
Yeah I just use ifconfig and dhcp from a shell script..
Actually you know what…. the fluxbox menu is just a txt file, I’ll start adding entries for programs and bind the fluxmenu to ctrl-u.. What we really need is somebody to compile a mousekeys driver that doesn’t use the numberpad…
Hey,
I’m a longtime linux user looking to get into driver/embedded system development and all that jazz. I’m wondering as to what role specifically the Z2 has for you. Is it usable as an IM client, as a terminal, as a programming environment? Basically, US$50 is a lot to me and though I’m amazed at the progress you and others have made on fleshing out the system I’m not sure that it’s quite worth it inasmuch as something I would have a use for.
Hi,
That’s a tough question. I’ve done many types of embedded development from arm asm to windows mobile and netbeans. The zipit2 is closest to a zaurus in terms of dev cycle, but not really. If you’re wanting to do commercial linux handheld development, perhaps the Z2 is not your best purchase, especially considering you can just run an android emulator etc on your linux host…
That said, I have got a phenomenal use out of my 38$ Z2. I wouldn’t use it for programming directly, as the keyboard kind of sucks… But I do a bit of vim and shell editing on it and its fine. I use bitchX for my irc client, but I already have meebo on my cell so the IM thing doesn’t really appeal to me. The z2 only has 32 megs of actual memory, so in terms of writing tight code with low memory overhead, the z2 is a good target. Plus as gcc/g++ work natively on the device, you don’t have to do cross-compile unless you want to, just compile natively on the device.
Also I have to say, as there’s only a few of us out there porting and writing code for the Z2, there’s a great sense of community and hacker entrepreneurial spirit happening around the Z2 right now. I’ve used my Z2 as a game machine, network port scanner, woot-off watcher, irc troll-o-matic (some bitchX scripts and mods for auto-responses etc), hitchhiker’s guide, tor/privoxy hidden node, etc. If you do end up getting a Z2 let me know, we’re all here to help.
Think we could get a copy of your rootfs ?
Maaaybe…. it’ll take some work. I’ve got a bunch of roms etc on there that I can’t distribute, and over 1000 packages installed, image size a little over a gig…Can you recommend a good place to host a 1 gig file without signup?
http://transferbigfiles.com/
Is the best I could do without signup.
Thanks for the effort.
Cool, I’ll spend some time this week trimming the fat and removing temp files and see if I can get the size something reasonable for transfer..
its cool you got this device too do this much.i’ve seen other websites that kinda gave up on it.i was wondering since you got fluxbox working on it,what will be possible to do with it in the future?any chance of a email client or internet browser?iam interested in writing/adding programs too it.where would i start too learn about something like that?sorry for so many questions.anyways,great work on getting flux up and running on it.hope too see more video updates.
Hey Jake,
I can hardly take much credit at all, the real work has been done by the kernel folks, especially sweetlilmre for setting up the oe tree etc, his blog is here http://sweetlilmre.blogspot.com/. Anyway, now that I’ve got fluxbox compiling, I’ve also got firefox and epiphany and netsurf compiled too, plus a truckload of other gtk+ apps. My hurdle right now is that pango doesn’t pick up the correct fonts, so all lettering in gtk+ apps is just squares. Installing truetype and regenerating the font cache didn’t do it, so I imagine it’s somthing with the pango.modules. Anyway, I’ll post a video update when I’ve got gtk+ apps working, that’ll be a really significant step…
Hunter,
Thanks for posting this awesome update. I got my zipit Z2 yesterday, and have managed to get fluxbox, links, and xterm on it using your xorg.conf and base image. What I haven’t figured out yet is how to:
1) get keyboard inputs in X (I’ve tried adding device “kbd” to xorg, but Xorg says it’ll ignore that?)
2) autostart applications for X. Putting fluxbox (or xterm) in .xsession or .xinitrc doesn’t seem to have the effect I’m used to.
Any thoughts? Again, the stuff you and sweetlilmre is really awesome. This is truly the best $38 computer.
-Todd
Hey Todd,
That is odd… keyboard input works fine for my X apps, both for Xorg and for Xfbdev… I would recommend using Xfbdev for the lower memory footprint. Haven’t been autostarting applications myself.. I just bind them to fluxbox modifier keys. If you’re using flux, just put the apps to start in ~/.fluxbox/startup, that should work. Do you have your LOCALE envorinment variable set? FYI mine is set to en_US.utf8, if that helps. Let me know how it goes, I’ve been thinking of setting up an ipkg repository on here so others don’t need to bitbake everything all the time…
No, LOCALE isn’t set–I’ll have to try that later today. I don’t have Xfbdev (see later), but it looks like X is wanting HAL to provide the keyboard (or mouse, etc):
from /var/log/Xorg.0.log:
…
(II) Cannot locate a core pointer device.
(II) The server relies on HAL to provide the list of input devices.
If no devices become available, reconfigure HAL or disable AllowEmptyInput.
(WW) AllowEmptyInput is on, devices using drivers ‘kbd’, ‘mouse’ or ‘vmmouse’ will be disabled.
(WW) Disabling Generic Keyboard
(II) Loader magic: 0x1e84
…
That said, X is loading “fbdev” as it’s display module–so maybe X is actually loading Xfbdev?
Great idea on the ipkg repository. I should have mentioned this in my last post, but I’m using the Anstronm repositories (like in your base image) /etc/ipkg/* files, for the armv5tel architechture. I started going down the OE bitbake road, and figured I’d look for a shortcut while I waited for it to compile. Turns out the Angstrom repo works great. I did have to create a swapfile for ipkg to prevent segfaults, but otherwise it’s a breeze. They have matchbox, xkbd, madplay, pre-compiled there.
I’ll let you know what I figure out with HAL and xorg for my configuration. Thanks for the speedy response.
-Todd
ps. Btw, this site renders fine with links on the z2 (:
Aha..simple fix, I should have noticed this in xorg. Adding “AllowEmptyInput” “false” to xorg.conf works like a charm. So my full X now reads:
Section “Device”
Identifier “Card0″
Driver “fbdev”
Option “fbdev” “/dev/fb0″
VendorName “Unknown”
BoardName “Unknown”
Option “Rotate” “CCW”
EndSection
Section “Screen”
Identifier “Screen0″
Device “Card0″
SubSection “Display”
Modes “240×320″
EndSubSection
EndSection
Section “InputDevice”
Identifier “Generic Keyboard”
Driver “kbd”
Option “CoreKeyboard”
Option “Rules” “xorg”
Option “Model” “pc105″
Option “Layout” “us” # << these may be wrong, weird mappings for "ALT+" keys
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Screen0"
InputDevice "Generic Keyboard"
Option "AllowEmptyInput" "false"
EndSection
This is such a cool little machine…
Hi Todd,
Nice on the links rendering, that is good to know
. You will probably want to change your keyboard type so the alt key isn’t Lshift, this will prevent you from using number keys in X apps. Good luck getting HAL working!! I’m still stuck figuring out why pango doesn’t see my truetype fonts (keeps firefox and netsurf from running), hopefully will have some time this weekend to push things along. Do you have audio output working with madplay? I’m not that into audio apps myself so I haven’t even gone down that road yet… but that’s another checkbox on my todo list for the Z2 distro image. For a while now a few of us have really wanted to put together a full image for new users that has web browsing, mp3 playing, and scummvm (with a legal rom like AQ) fully working and ready to go from bootup. The setup seems to be one of our major hurdles into getting more people working on this. Good luck and Good work!!
Well, I’ll be buying one of these next pay period. You should consider using a WM that’s set up for mouseless systems: ion3 or awesomewm both have the same kind of menu setup and different workspaces you can switch to with a keypress, which is probably for the best on a 320×240 display.
I’ll probably try playing with that when I get paid.
Hunter,
Sorry in advance for this long post. On madplay, my current kernel (2.6.29 which I grabbed from sweetlilmre on sourceforge) lacks sound support. Sweetlilmre reported that 2.6.29-rc3 has sound support, but I tried to grab it yet or get it from the SVN to recompile. He also writes battery support is in that kernel.
I spent some time last night grabbing precompiled binaries from the Debian repository for “armel”, which runs on our Z2. I had to mangle the dependencies myself (with no apt or dpkg), but got openbox, fbpanel, feh, gmrun, wmctrl, and xdotool to work splendidly. These essentially make up the standard desktop I use anyway, and with synergy, I had an even smaller “laptop” next to my EEEpc!
I’ve stopped with the HAL issue since adding the lines in my Xorg.conf fix the earlier no-keyboard problem. On font rendering, mine looked fine in pidgin (if a little big), but that was from the Angstrom ipkg, not anything I bitbaked myself.
I still a keyboard translation problem in X, though, where I can’t get to any of the Alt+ keys to print what they should. I’m sure it’s a keyboard mapping problem (but no amount of “xmodmap” will fix this problem). Do your keys work the same in and out of X/Xfbdev? If so, do you know what keyboard map your graphical system is using?
One last thing–I tried debootstrap-ing over the base image. That got me apt-get, dpkg, etc, and I was able to grab lots of fun stuff from the debian repos natively. But I must have broken something when busybox kicks in, as after reboot I get no login. Se la vie…
Well done on the NES. I see you just got full speed emulation up. The big issues I need to sort out are sound, battery, a small WM, and X mouse emulation…
And I persist…figured out part of this. If you’re using Xfbdev, then X is getting keymappings directly from the kernel (according to: http://www.pps.jussieu.fr/~jch/software/kdrive.html), and thus the keyboard behaves nicely. I’ve been running xorg, which uses the Xfbdev driver, but isn’t Xfbdev itself, and it’s trying to use a standard keyboard map.
I’ll have to look at bitbaking Xfbdev myself. Hunter, would it be possible to include a base image (as before wireless+X), but with wireless+Xfbdev and kdrive? I’m starting to think about an ipkg repository. At the very least, we could upload stuff on sourceforge?
Hi Todd,
Great news! Fantastic work with debian… If we could switch from ipkg I’d be all about that! Plus it’d make upstream patching a bit more formal. I actually do have the same issue with my left shift modifier not working in X apps. I haven’t looked into it any, just re-mapped all keys not to use the number buttons.
As for an ipkg repository, I think it’s a great idea. Wondering how the package-index would work with multiple contributors, but I’m sure we could work it out. I’ve got a ton of stuff bitbaked (perhaps incorrectly in the case of pangofonts….) Would it help to upload the .ipk files for fbdev and kdrive? I still have not had the time to pare down the size of my rootfs (about a gig)..
Check out http://keymouse.berlios.de/ as a mouse emulator. Been meaning to port it, but haven’t had time.
Nice!, I think I”m going to compile this directly on the z2 and cut out the bitbake process entirely, very fun stuff!
Don’t know if it’s been mentioned before, but maybe with some time you could get linux to recognize one of these
http://www.sparkfun.com/commerce/product_info.php?products_id=9320
to work with the linux on the zipit.
That might take a while, but would be very cool.
Hey JH,
That’s a pretty cool electronics site you posted. I had never thought of adding a trackball before… Doesn’t look too bad, could probably wire it up to the z2′s breakout pins…Interesting…