Much ado about scripting, Linux & Eclipse: card subject to change

Showing posts with label zaurus. Show all posts
Showing posts with label zaurus. Show all posts

2006-07-30

Welcome Back, Opie

Well, after a few weeks with GPE, I decided it was time for better app support, so I've switched back to OPIE. Here's the log:

    Network

  • Fix /etc/network/interfaces - set up wlan:
     # Wireless interfaces
     auto wlan0
     iface wlan0 inet dhcp
     address 192.168.0.100
     netmask 255.255.255.0
     gateway 192.168.0.1
     wireless_essid %YOURSSID%
     wireless_key s:%YOURSTRINGBASEDPASSWORD%
     wireless_mode managed
  • Start up the wireless network
    $ /etc/init.d/networking restart
    SSH

  • Install openssh-ssh (client), openssh-sshd (server), and openssh-sftp (for use with synching later)
  •  $ ipkg install openssh-ssh openssh-sshd openssh-sftp
  • Edit /etc/ssh/sshd_config. Change the default port from 22 to something else.
  • Edit /etc/ssh/ssh_config. Add aliases to local desktop and zaurus, eg:
     Host dbz
     Hostname divbyzero.homelinux.net
     Port 11122
     Host zaurus
     Hostname 192.168.0.100
     Port 10122
  • Restart openssh:
     $ /etc/init.d/sshd restart
  • Disable dropbear - make it exit before doing anything. Can't uninstall it since it's required by task-bootstrap.
     $ /etc/init.d/dropbear stop;  mv /usr/sbin/dropbear /usr/sbin/DISABLED_dropbear;  vi /etc/init.d/dropbear 
  • SSH from remote desktop to zaurus:
     $ ssh -p %anotherPort% %zaurusUser%@%zaurusIPaddress%
     $ ssh -p 10122 nickb@192.168.0.100
    
  • Create .ssh keys:
     $ ssh-keygen -t rsa -b 2048
  • Copy ~/.ssh/*.pub on machine from which you want to connect to the Zaurus keylessly into ~/.ssh/authorized_keys on the zaurus. Try reconnecting as above, should not get a password prompt.
  • Terminal tools

  • Add source for perl: create /etc/ipkg/perl-feed.conf, containing:
     src/gz x11 http://divbyzero.homelinux.net:8080/mirrors/www.openzaurus.org/
    official/unstable/3.5.4.1/feed/perl
  • Then install:
     $ ipkg install bash less perl rsync
  • Add a new user
     $  adduser nickb;  cd /var; chmod o+w,g+w tmp;
  • NOTE: DO NOT set all files in /tmp (just tmp) to be o+w,g+w or Opie won't boot gui on reboot!!

  • Bash config: Edit /etc/passwd to make root and your other user(s) use bash instead of sh.
     root:encryptedpasswordhere:0:0:root:/home/root:/bin/bash
     nickb:encryptedpasswordhere:1000:1000:nickb:/home/nickb:/bin/bash
  • Create /etc/bashrc and /etc/alias files, then point to them with .bashrc and .bash_profile files in home folder:
     #  ~/.bash_profile
     . ~/.bashrc
     #  ~/.bashrc
     [ -f /etc/bashrc ] && . /etc/bashrc
     #  /etc/bashrc
     source /etc/alias
     # 1;34: blue, 1;33: yellow, 1;32: green, 1;31: red, 1;30: grey, etc.
     if [ $UID -eq 0 ]; then # root
       prompt="\[\033[1;31m\]\u@\h\[\033[0;39m\]:\[\033[1;31m\]\w\\[\033[0;39m\] \$ ";
     else
       prompt="\[\033[1;30m\]\u@\h\[\033[0;39m\]:\[\033[1;34m\]\w\\[\033[0;39m\] \$ ";
     fi
     # If this is an xterm set the title to user@host:dir
     case $TERM in
       xterm*)
         export PS1="\! "$prompt"\[\e]30;\u@\H:\w\a\]"
         export PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
         ;;
       *)
         export PS1=$prompt
         ;;
     esac
     #  /etc/alias
     alias   ll="ls -lA"
     alias   rm='rm -i'
     alias   cp='cp -i'
     alias   mv='mv -i'
     alias   al='vi /etc/alias'
     alias   sra='source /etc/alias'
     alias   H='history 50'
    
  • Sound

  • Copy an mp3 file to your SD card (or scp the file onto the hard disk. Open Opie Media Player, add the dir where you put the file, and play it. While playing, start a Console and adjust the volume - run alsamixer and adjust sliders for Bass, Treble, PCM (main volume) and Mono.
     $ alsamixer
    Mail

  • Install mutt, mailx, sendmail, ssmtp, fetchmail
     $ ipkg install mutt mailx sendmail ssmtp fetchmail
  • Edit /etc/ssmtp/ssmtp.conf to enable smtp to send mail using you existing smtp setup from another machine:
     root=<me@myemail.com>
     mailhub=smtp.1and1.com
     # Where will the mail seem to come from?
     rewriteDomain=smtp.myemail.com
     # The full hostname
     hostname=me@myemail.com
     # auth user must be your remote email username
     AuthUser=me@myemail.com
     # AuthPass must be your remote email password
     AuthPass=mypassword
    
  • Games

  • Install games (let's be real, this is the real reason I switched to OPIE!)
     $ ipkg install task-opie-games task-opie-extra-games atomic
  • This will include: Asteroids, Atomic, Backgammon, Bounce, buzzword, fifteen (slider puzzle), go!, Kill Bill, KCheckers, KPacman, Mindbreaker, Mine Hunt (a la mine sweeper), OYatzee, ParaShoot, Patience (solitaire), SFCave, Snake, Tetrix, Tictac (toe), Word Game (a la Scrabble), ZLines (a la FivePlus, Lines, etc.), ZSame.
  • Refresh icons in Opie desktop - run Settings > Reload Icons, or the following:
     $ /opt/QtPalmtop/bin/icon-reload.sh
  • Backup/Rsync

  • Back up install using rsync from remote machine (this can be put in a script file and run in your crontab):
     #!/bin/sh
     # Save as ~/BIN/zaurus-sync.sh
     cd /home/nickb/zaurus/_RSYNC_Zaurus_SLC3200_OPIE
     for f in usr etc home; do 
      rsync -qrpogtz root@zaurus:/$f .; 
     done
  • Edit your crontab with crontab -e. You might want something like this, to run a backup once a week at 4am:
     # m h  dom mon dow   command
     0 4 * * 6 /home/nickb/BIN/zaurus-sync.sh 
Note that for this to run unassisted, the user on your desktop whose crontab this is added to much have ssh key access to root@zaurus, where "zaurus" is an alias as defined above in /etc/ssh/ssh_config on the desktop.

2006-07-10

The Land of OZ, Days 2 - 3

Day 2 (GPE)

Problems, con't:

  • Due to suggestion in OZ wiki, set / partition to 150M; filled almost immediatly w/ files in /usr/lib (while installing gxine or something). Since busybox's find doesn't support the -maxdepth or -exec flags, got sizes of subdirs of a given folder with:

     $ alias dirsize='alias ls=ls;for f in `ls`; do du $f -sh; done'

  • Gxine dies in fullscreen mode; no sound. Found a note about alsamixer, but haven't tested that out on GPE yet.

  • Sylpheed doesn't start (probably due to lack of disk space, as per above)

  • No backup/restore - but I should be able to run rsync

Day 2 (OPIE)

Decided to try OPIE for comparison. Wasn't any better - in fact, I found it worse.

  • Gaim won't work; Gaim-Sametime won't install (missing dependency)

  • XMMS - no sound / won't play; Opie Media Player - won't play MP3

  • Eligo, ZSolitaire won't work

  • No way to resize/rotate games when really small
  • No way to change ugly default opie background
    • Update: Use Settings > Launcher > Tabs > (pick a tab) > Edit > Image > Select...
  • No way to set alphanumeric PIN for password protection (numeric only)
  • No card management applet in task tray
  • No volume applet in task tray

  • Appearance crashed

  • After reboot, sound works in XMMS and OpiePlayer, but no volume control, except by running alsamixer in a terminal.

Day 3 (GPE)

Gave up on OPIE after a day; tried CackoROM (SL-C3200-Qtopia-1.23-2125070506) but it wouldn't boot; after two tries I decided to go back to GPE. Could have been a problem with SD card being ext2; could have been a problem w/ paritions on hda (ext2 vs. ext3, ext2 vs vfat). Not sure.

  • Installed rsync on zaurus (already on desktop); worked great - used this script (running on divbyzero.homelinux.net) to do the synching; will add to crontab later:
    #!/bin/sh
    cd /home/nickb/zaurus/BACKUP; 
    for f in etc home usr; do 
      rsync -rv zaurus:/$f .; 
    done

  • Solved problem reported earlier about being unable to copy & paste in terminal window: use xmonobut applet!
    • tap once to activate middle button (paste)
    • tap again to activate right button (select?)
    • tap third to revert to left button

    So to copy/paste text in terminal:

    • select text to copy,
    • tap xmonobut applet icon once,
    • tap in terminal to paste at cursor location, then
    • tap twice to reset to left button.

  • 2006-07-08

    Get your red-hot bits here!

    I've offered up some bandwidth to the OpenZaurus folks so that those of you in North America can get your bits from this side of the pond. Details here: http://openzaurus.org/wordpress/2006/07/06/openzaurus-3541-release/

    MIrror site here.

    2006-07-07

    OpenZaurus 3.5.4.1 released!

    The latest OZ was released this week, after much anticipation. It's the first OZ to support my new C3200, and I'm happy to report that after a few hours I had nearly everything working!

    Below are a few of the gotchas I encountered:

    • Can't save wireless config settings with Network Setup: get error "No write access to network configuration"
      solution: hack /etc/network/interfaces
      # Wireless interfaces
      auto wlan0
      iface wlan0 inet dhcp
      # uncomment next three lines if want static IP, for example
      #address 192.168.0.100
      #netmask 255.255.255.0
      #gateway 192.168.0.1
      wireless_essid <YOUR_SSID>
      wireless_key s:<YOUR_STRING_BASED_PASSWORD>
      wireless_mode managed
    • Can't save Owner Information - data not written to /etc/gpe/gpe-ownerinfo.data so login screen always defaults to "GPE User"
      solution: create file with contents like this:
    • [gpe-ownerinfo data version 2]
      /usr/share/gpe/pixmaps/gpe-logo.png
      Nick Boldt
      nick{at}divbyzero.com
      http://divbyzero.com
      ...
    • No way to remove applets from taskbar with Applet Manager
      solution: hack ~/.matchbox/mbdock.session
    • Network Shield isn't set up to run as root
    • Login Setup doesn't respect the 'show owner information at login' checkbox (it always shows it even when unchecked)
    • Terminal has no copy/paste function (unlike opie-embeddedkonsole)
    • Package Manager should have search/filter and concurrent description display functionality
    • After first flashing (before creating filesystems for /dev/hda2 and /dev/hda3) in vi, the 4-way pad is rotated 90 degrees, but can't reproduce this bug anymore
    • Closing clamshell halts device (won't restart). Also can't reproduce this problem since a few reboots.
    • Changing default user's shell from /bin/sh to /bin/bash prevents ssh access (using dropbear) to device
      workaround: change /usr/bin/mb-applet-xtern-wrapper.sh to use bash instead of sh when launching terminal: exec /usr/bin/rxvt -e bash