Accessing Linux Debian

Though the Ubuntu packages that Palm distributes will install on most linux systems, unless you have converted your Debian system to use the upstart daemon novacomd will not start automatically when your computer does. This can be fixed quite easily by installing a sysv style init script and adding it to the boot process.

These steps must be run as root

1. Download the palm-novacom package for your system (only tested with the 32bit package so far)

2. Switch to root and install the package

3. Save this script as /etc/init.d/novacomd and be very careful to not touch any other files in this directory


 * 1) ! /bin/sh
 * 2) BEGIN INIT INFO
 * 3) Provides:          novacomd
 * 4) Required-Start:    $remote_fs dbus udev
 * 5) Required-Stop:     $remote_fs dbus udev
 * 6) Should-Start:	     $syslog
 * 7) Should-Stop:       $syslog
 * 8) Default-Start:     2 3 4 5
 * 9) Default-Stop:      0 1 6
 * 10) Short-Description: palm novacom daemon
 * 11) Description:       Daemon for connecting to palm devices
 * 12) END INIT INFO


 * 1) Based on /etc/init.d/skeleton
 * 2) Edited by Members of the MTU LUG.  lug.mtu.edu


 * 1) Do NOT "set -e"

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/opt/Palm/novacom DESC="Palm daemon to connect to webOS devices" NAME=novacomd DAEMON=/opt/Palm/novacom/$NAME DAEMON_ARGS="--daemonize" SCRIPTNAME=/etc/init.d/$NAME
 * 1) PATH should only include /usr/* if it runs after the mountnfs.sh script

[ -x "$DAEMON" ] || exit 0
 * 1) Exit if the package is not installed

[ -r /etc/default/$NAME ] &&. /etc/default/$NAME
 * 1) Read configuration variable file if it is present

. /lib/init/vars.sh
 * 1) Load the VERBOSE setting and other rcS variables

. /lib/lsb/init-functions
 * 1) Define LSB log_* functions.
 * 2) Depend on lsb-base (>= 3.2-14) to ensure that this file is present
 * 3) and status_of_proc is working.

do_start {	# Return #  0 if daemon has been started #  1 if daemon was already running #  2 if daemon could not be started start-stop-daemon --start --quiet --exec $DAEMON --test > /dev/null \ || return 1 start-stop-daemon --start --quiet --exec $DAEMON -- \ $DAEMON_ARGS \ || return 2 }
 * 1) Function that starts the daemon/service
 * 1) Function that starts the daemon/service

do_stop {	# Return #  0 if daemon has been stopped #  1 if daemon was already stopped #  2 if daemon could not be stopped #  other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" }
 * 1) Function that stops the daemon/service
 * 1) Function that stops the daemon/service

do_reload { #	# If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. #	start-stop-daemon --stop --signal 1 --quiet --name $NAME return 0 }
 * 1) Function that sends a SIGHUP to the daemon/service
 * 1) Function that sends a SIGHUP to the daemon/service

case "$1" in start)	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"	do_start	case "$?" in		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;	esac	;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status)       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?       ;;  #reload|force-reload) #	# If do_reload is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. #	#log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload)	#	# If the "reload" option is implemented then remove the	# 'force-reload' alias	#	log_daemon_msg "Restarting $DESC" "$NAME"	do_stop	case "$?" in	  0|1) do_start case "$?" in			0) log_end_msg 0 ;;			1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start		esac		;;	 *) # Failed to stop log_end_msg 1 ;;	esac ;; *)	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2	exit 3	;; esac



4. Run:

update-rc.d novacomd defaults