- First, install any pending packages (should be ssh). It will continually prompt you to install it over-and-over, so after the first install, choose 'n':
# ipkg install_pending
The following packages in //usr/lib/ipkg/pending are ready to be installed:
//usr/lib/ipkg/pending/ssh_2.5.2p2-2_arm.ipk
Install them now [Y/n] ? y
....(ignore errors/warnings)
The following packages in //usr/lib/ipkg/pending are ready to be installed:
//usr/lib/ipkg/pending/ssh_2.5.2p2-2_arm.ipk
Install them now [Y/n] ? n
- Then, remove the pending package:
# rm /usr/lib/ipkg/pending/*
- You need to generate the OpenSSH keys (the dsa key is for ssh2 proto) and modify the config file. Also, I setup ssh to try ssh2 proto first (uncomment Protocol 2,1 line):
# vi /etc/ssh/sshd_config
...
Protocol 2,1
...
HostKey=/etc/ssh/ssh_host_key <-- existing
HostKey=/etc/ssh/ssh_host_dsa_key <-- ADD
...
// gen RSA key for ssh1 proto
# ssh-keygen -f /etc/ssh/ssh_host_key -N ""
// gen DSA key for ssh2 proto
# ssh-keygen -d -f /etc/ssh/ssh_host_dsa_key -N ""
- Now update the update the list of available packages:
# ipkg update
- Next, install ntpdate and update the system time so you won't get all those timestamp errors. Substitute another server for acme.gatech.edu if you are not on campus:
# ipkg install ntpdate
# /usr/sbin/ntpdate -b acme.gatech.edu
- Now we can need to upgrade all the installed packages to the latest version. We need to do this a few times so the latest version of the ipkg package manager gets installed. The third upgrade should not find any newer versions:
# ipkg upgrade
# ipkg update
# ipkg upgrade
# ipkg update
# ipkg upgrade
- Next, you can install the Familiar PostInstall script. This is 'A collection of shell scripts to do postinstall polishing' according to the package listing (it includes some Microsoft TTS, etc.):
# ipkg install familiar-postinst
# cd /root/
# ./postinst
- Now, install any additional packages you want. The ones in the first list below are required to run the QT Palmtop Environment. The last list contains usefull utilities (along with their dependencies) and a much better shell:
# ipkg install h3600-utils apmd
# ipkg install bash diff less procps rsync libreadline4 ftp
- Now you can setup the bash env (you need to edit /etc/passwd to use bash as a login shell):
# cat /root/.bash_profile
# ~/.bash_profile: executed by bash(1) for login shells
export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin
export PS1='[\u@\h \W]\\$ '
umask 022
# set editing mode
set -o vi
# uncomment to make 'ls' colorized
export LS_OPTIONS='--color=auto'
eval `dircolors`
alias ls='ls $LS_OPTIONS'
# other aliases
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'
- These next packages are needed to run Intimate. You will need to modify the linuxargs paramater in flash once you install this package so that devfs will work (even if you don't want to boot intimate - this is because in installs /etc/rcS.d/S06devfs). You only need to modify the init= param once you are ready to boot intimate over NFS.
# ipkg install reiserfs-module intimateboot
Before you set devfs in your linuxargs, you must edit /etc/inittab or you will get init respawn errors on boot and no login prompt:
T0:23:respawn:/sbin/getty -L ttySA0 115200 vt100 <-- no devfs
T0:23:respawn:/sbin/getty -L tts/0 115200 vt100 <-- w/ devfs
To setup devfs support on boot, you need to add devfs=mount to the linuxargs boot params:
boot> set linuxargs "noinitrd devfs=mount root=/dev/mtdblock3 init=/linuxrc console=ttySA0"
boot> params save
If this intimateboot IPK does not install the /sbin/pivot_root untility, you will need to get a newer version. Verify the most recent version by looking at the current install script.
# wget -q http://intimate.handhelds.org/installer/intimateboot_0.1-2_arm.ipk
# ipkg install ./intimateboot_0.1-2_arm.ipk
Then modified /linuxrc.intimate for booting NFS using pivot_root and make a /linuxrc.devfs (linked to /linuxrc) for booting only Familiar.