Thought I would start with a possible safe way of handling palmod configuration changes and upgrades. The following is a mechanism which uses a type of "watchdog" to see if palmod has caused a crash... and if so, it will revert back to a known good configuration.
Firstly you should backup your existing configuration, as one assumes that this is a working one:
Code:
# rw
# cp /etc/palmod.conf /etc/palmod-good.conf
# cp /lib/modules/palmod.o /lib/modules/palmod-good.o
# ro
Then the following code should replace the "insmod -f /lib/modules/palmod.o `cat /etc/palmod.conf`" line in /etc/rc.d/rc.arch (somewhere near line #88):
Code:
if [ -f /var/log/palmod.watchdog ]; then
echo "Watchdog file found, using last good configuration"
/bin/rm /var/log/palmod.watchdog
sync;sync;sync
insmod -f /lib/modules/palmod-good.o `cat /etc/palmod-good.conf`
else
/bin/date >> /var/log/palmod.watchdog
sync;sync;sync
# Run palmod_config to set palmod options
insmod -f /lib/modules/palmod.o `cat /etc/palmod.conf`
fi
The watchdog flag file should be removed once we are sure everything is alright. This can be either through cron, or more simply at the end of the /etc/rc.d/rc.sysinit.author script:
Code:
# Remove palmod watchdog flag
if [ -f /var/log/palmod.watchdog ]; then
echo "Removing watchdog file"
/bin/rm /var/log/palmod.watchdog
fi
To check which configuration you are running you can either check /var/log/kernel or have a look at the output of "lsmod".
Note: if anyone does get stuck in a boot-loop due to a bad palmod.o, the easiest way of resolving it is to use a serial cable to boot into the monitor and alter the boot parameters to change TV_STD from PAL to NTSC - This will skip the palmod phase of the bootstrap. Once it has come up you will be able to telnet in and fix the problem
Bookmarks