Como seu script de inicialização mostra, seu atraso está sendo causado por ntpdate quando ele é iniciado.
Este é um dos erros mais comuns na configuração do NTP. A finalidade de usar ntpdate é de modo que ntpd não saia com um erro quando for iniciado. Ele faz isso se detectar que a diferença de tempo é muito grande. No entanto, ntpd tem a capacidade de ignorar essa diferença de tempo apenas uma vez. Então, ao ativar isso, ntpdate não é mais necessário.
A solução, então, é desabilitar ntpdate e usar esse recurso.
Para fazer isso, tudo o que você precisa fazer é criar /etc/default/ntpd com o seguinte:
NTPDATE_BIN="-"
DAEMON="/usr/sbin/ntpd -g"
O NTPDATE_BIN="-" é para este bit do script de inicialização:
if [ -x $NTPDATE_BIN ] ; then
Irá verificar se existe um ficheiro chamado - , que é executável, o que não existe, por isso irá saltar essa secção.
O DAEMON="/usr/sbin/ntpd -g" é para isso:
start-stop-daemon -S -q -x $DAEMON
Isso fará com que ntpd seja invocado como ntpd -g . A opção -g é a opção que informa que permite a grande diferença de tempo.