Eu sei que você pode apenas copiar e colar os arquivos NOOBS e funciona, mas fora isso, para instalar outros sistemas operacionais em um raspberry pi ou algum outro dispositivo semelhante, como o odroid, etc, fui instruído a usar o aplicativo de terminal “dd”, que leva muito tempo para fazer seu trabalho.
Presumo que essa operação seja mais “envolvente” do que apenas copiando e colando? Por que não consigo apenas copiar e colar a imagem?
–posso apenas montar a imagem do linux no meu computador e, em seguida, copiar e colar seu conteúdo no microsd em vez de precisar usar a ferramenta dd ou algum outro aplicativo “flash”?
EDITAR: Acabei de encontrar uma ótima resposta para esta pergunta aqui , mas estou pensando Eu deveria manter essa questão aqui porque é uma pergunta noob clássica que merece ser respondida neste fórum. Se alguém tiver mais detalhes para esta resposta que se relaciona diretamente com o processo de inicialização do raspberry pi (e como funciona aquele NOOBS ??), responda
Comentários
- Executar NOOBS em um novo cartão SD leva mais de 15 minutos para configurar as partições.
Resposta
Para responder totalmente a essa pergunta, são necessários todos os tipos de informações básicas. Acho que vou começar com algumas coisas que acho que você não entendeu.
O cartão SD (ou um pequeno pendrive USB ) é chamado de unidade “Flash” porque esse é o nome da tipo de memória “Flash” que ela contém. Quando você copia um arquivo para um cartão SD , os circuitos dentro dele movem as cargas ao redor do chip de uma maneira que persiste quando você o desconecta. (Chips de memória comuns “ Dynamic RAM ” em um computador perdem tudo rapidamente assim que a energia é desligada.) A memória Flash é muito lenta para gravar e lenta (mas n nem tão lento) para ler (em comparação com a RAM dinâmica). A Flash RAM também “se desgasta”, então, depois de milhares de ciclos de leitura / gravação, partes dela param de funcionar.
Felizmente para você, a maior parte disso é invisível na prática, então você pode fingir que um cartão SD ou pen drive USB é muito semelhante a um minúsculo disco rígido ou disquete. Mas ambos são bem diferentes de “gravar” um CD ou DVD.
Então, tente se esquecer de “piscar” as informações no cartão SD. O que você está fazendo não é exatamente comparável a “piscar” uma placa-mãe de computador ou alguma outra peça eletrônica, porque você não precisa fazer nenhum esforço especial para alterar os dados na memória do cartão SD. No fundo, nos chips pode ser exatamente semelhante, mas o processo que você usa para gravar em um cartão SD ou pendrive USB é bem diferente.
O Raspberry Pi foi projetado para olhar no cartão SD para uma inicialização partição usando um sistema de arquivos FAT. Dependendo de como você está usando o Pi, essa pode ser a única partição no cartão SD, mas um sistema operacional sofisticado como o Raspbian não pode ser executado em um sistema de arquivos FAT, então você precisa de pelo menos uma partição adicional (ou uma unidade separada) que pode manipular arquivos linux, como o formato ext4.
Quando você está executando o Linux ou Windows ou um Mac e “copia” um arquivo de um sistema de arquivos “montado” para outro, o sistema operacional se encarrega de criar , excluindo e apontando para os arquivos conforme eles são colocados no disco rígido, unidade flash ou qualquer outro lugar. Os arquivos são armazenados dentro de cada partição usando as regras específicas do sistema de arquivos, seja FAT, ext4, Mac HFS + ou qualquer outra coisa.
Quando você começa com um arquivo de imagem (frequentemente identificado como .iso para linux ou .dmg em um Mac), o arquivo contém TUDO, incluindo todas as partes que identificam as partições e os pedaços de dados dentro das partições.
Quando você usa o comando dd no linux para copiar um arquivo , ele retira os bits de (ou para) um .iso EXATAMENTE quando eles são armazenados em um disco ou cartão SD, ignorando completamente as partições, sistemas de arquivos, arquivos e diretórios que você e o sistema operacional precisam para entender os dados nele. É um tipo de operação de cópia completamente diferente. Se você simplesmente arrastar esse .iso para o seu cartão SD, não apenas o preencherá desnecessariamente, o Pi não sabe como olhar “dentro” do arquivo .iso para obter o que precisa.
A A cópia do dd leva muito tempo porque os cartões SD são lentos e você está copiando grandes blocos de dados de uma vez. Quando tudo é contabilizado, no entanto, pode ser mais rápido do que copiar os arquivos individuais.
E para responda à pergunta, sim, você pode montar a imagem e copiar os arquivos nas várias partições, mas quase sempre haverá mais de uma partição e você precisará colocar os arquivos nos lugares certos. É mais fácil em muitos casos usar apenas o dd para copiar dos arquivos de imagem para o cartão SD.
Resposta
O uso do termo “flash” aqui é inapropriado se for para se referir a um contraste; embora os cartões SD sejam baseados em memória flash , copiá-los é sempre o mesmo naquele nível, independentemente da ferramenta usada e do tipo de dados, é, etc. Dito de outra forma, se você se refere à cópia de dados para um cartão SD como “flashing”, então isso se aplica igualmente bem, não importa o quê. Se você quiser chamá-lo de “cópia”, a mesma lógica – ambos os procedimentos aos quais você se refere envolvem a cópia de dados pela memória flash “piscante”. Essa é a natureza dos cartões SD; usar cut n “paste vs. dd
não altera as características físicas do hardware. Mas tudo isso é tangencial à sua pergunta principal.
A forma como o NOOBS A instalação funciona é formatar o cartão, criando uma partição vfat na qual você pode copiar os arquivos normais do zip.
A maneira como as instalações baseadas em imagem funcionam é que você copia de baixo nível uma versão bloco a bloco de várias partições diretamente no cartão. É por isso que você não precisa formatá-lo primeiro; essa imagem contém as partições formatadas, a primeira das quais (a partição de inicialização) serve exatamente para a mesma finalidade (e contém alguns dos mesmos arquivos, como o código do bootloader crítico) da partição que você criou para o NOOBS.
Se você baixar e instalar a versão “lite” do NOOBS, terá apenas 20 MB – mas depois você deve baixar um sistema operacional completo depois disso, como parte do processo de instalação. Se você baixar a versão “completa”, tem mais de 700 MB e levará muito mais tempo para copiar para o cartão.
Se você baixar uma imagem do raspbian autônoma, terá aproximadamente 2,0 GB e levará mais tempo para copiar no cartão. Além disso, dd
é uma ferramenta manual, de baixo nível, independente do sistema de arquivos. Existem várias consequências para isso:
-
Ele não faz suposições ou suposições sobre como fazer as coisas de forma otimizada. Por exemplo, supostamente usando um tamanho de bloco de 4 MB (
bs=4M
) fará uma grande diferença em relação à velocidade dos cartões SD, mas esse não é o padrão e o dd não tentará descobrir isso. Recortar e colar por meio de uma ferramenta de nível superior provavelmente o fará, parcialmente com base nas informações que obtém ao examinar o sistema de arquivos você já criou ao formatar o cartão. No entanto,dd
pode fazer coisas que essas ferramentas geralmente não podem (como gravar blocos brutos em um dispositivo, que é o motivo pelo qual é necessário com a imagem s). -
O sistema operacional pode fazer com que a operação de ferramentas superiores pareça mais simplificada por meio do cache, o que pode fazer com sistemas de arquivos montados. É por isso que você às vezes precisa esperar um pouco se fizer uma cópia grande e depois desmontar um pendrive; a cópia não foi realmente concluída, e o sistema operacional não vai liberá-la até que seja feita (é também por isso que você deve sempre esperar até que o sistema operacional diga que está tudo bem).
dd
para um dispositivo não envolve nenhum cache desse tipo. Realmente é feito quando é feito.
Resposta
Como provavelmente já sei de outras respostas, o formato que um cartão SD para um RPI deve ser definido como FAT32, ou então não funcionará. A desvantagem do formato FAT32 é que ele tem um limite de cópia de 4 GB, o que limita bastante suas possibilidades de qual sistema operacional você poderá instalar facilmente no cartão SD. No entanto, há uma maneira de “contornar” esse limite, e é usando um programa como o 7zip para compactar o arquivo .img para algo com menos de 4 GB e, em seguida, extraí-lo na raiz do cartão SD.