Como fazer boot por pendrive na Raspberry Pi 34

Sabemos que a placa Raspberry Pi 3 utiliza o cartão Micro SD como um HD para os computadores convencionais… O que muita gente não sabe é que aquele pen drive esquecido na gaveta também pode servir de apoio para rodar o sistema Raspbian, permitindo que a capacidade de armazenamento seja maior em alguns casos. Queira você fazer o boot por pendrive (ou até mesmo um HD externo) por conta da capacidade de armazenamento, ou até mesmo porque não deu tempo de comprar um novo cartão, esse post é pra você!

Raspberry Pi 3 e pendrive

Performance SD x USB

A primeira questão que vem à mente, é justamente a performance entre as duas operações, utilizando o cartão SD e um armazenamento externo. Pra jogar lenha na fogueira dessa comparação, o usuário HankB fez um comparativo entre as duas opções e um SSD.

SSD, Pendrive e SD

O link tem muitas informações técnicas, mas resumindo, o tempo de carga entre USB e cartão SD é praticamente igual, mas o SSD é significantemente mais rápido! Ou seja, praticamente não vamos ter diferença entre o cartão e o dispositivo externo, podem ficar tranquilos.

Mão na massa

Antes de realizar o boot por um dispositivo de armazenamento externo, o Raspberry Pi precisa do boot pelo cartão SD, com uma opção para habilitar o modo de boot via USB. Isso vai definir uma configuração na memória OTP (One-Time Programmable, ou memória programável por apenas uma vez). Assim que essa opção for habilitada, não é mais necessário o uso do cartão SD. Então nosso requisito é um cartão SD com Raspbian Stretch instalado.

Para habilitar o boot via USB, utilizamos o seguinte comando:

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

Feito isso, reinicie o Raspbian e execute o seguinte comando para ter certeza de que o comando anterior foi executado com sucesso:

vcgencmd otp_dump | grep 17:

Esse comando deve mostrar o seguinte resultado, o que significa que podemos partir para o boot via USB.

17:3020000a

Boot por pendrive no Raspberry Pi

Vamos precisar do Raspbian instalado em uma unidade de armazenamento móvel, como pen drive ou HD externo. Essa instalação segue exatamente os mesmos passos da instalação em cartões SD, utilizando um programa de Flash na unidade, como por exemplo, o Etcher. Mais detalhes podem ser encontrados no nosso post sobre Primeiros Passos com Raspberry Pi e Linux.

Raspberry boot por pendrive

A partir daí você já pode retirar o cartão SD do Raspberry Pi e utilizar a placa normalmente com o boot por pendrive, mas agora com uma maior capacidade de armazenamento (se o seu pendrive tiver espaço, claro).

Considerações finais

Em alguns cenários, essa situação é uma verdadeira mão na roda. Quando precisamos mais de armazenamento, utilizando Nextcloud ou Docker por exemplo, essa funcionalidade nos permite usar todo o armazenamento USB que temos guardado, e muitas vezes esquecido, contando com a mesma performance já conhecida.

Gostou do post Boot por pendrive com Raspberry Pi? Deixe seu comentário logo abaixo.

Faça seu comentário

Acesse sua conta e participe

