Eu gostaria de criar uma imagem interna do Raspberry Pi baseada no Raspbian Lite, que já esteja configurada com o local, o fuso horário, etc.
Quero evitar os aborrecimentos de reduzir o tamanho do sistema de arquivos , impedindo que o redimensionamento ocorra. Como eu editaria a imagem após a gravação para desativar temporariamente o redimensionamento automático do sistema de arquivos?
Editado para esclarecer efeitos deve ser reversível; isto é, quero que minha imagem personalizada seja expandida na primeira inicialização.
raspbian
raspi-config
patricktokeeffe
fonte
fonte
raspi-config
é executado na primeira inicialização e seria fácil de desativar. Posso dar uma olhada, mas vou ter que baixar uma nova imagem, a última que tenho é de maio. Volte em algumas horas.Respostas:
Existe um mecanismo de duas partes que assume a responsabilidade por isso no Raspbian; provavelmente a melhor idéia é cuidar de ambas as partes, se estiverem ativadas.
A primeira é que o original
/boot/cmdline.txt
inclui isso:Referindo-se a um script com esse caminho na partição raiz, que será usado como o processo init na inicialização. Sem esse bit, o padrão seria um valor incorporado ao kernel,
/sbin/init
no qual o Raspbian é um link simbólico/lib/systemd/systemd
.Ao remover essa parte
cmdline.txt
, o sistema deve inicializar normalmente.O que esse script realmente faz é redimensionar a partição no cartão SD. Esse é um processo distinto de redimensionar o sistema de arquivos na partição, 1 e é o que acontece a seguir.
A maneira como isso acontece é que o sistema é reinicializado imediatamente normalmente (ou seja, via systemd) e um
init.d
script é definido para disparar desde o início, que deve ser removido da segunda partição:E o link simbólico para ele, que também deve ser removido:
Você pode manter uma cópia para uso posterior, se quiser, mas
raspi-config
pode criá-la novamente para você (está incorporada noraspi-config
shell script). Se ele realmente for executado, ele será excluído, para que não ocorra novamente.O que ele também faz é redimensionar o sistema de arquivos na partição recém-redimensionada.
Nenhum dano deve ser causado se apenas uma ou outra parte acontecer; no primeiro caso, você acaba com um sistema de arquivos que não preenche a partição ampliada; no segundo, nada acontecerá, porque o sistema de arquivos já preenche a partição.
Se você usar posteriormente
raspi-config
para aumentar o sistema de arquivos, a partição será redimensionada imediatamente e configurará o script init (como já mencionado).A edição
cmdline.txt
na primeira partição é simples em qualquer computador, pois é uma partição VFAT. A remoção doinit.d
arquivo requer um sistema que possa acessar e editar sistemas de arquivos ext4.Em vez disso, ambas as tarefas podem ser executadas no próprio arquivo de imagem antes da gravação do cartão; para montar e modificar uma imagem Raspbian em um sistema GNU / Linux, veja aqui . Há uma sessão de perguntas e respostas paralela para Windows .
Isso também é reversível, mas você precisará recolocar as duas partes do mecanismo conforme descrito acima, pois a primeira não inclui a preparação automática da segunda.
fonte
init=/usr/lib/raspi-config/init_resize.sh
de/boot/cmdline.txt
obras no ubuntu acasalar também e parece suficiente por si só. Eu tenho uma imagem de 4gb ubuntu mate lançada em um sdcard de 32gb e ela está mantendo os tamanhos de partição no tamanho da imagem original. Também/etc/init.d/resizefs_once
e/etc/rc3.d/S01resizefs_once
exist não faça após a primeira inicialização no ubuntu acasalar.cmdline.txt
einit.d
erc3.d
arquivo e link de permitir que a próxima inicialização para redimensionar por si só ou eu tenho que executarraspi-config
e executá-lo manualmente?cmdline.txt
. Inicializei a imagem Raspbian usandosystemd-nspawn
e ainda tenho logs de erro tentando redimensionar após removercmdline.txt
algo, no entanto.