Ponha de lado se o seu caminho é uma boa maneira de fazer o que você quer alcançar. Uma possível explicação:
strace uptime -s
mostra que leu /proc/uptime
, eu verifiquei no Debian e no Raspbian. Parece que também lê o tempo atual (não posso dizer com certeza, é um palpite razoável) e subtrai para dizer em que momento no passado o sistema foi iniciado.
Esses dois eventos de leitura são separados por algum intervalo. Não há garantia de que o intervalo será exatamente o mesmo toda vez que você executar o comando. Então, o resultado da subtração irá "flutuar" um pouco.
Em seguida, esse valor é arredondado de alguma forma porque a saída final precisa fornecer um número inteiro de segundos. Não importa se o arredondamento é "baixo" ou "para cima", ou "meio cheio" etc. O que importa é: há uma certa parte fracionária em que o resultado do arredondamento "salta" instantaneamente de N
para N+1
. Se o resultado da subtração "flutuar" próximo a esse valor crítico, você obterá N
às vezes, N+1
algumas outras vezes.
Por acaso, uma das suas Framboesas foi iniciada em tal segundo em que o uptime
se comporta assim, os outros não tiveram essa "sorte". Qualquer deles pode ou não ter "sorte" depois que você o reinicia.
Acho que se você estressasse seus sistemas e conseguisse reduzir a uptime
a execução o suficiente, obteria resultados diferentes mesmo nesses outros cinco Framboesas.
Have not figured out any better way to detect power loss/reboot. (...) There must be a better way to do this. No RTC in this thing.
Trabalhe com /etc/rc.local
talvez. Ele foi projetado para executar as coisas uma vez quando o sistema for iniciado.