Você só precisa adicionar o script de inicialização à sua seqüência de inicialização.
A maneira mais fácil (eu acho) é criar um script de inicialização em /etc/init.d e adicioná-los ao nível de execução desejado. Aqui está um script que usei (mais tarde presumo que o script seja chamado tomcat).
#!/bin/sh
#
# tomcat7 This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat7
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Release implementation for Servlet 2.5 and JSP 2.1
# Short-Description: start and stop tomcat
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
START_DAEMON=/opt/apache-tomcat-6.0.33/bin/startup.sh
STOP_DAEMON=/opt/apache-tomcat-6.0.33/bin/shutdown.sh
NAME=tomcat
DESC=tomcat
case "$1" in
start)
tomcat_pid='ps -ef | grep apache | grep tomcat | grep java | egrep -v grep | awk '{print $2}''
if [ -n "$tomcat_pid" ]; then
echo "Tomcat is running."
exit 1;
fi
echo -n "Starting $DESC:\n $START_DAEMON \n"
$START_DAEMON
;;
stop)
tomcat_pid='ps -ef | grep apache | grep tomcat | grep java | egrep -v grep | awk '{print $2}''
if [ -z "$tomcat_pid" ]; then
echo "Tomcat is not running."
exit 1;
fi
echo -n "Stopping $DESC:\n $STOP_DAEMON \n "
$STOP_DAEMON
;;
restart|force-reload)
tomcat_pid='ps -ef | grep apache | grep tomcat | grep java | egrep -v grep | awk '{print $2}''
if [ -n "$tomcat_pid" ]; then
echo -n "Restarting $DESC: \n $STOP_DAEMON \n"
$STOP_DAEMON
sleep 5
fi
echo -n "starting $DESC: \n $START_DAEMON \n"
$START_DAEMON
echo "Starting, please wait for about 50 seconds."
sleep 20
;;
*)
echo "Usage: $NAME {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
Agora, para adicioná-lo ao boot, depende da sua distro. Por exemplo: o Ubuntu para níveis de execução padrão seria parecido com sudo update-rc.d tomcat defaults
A Red Hat seria parecida com chkconfig --add tomcat
then chkconfig tomcat on