Se o seu sistema usar o BusyBox init e ele não tiver /etc/inittab
, ele executará /etc/init.d/rcS
no momento da inicialização. Se este for um script de shell, basta adicionar as definições de ambiente desejadas. Se isso não for um script de shell, você poderá alterar sua compilação para renomear /etc/init.d/rcS.bin
e criar um script de shell /etc/init.d/rcS
que termine com exec /etc/init.d/rcS.bin
. Obviamente, se você alterou o caminho /etc/init.d/rcS
na configuração de compilação, adapte-se a isso. As variáveis de ambiente definidas lá serão aplicadas a todos os daemons, mas não aos shells iniciados nos consoles.
Se você tiver /etc/inittab
, verifique o que ele contém. A documentação está no arquivo de amostra . Você pode substituir entradas que executam somecommand
por /usr/bin/env TZ=GMT-1 somecommand
.
Essa é a maneira rápida e suja, mas na maioria dos casos você deseja permitir que o usuário final configure o fuso horário, por isso ele deve ser armazenado em um arquivo separado. Nesse caso, passe por um wrapper de shell (ou o script rcS
) e use algum código como
export TZ="$(cat /etc/TZ.txt)"
Observe que, dependendo da sua libc, pode haver ou não uma maneira melhor de definir o fuso horário, por exemplo, escrevendo as regras de fuso horário em /etc/TZ
para uClibc.