Primeiro, estou tentando analisar /proc/cmdline com este script:
#!/bin/bash
for i in $(cat /proc/cmdline)
do
export $i
done
Eu tentei fazer um serviço systemd
[Unit]
Description=Parse cmdline
[Service]
Type=simple
ExecStart=/bin/bash -c "source /opt/cmdline_parser.sh"
[Install]
WantedBy=default.target
Iniciar o serviço funciona manualmente, mas as variantes não são exportadas no meu shell.
Eu preciso que isso seja feito o mais cedo possível, para poder escolher iniciar o login ou iniciar um script. Então, colocar o primeiro script em /etc/profile.d não é possível.
os parâmetros do kernel que eu quero testar são: "implantar pacote = testxz_9e bittorrent completo"
Eu inicializo clientes PXE no nfsroot e quero iniciar o script de implementação, se $ deploy estiver configurado. O script precisa de $ package para saber qual archive implementar, $ full significa que eu restaurarei e mkfs todas as partições, $ bittorrent diz para usar o bittorent para implementar.
Eu quero teses var exportadas no shell usado pelo systemd. Para var sem a sintaxe "var = value", eu só quero testá-los com bash "if [[-v $ var]]", então eu acho que não é importante se não tiver valor.
Aqui o arquivo de inicialização PXE:
DEFAULT tool
label tool
KERNEL tool_nfs/vmlinuz
APPEND ro initrd=tool_nfs/initrd.img root=/dev/nfs ip=dhcp nfsroot=xxx.xxx.xxx.xxx:/srv/nfsroot web_srv=xxx.xxx.xxx.xxx deploy package=testxz_9e full=y bittorrent