Tuesday, May 29, 2012

Memorial Day

I really like the English version of the latest jffs dronz put together!  It's got just about everything I want on the zipit.  But I did make a few changes over the Memorial Day holiday.

First I fixed a tinyirc bug so it no longer wraps the status bar when using the large 8x14 font.  I tend to use a smaller font so I didn't notice the bug right away.  Sorry.

Then I went to work, making it just a wee bit more user friendly, at least for me.  I'm starting to appreciate gmenu2x as a program launcher, so I wanted that available right away on boot up, with no extra work.  At first I tried to get it going from the Zcovery startup script, using the toybox nohup to work around a problem with the hangup signal.  (Just like we did in olden days with the dialup modems).  But nohup wants to redirect stdout, which is troublesome for text terminal programs launched from gmenu2x.  So instead I simply fixed the bin/gmenu script to trap sighup just like on slug's jffs.  No more hangups means I can launch from the Zcovery startup script.  Yay!

With that problem solved, I modified Zcovery to first start a shell prompt in the background on tty1, then switch to tty2 to run gmenu2x.  Works like a charm.  But I'm pretty old school, so I want to get at that command prompt on tty1 at least half of the time.  To make it easy to switch between gmenu2x and tty1 I modified the three keymap files so ctrl-alt-home always goes to the command line shell on tty1.  I'm not actually sure I got this right in the calculator keymap, but I may try to eliminate the calculator keymap someday by remapping the keys inside the script like I did with zcalc.  Then I'd only need to maintain two keymaps.  Anyhow, ctrl-alt-home should work from gmenu2x or any SDL or text program launched by gmenu2x.  Then alt-rightarrow will get you to the gmenu2x text screen on tty2 and another alt-rightarrow will get you to it's graphics screen on tty3.  Sometimes the gmenu2x graphics remain on the screen after ctrl-alt-home, but you can clear that by typing cls or by pressing alt-rightarrow then alt-leftarrow to go to the gmenu text screen on tty2 and back to the command shell on tty1.  In this setup, SDL programs tend to run the graphics on tty3, leaving the text screen on tty2 in limbo.  With gmu and links you can type ctrl-z and bg on tty2 to free up the shell, however this is not advisable when running things from gmenu2x as it wants to manage both tty2 and tty3 for it's program launching scheme.

Once things were working satisfactorily, I decided to Americanize a few settings.  I changed the timezone file and switched the time format in the clock and alarm scripts to 12 hour time with no seconds because that's what I use here.  Since 99.9% of the time I only read things in English on the internet, I decided to compile an ASCII only version of links with SSL to save 200k on the jffs.  I'm seriously considering using the much smaller SSL-free ASCII only version to save even more.  I can always keep a full version of links on the SD card.  I also removed the green gmenu2x background.  I'd prefer to simply replace the wallpaper file if I ever get tired of the blue one.  That saves a few more K.

I used all that saved space to add the rockbox executable and a single codec to the jffs.  The rest of the codecs are softlinks to the jffs addon pack (or the normal IZ2S rockbox package) on the SD card.  Yeah, I know... rockbox doesn't really make any sense on the jffs because you still need an SD card for the music files, but I'm smitten by the coolness factor of it all.  Actually, now that I'm hooked on multiple ttys I may need to build a new rockbox executable because the current one doesn't realize it's supposed to give up drawing things when I switch to tty1.

Stock zipit boots into gmenu2x and plays the zipit sound in rockbox with no SD card.

There's still more Americanizing to do.  The gmenu2x glinks app file sends the browser to the french portal by default.  I'm OK with that for now, because it points to lots of handy zipit friendly internet sites.  I also need to switch a few other things like the gmenu2x settings tab to english.  But I think I'd like to get a build out there now because I like the new boot sequence so much.

In the future I still want to try swapping MatrixSSL into links instead of OpenSSL.  And I'd like to switch to slug's gmenu2x sources, then hookup the wifi icon and paste in the IZ2S battery monitoring code that I used for rockbox.  Both of these efforts should save considerable jffs space.  I also want to add the new set timezone script to the initial boot sequence.  Then maybe I'll get back to bunjallo for a browser choice somewhere between links and retawq in size and functionality.  Or maybe I'll see if it's possible to dim the status LEDs (like the backlights) or just turn them completely off when the alarm clock is running.  They're way too bright for night time.

I also need to figure out a better way to organize the goodie bag.  Dronz has been busy adding everything, which is great, but now there's so much in there I can't remember what it all is.  I'm not sure what would help.  Short descriptions?  Dates?  Pointers back to the original blog posts?  Gotta think about it...

Here's the Americanized jffs.  iz2jffs-v4-en.tgz
The old install instructions should suffice.

Here's the new keymap files with src, plus the new gmenu, tinyirc, and Zcovery.  That should make it easy to update the French version.  gmenu-jffs-fixes.zip

I forgot to include the tinyirc source code with the fixes the so I'll pastebin tinyirc.c


  1. Bravo ! and cool, a new v4-fr will come soon.

    Return to TZ: I searched a lot, I think I found it:
    But it doesn't arrange the uclibc bug where in M3.5.0 ,
    5 might be considered like the last sunday of march,
    and in fact is seen like the fifth. Result = your time
    is set a week too late when the month has 4 sundays.

    I can add the dates and the titles of your posts to
    the summer home wich is happily sunny these days :D

  2. Bonjour,
    I have tested your Americanized version with the nice
    boot to gmenu. I could switch consoles with the calc:
    calcmap.kmap just misses the key 56 to be AltGr.
    If I exit from gmenu, I can type t2, and I can switch
    between e3 and calc, it's really handy.
    The alarm doesn't close the keyboard lights, I'm dumb.
    home/.dialogrc and .defaultrc are missing.
    The rockbox basic config file is missing too.
    (you might erase it because I have let all my
    personal config in the archive)
    I think now that links pointing to a portal is not
    so good. Internet comes and goes, so it's better to
    point to a homepage any user can modify at his taste.
    The summer home is repainted new !

  3. I must've botched the tar command when I packed up this jffs. I did notice some of the missing .files when I first tried to make the video above because I had to redo the all rockbox theme settings. Thanks for pointing out the rest. I'll try to fix it next time. And if I can track down the GPIOs I'll modify the rightled utilities to allow all the LEDs to be turned off for the alarm clock.

  4. Thanks for doing this. I've wondered why the internal flash area was being ignored. The original Zipit had less flash on it and people did some awesome stuff despite it, browsers, servers, nice tight versions of busybox and even Nano X. I'm definitely going to install it.
    I'd love to see TCC on it but being able to use GCC with IZ2S is good too.

  5. I installed IZ2JFFS and for me it's the most significant development in the Zipit Z2 realm since it came out. To be able to boot up to a usable Linux version with a GUI and command line is awesome. To be able to swap out SD drives is devine.

  6. Slug has an openwrt based gmenu2x distro for the jffs here http://blog.engine12.com/ that's also pretty nice, but with a slightly different focus. I aimed for a simple consumer oriented setup, and slug's is geared more towards networking and communications with batman and the video chat goodies. Plus openwrt has a real package system that makes it more versatile for upgrades.

    However I've had trouble with SD cards after loading uboot so I still find myself working on the IZ2S based systems, mostly.