34 Comentários

  1. Olá!

    Eu já conhecia essa funcionalidade, e já venho instalando alguns dispositivos com ela ligada, mas em alguns dispositivos ocasionou um erro, tipo o pendrive não estava mais sendo reconhecido pelo sistma, mesmo com o cartão de memória conectado o pendrive não aparece para o sistema. Vcs se depararam com algo parecido?

    1. Olá!

      Eu nunca tive um problema assim, o pendrive é reconhecido em outros sistemas?
      O SO do Raspberry está atualizado?

      Abraços!
      Vinícius – Equipe MakerHero

  2. Primeiramente parabéns pelo post, uma pergunta, com uso do pendrive a vida útil em comparação do sd aumenta e muito não é? o sd tem limit de leitura e gravação o pendrive não vou ter esse problema.

  3. Boa Tarde acabei de fazer o procedimento em meu Raspberry Pi model B bootei com raspbian um HD externo, porém o mesmo não inicia pelo pendrive e nem pelo HD externo como proceder?

    1. Rafael,

      Ocorre algum problema, ou erro?

  4. Olá, muito legal o seu post. Estou com uma dúvida. Uma vez que eu fizer a operação ainda consigo fazer boot pro sd card tb, ou a partir de então só via pendrive, ssd etc?

    O procedimento pode ser feito no windows, ou precisa de linux?

  5. Olá. Essa configuração também funciona no retropie?

    1. Gustavo,

      Sim, é possível rodar o Retropie através do pendrive/USB.

      Abraços!
      Diogo – Equipe MakerHero

  6. obrigado por compartilhar conhecimento pessoas como você engrandece o patamar da evolução humana.tanks

    1. Que bom que curtiu, Flávio!

      Abraços!
      Diogo – Equipe MakerHero

  7. Olá boa tarde, instalei o app emby e plex no raspberry pi3 B+ porém não consigo acessar uma unidade externa. Por gentileza alguém poderia me ajudar a tratar essas permissões no Linux… Sou novato nesse mundo. Obrigado

    1. Olá, Edinho!

      Aconselho a você criar um tópico no nosso fórum, lá você detalha melhor o seu problema para que o pessoal posa ajudar!

      Abraços!
      Diogo – Equipe MakerHero

  8. se eu quere vautar as cofigurasão ogiginais como e o comando

    1. Olá Erasmo,

      Nessa página você consegue ver como fazer isso: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md

      Abraço!
      Rosana – Equipe MakerHero

  9. no sd card arquivo cmdline.txt substitua a linha por.
    boot=/dev/mmcblk0p1 disk=/dev/sda1 ssh quiet

    Mais facil que isso impossivel.

  10. Esse procedimento funciona para a Raspberry Pi 1?

    1. Olá Max,

      Funciona sim 😀

      Abraço!

      Rosana – Equipe MakerHero

  11. Oi Ricardo
    Meu RPI 3B retornou 17:1020000a e o boot não funcionou.

    1. Olá Paulo,

      Duas coisas são importantes para o funcionamento:
      1- Executar os comandos no Raspbian (ainda utilizando o SD)
      2- Ter o Raspian instalado corretamente em seu pendrive. Para isso siga o tutorial: https://www.makerhero.com/blog/primeiros-passos-raspberry-pi-e-linux/

      Abraço!
      Rosana – Equipe MakerHero

  12. Minha intenção é rodar o LibreElec direto do pendrive, fiz conforme tutorial, no entanto quando inicio a Rasp sem o SD, só com o pendrive com a imagem da LibreElec, o sistema não inicia. Obtive como resposta ao comando vcgencmd otp_dump | grep 17: o valor de 17:3020000a. Onde foi que eu errei?

    1. Olá Niereberg!

      Você executou os comandos utilizando o Raspbian?

      Abraços!

      André – Equipe MakerHero

  13. Após a configuração. Se eu desejar utilizar o Cartão SD, será possível.? Tks

  14. Pode se usar este método no raspberry pi 1 b+?

  15. Pergunta: Uma vez feito esse procedimento , para voltar a usar o cartão MiniSD é necessário desfazer o que foi feito ou ele reconhece automático quando tem SD ou Pendrive? Pois em muitos casos queremos apenas fazer um teste com o novo S.O e com o pendrive eh mais prático …

    1. Oi Otto, boa noite.

      A placa prioriza o boot por SD Card, então se você tiver um SD Card e um pen drive plugados nela, ela vai bootar pelo SD Card. Se não achar um SD Card, mas achar um pen drive, aí sim ela dá boot pelo dispositivo externo.

      Grande abraço!

      1. essa configuração de aceitar boot pelo pendrive fica salva tipo na bios do raspberry é isso?, ou seja uma vez feito o procedimento removo o cartão e o raspberry estará configurado para aceitar boot pelo pendriver pra sempre?

        1. Exatamente Francisco, ou até você remover essa configuração 🙂

          Grande abraço!

          1. Não é possível desfazer esse comando… Pois se utiliza o chip OTP…

      2. Valeu!! Eu estava relutando em fazer este procedimento no meu raspberry pela possibilidade de perder o boot original pelo SD. Mas como vc diz ele ainda continua bootando pelo SD caso ele esteja presente, perdi meu medo! 😀

        David Machado Santos Filho
        1. E aí David, Blz?
          Você fez o procedimento? testou pra ver se a rpi realmente dá o boot pelo cartão e pela USB? to com medo de fazer isso, e nunca mais conseguir dar boot pelo cartão! se você já testou, da um feedback aí pra gente! Vlw.

          Alexsandro Ribeiro Da Silva
          1. Desculpa a demora da resposta… Eu fiz sim, num Rabpberry PI 3b. Dá boot normal tanto pela USB quanto pelo SD card. No meu caso a prioridade é o SD, então eu preciso removê-lo quando quero bootar pela USB, mas funciona sem problema. Inclusive até consegui bootar por um HD IDE mesmo, conectado por um adaptator IDE/SATA para USB. Lógico que dependendo do disco, principalmente os mais antigos e lentos, pode dar algum problema de vez em quando. Mas funcionar funciona! 😀

    2. uma forma muito mais facil sem alterrar nenhuma configuracao da OTP e manter o sd pode ate ser um pequeno de 2 gigas com apenas uma particao FAT com os mesmos aquivos e apenas altere uma instrucao do arquivo cmdline.txt

      “root=/dev/mmcblk0p2” para “root=/dev/sda2”

      mais facil e pratico q iso impossivel.

      1. Mas isto só funciona se estiver instalando sistemas linux. Para outras opções, como sistemas baremetal tipo ZXBaremulator ou RiscOS, não dá para fazer isto… 🙁

        David Machado Santos Filho