Postagem em destaque

MEU REFÚGIO NERD - ATUALIZAÇÃO DE LINKS DO PROJETO

Olá! Fizemos um pequeno ajuste no projeto e precisamos atualizar todos os links do projeto. Não se preocupem. Nenhum conteúdo será movido ou...

sexta-feira, 25 de agosto de 2023

COMO CRIAR PENDRIVE BOOTÁVEL COM BASE NO SISTEMA INSTALADO

 CRIAR PENDRIVE BOOTÁVEL COM BASE NO SISTEMA INSTALADO

 
Como criar pendrive inicializável

   Já algum tempo venho procurando uma forma de criar um pendrive com um sistema personalizado nele sem precisar usar scripts e ferramentas ao menos acompanhar todo o processo, tendo um melhor entendimento de cada etapa.


   Aqui vou compartilhar com vocês uma forma de fazer que permite inclusive que o sistema possa ser ajustado antes de ser inicializado e mesmo depois de inicializado pelo pendrive. É legal para manter todo o sistema atualizado. A desvantagem é que o sistema não é descompactado no boot a partir de uma imagem ou coisa assim, sendo possível apagar ou modificar arquivos. 

   Uma forma de contornar isso é criptografar a partição principal.  Assim, somente você teria acesso aos arquivos do sistema do seu pendrive. Chato que peça senha. Mas é melhor do que os arquivos serem montados facilmente, apagados ou adulterados. Parece que existe uma abordagem com geração de chaves e que evitaria pedir senha o tempo todo no boot e em etapa mais na frente na inicialização. Essa parte complicada não será tratada nesse tutorial.

Preparação

   Primeiro vamos preparar nosso pendrive para receber nosso sistema operacional customizado.

Verifique a partição correta do pendrive alvo:

sudo fdisk -l
sudo blkid

   Crie a tabela de partições mais compatível mudando X para o correto do seu pendrive. Muita atenção nessa parte. Confirme nome correto do seu pendrive. Por exemplo: /dev/sdd. Faça isso antes de prosseguir para as linhas abaixo:

sudo parted /dev/sdX mklabel msdos
sudo parted /dev/sdX mkpart primary ext4 1MiB 100%

   Atenção! O procedimento acima gera perdas de dados. Se seu pendrive contém arquivos, faça backup deles antes. Só rode essas linhas se tiver certeza de que é mesmo seu pendrive.

   Crie a partição do sistema, trocando o X pelo do seu pendrive alvo:

sudo mkfs.ext4 /dev/sdX1

   Crie o ponto de montagem :

sudo mkdir /mnt/pendrive

   Monte a partição criada do pendrive que será a partição do sistema:

sudo mount /dev/sdX1 /mnt/pendrive

Passando o sistema operacional instalado para o pendrive

   Faça a cópia do sistema para o pendrive. Personalize a linha abaixo para excluir da cópia mais subdiretórios não obrigatórios para o sistema funcionar e ficar enxuto:

rsync -av --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/home/*"} / /mnt/pendrive 

   Depois da cópia entre no arquivo /mnt/pendrive/etc/fstab e faça as correções. Use o uiid que conseguiu através do comando sudo blkid:

exemplo:

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>

#entrada para raiz
UUID=uid-da-particao-pendrive    /    ext4    discard,noatime,errors=remount-ro    0    1

   Edite o arquivo sudoers(/mnt/pendrive/etc/sudoers) para colocar o futuro usuário genérico.
   Faça a mesma coisa no arquivo lxdm ou gdm, colocando o autologin para o usuário que será criado.

Mudando o sistema por dentro via chroot e instalando o grub

   Preparação para o chroot. Mude o /mnt/pendrive para o ponto de montagem que utilizou para a partição do pendrive com o sistema copiado

sudo mount --bind /dev /mnt/pendrive/dev &&

sudo mount --bind /dev/pts /mnt/pendrive/dev/pts &&

sudo mount --bind /proc /mnt/pendrive/proc &&

sudo mount --bind /sys /mnt/pendrive/sys

sudo mount --bind /run /mnt/pendrive/run

   Usando chroot. Na linha abaixo basta mudar para o ponto de montagem correto.

sudo chroot /mnt/pendrive

   A partir daqui você pode personalizar o seu sistema novo antes do primeiro uso. Mas vamos fazer a instalação do grub.

dpkg-reconfigure grub-pc

   Confirme suas opções. Muita atenção quando chegar na parte de escolher onde instalar o grub. Escolha /dev/sdX. Sendo esse exatamente o do pendrive. Aqui não selecionei adicionar outros sistemas operacionais já que o pendrive poderá ser usado em outros PC's e essas outras entradas não vão funcionar.
 

   Aproveite que está no chroot do pendrive e remova os usuários antigos com deluser. E adicione o usuário que você vai usar para login automático no gdm ou lxdm(exemplo:/etc/lxdm/lxdm.conf e modificar a linha "autologin=usuario").

   Remova as referências a usuários antigos no sudoers e adicione o que criou.

   Recomendo dar uma passada também em /etc/hostname e /etc/hosts. Também /etc/timezone e /etc/adjtime.

   Outra coisa que você pode fazer para evitar ficar personalizando o desktop do zero e programas comuns é deixar algumas coisas em /etc/skel. Por exemplo, .config/mpv/mpv.conf. Ficaria assim: /etc/skel/.config/mpv/mpv.conf. Assim, toda vez que um usuário novo abrir um programa pela primeira vez ele vai copiar essas configurações antes de iniciar e já vai iniciar com as personalizações. Isso também vale para o Desktop e os atalhos.

   Depois de todas as mudanças e ajustes que realizou segure ctrl e digite d. Ou dê exit ou logout.

  Hora de desfazer as montagens:

sudo umount -f -R /mnt/pendrive/

 Testando nosso novo pendrive e finalizando

   Agora  é hora de reiniciar o PC e testar o pendrive. Aqui o menu de boot é acionado com F8. Verifique como é na sua BIOS. Pode ser que tenha ainda que ativar compatibilidade do boot UEFI e Legacy ou só Legacy na sua BIOS.

   Aqui o pendrive funcionou de primeira e pude continuar a personalização. Ajuste de permissões(como para o usuário poder montar as partições sem ficar pedindo senha) e o horário da máquina. Assim como já citei lá em cima, trocando o hostname do sistema do pendrive. Como dependendo da versão do USB pode demorar mais para carregar eu mudei para o LXDM selecionar o LXDE para como desktop. Mas você pode deixar outro como Cinnamon e tudo bem se estiver numa porta 3.0 ou 3.1. 

   Com alguns ajustes que fiz o sistema está ocupando entre 17GB e 19GB. Dá para deixar ainda mais enxuto. O negócio é priorizar o que você realmente vai usar e ferramentas úteis para manutenção e recuperação de sistemas instalados, além de realizar backups de arquivos importantes em sistemas que não inicializam mais.

   Espero que tenha gostado. Sugestões para atualização e melhoria desse tutorial pode me pingar lá na Mastodon.

   Gostou?

   Inscreva-se no  meu canal:

@MeuRefugioNerd

   Paga um cafezinho para mim?

https://livepix.gg/meurefugionerd

QR Code do PIX
Voltar ao início.

Mais lidas: