Eu segui o conselho do shvahabi aqui link . Basicamente, estou habilitando e usando o rc.local na caixa do Ubuntu. Rc.local normalmente não é usado no debian. É muito semelhante às chaves de execução de registro do Windows. Por fim, terei meu primeiro script de configuração de inicialização E o arquivo rc.local personalizado em um pacote deb personalizado que coloca os arquivos na caixa no momento da instalação (o deb customizado reside no próprio ISO). Então, a cada inicialização, o rc.local executará meu script e eu posso colocar um check-in para que ele seja executado somente na primeira inicialização.
Nota importante: edite e use "/etc/rc.local" para colocar uma linha para executar seu script ... NÃO "/etc/init.d/rc.local". O segundo é realmente controlado por outro pacote e não permitirá que você instale uma versão customizada dele a partir de um arquivo deb customizado durante a instalação. O único propósito da versão init.d é chamar o "/etc/rc.local" de qualquer maneira.
Eu não estou usando systemd ou upstart porque você precisa digitar comandos para iniciar os serviços primeiro. Isso precisava ser livre de mãos. No entanto, acredito que todos esses comandos fazem arquivos de link, mas eu não tive vontade de descobrir onde colocá-los. Dois arquivos em um pacote deb custom são mais fáceis.