[FUG-BR] Cuidado na atualização no/pro FreeBSD 12 (problema, descrição e solução)

Joao Rocha Braga Filho goffredo em gmail.com
Seg Jun 5 00:01:59 BRT 2017


Oi pessoal.

Eu uso no meu desktop o FreeBSD 12 e tive um problema para atualizar ele.

Depois que subi o kernel em monousuário para instalar o resto do sistema
tudo
o que eu fazia dava chamada ilegal de system call. Até o /bin/sh dava este
erro.
Fiquei meio empacado.

Dei boot com o kernel anterior e fui fazer um make installworld, e mesma
coisa.

Alguma coisa importante mudou nas system calls.

Depois de ficar empacado, e um pouco de RTFM, achei o que era e como
contornar.

O que aconteceu, e a solução, estão descritos no arquivo /usr/src/UPDATING,
na anotação feita em 20170523 (23/05/2017). O FreeBSD aumentou o limite
de arquivos e diretórios que um sistema de arquivo poderia ter, de um número
muito grande para um número grande para ca... ca... caramba, trocando a
representação de i-nodos para 64 bits, o que teve que mudar algumas system
calls, gerando uma incompatibilidade.

Para contornar, e poder fazer a atualização do sistema, foi criada a opção
de
kernel COMPAT_FREEBSD11 que tem que ser colocada no seu arquivo de
configuração do kernel antes de compilar ele.

options COMPAT_FREEBSD11

Ela faz com que os formatos de chamada de system calls que envolvam i-nodos
sejam aceitas no formato de i-nodo anterior.

Aparentemente, depois do sistema instalado, ela possa ser eliminada, mas não
quero experimentar isto agora.

Um efeito colateral é que agora o meu kernel antigo, o que usei para me
salvar
quando deu problema, não deve mais aceitar todo o resto que está instalado.
É uma forte suspeita, e não estou afim de testar isto agora.

Achei que é uma mudança importante, que afetará quem faz atualização, e que
me fez penar, então resolvi compartilhar para que outros não penem.

E acho que ter mais de 4 bilhões de arquivos e diretórios em um sistema de
arquivos algo extraordinariamente difícil, mas quem sabe no futuro, daqui a
10 anos. Eu comparo com UFS2, que superou o limite de 2 TB de um sistema
de aquivos. Isto faz mais de 10 anos, creio eu, e agora tenho discos de 4 TB
no meu desktop e de backup.


Abraços a todos,
    João Rocha.

-- 
"Sempre se apanha mais com as menores besteiras. Experiência própria."

http://jgoffredo.blogspot.com
goffredo em gmail.com


Mais detalhes sobre a lista de discussão freebsd