Eventualmente, meu colega encontrou o seguinte artigo:
Em resumo, criei um arquivo chamado /lib/systemd/system/eject.service
, que contém
[Unit]
Description=Eject the DVD
Before=final.target
After=shutdown.target
DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/usr/bin/eject -m
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
[Install]
WantedBy=shutdown.target
Eu também tive que executar systemctl enable eject.service
para fazer isso realmente fazer qualquer coisa. Mas agora systemd
ejeta o CD logo antes do desligamento, exatamente como eu queria.
... infelizmente o sistema operacional ainda se contorce quando não consegue encontrar o resto dos arquivos com o CD ejetado. Eu tentei ajustar o arquivo acima, então temos After=unmount.target
, que você acha que executa o script depois que os sistemas de arquivos foram desmontados. Mas não, ainda é segfaults.
Parece que vou ter que descobrir como copiar a imagem do CD ao vivo na RAM durante a inicialização - mas essa é uma outra pergunta ...