Jeg vet at du bare kan kopiere og lime inn NOOBS-filene, og det fungerer, men bortsett fra det, for å installere andre operativsystemer på en bringebær-pi eller en annen lignende enhet som odroid osv., ba jeg meg bruke «dd» terminalapplikasjonen som tar veldig lang tid å gjøre jobben sin.
Jeg antar at denne operasjonen er mer «involvert» enn bare kopiere og lime inn? Hvorfor kan jeg ikke bare kopiere og lime inn bildet?
– kan jeg bare montere linux-bildet på datamaskinen min, og deretter kopiere og lime inn innholdet i microsd i stedet for å måtte bruke dd-verktøyet eller et annet «flash» -program?
EDIT: Jeg fant nettopp et godt svar på dette spørsmålet her , men tenker Jeg burde holde dette spørsmålet oppe her fordi det er et så klassisk noob-spørsmål som fortjener å bli besvart på dette forumet. Hvis noen har mer detaljer om dette svaret som direkte er relatert til raspberry pis oppstartsprosess (og hvordan fungerer den NOOBS-tingen ??), kan du svare
Kommentarer
- Å kjøre NOOBS på et nytt SD-kort tar mer enn 15 minutter å sette opp partisjonene.
Svar
For å kunne svare på dette spørsmålet fullt ut krever det all slags bakgrunnsinformasjon. Jeg tror jeg vil begynne med et par ting som jeg tror du kan ha misforstått.
SD-kortet (eller en liten USB-pinne ) kalles en «Flash» -stasjon fordi det er navnet på «Flash» -minnet den har i seg. Når du kopierer en fil til et SD-kort , kretsene inne i den beveger ladninger rundt brikken på en måte som vil vedvare når du kobler den fra. (Vanlige « Dynamic RAM » minnebrikker i en datamaskin mister alt raskt så snart strømmen går av.) Flash-minne er veldig treg å skrive til, og sakte (men n ikke så sakte) å lese fra (sammenlignet med dynamisk RAM). Flash RAM «slites også», så etter at tusenvis av lese / skrive-sykluser slutter å fungere.
Heldigvis for deg er det meste usynlig i praksis, så du kan late som et SD-kort eller Flash USB-pinne ligner veldig på en liten harddisk eller diskett. Men begge er ganske forskjellige fra å «brenne» en CD eller DVD.
Så prøv å glemme å «blinke» informasjonen til SD-kortet. Det du gjør er ikke akkurat sammenlignbart med å «blinke» et datamaskinens hovedkort eller noe annet stykke elektronikk, fordi du ikke trenger å gjøre en spesiell innsats for å endre dataene i SD-kortets minne. Dypt nede på sjetongene kan det være akkurat likt, men prosessen du bruker til å skrive til et SD-kort eller USB-pinne er ganske annerledes.
Raspberry Pi er designet for å se på SD-kortet etter en oppstart. partisjon ved hjelp av et FAT-filsystem. Avhengig av hvordan du bruker Pi, kan det være den eneste partisjonen på SD-kortet, men et sofistikert operativsystem som Raspbian kan umulig kjøre på et FAT-filsystem, så du trenger minst en ekstra partisjon (eller en egen stasjon) som kan håndtere linux-filer, for eksempel ext4-format.
Når du kjører linux eller Windows eller en Mac og «kopierer» en fil fra ett «montert» filsystem til et annet, tar operativsystemet seg av å lage , sletter og peker på filene når de legges på harddisken, flash-stasjonen eller hva som helst. Filene lagres inne i hver partisjon ved å bruke reglene som er spesifikke for filsystemet, enten det er FAT, ext4, Mac HFS + eller hva som helst.
Når du starter med en bildefil (ofte identifisert som .iso for Linux eller .dmg på en Mac) inneholder filen ALT, inkludert alle delene som identifiserer partisjonene og biter av data i partisjonene.
Når du bruker dd-kommandoen i linux for å kopiere en fil , det tar bitene ut av (eller inn i) en .iso NØYAKTIG da de er lagret på en disk eller et SD-kort, og ignorerer partisjonene, filsystemene, filene og katalogene som du og operativsystemet trenger for å gi mening om dataene. på den. Det er en helt annen type kopieringsoperasjon. Hvis du bare drar det .iso til SD-kortet ditt, vil du ikke bare fylle det unødvendig, Pi vet ikke hvordan man skal se «inne i .iso-filen for å få det den trenger.
A dd-kopi tar lang tid fordi SD-kort er tregt og du kopierer store biter av data om gangen. Når alt blir tatt hensyn til, kan det imidlertid være raskere enn å kopiere de enkelte filene.
Og til svar på spørsmålet, ja, du kan montere bildet og kopiere filene til de forskjellige partisjonene, men det vil nesten alltid være mer enn en partisjon, og du må plassere filene på de riktige stedene. Det er lettest i mange tilfeller å bare bruke dd til å kopiere fra bildefilene til SD-kortet.
Svar
Din bruk av begrepet «flash» her er upassende hvis det er ment å referere til en kontrast; selv om SD-kort er flashminne basert, er kopiering til dem alltid det samme på det nivået uavhengig av hvilket verktøy du bruker, hva slags av data det er osv. Sagt på en annen måte, hvis du refererer til å kopiere data til et SD-kort som «blinkende», så gjelder det like bra uansett. Hvis du vil kalle det «kopiering», samme logikk – begge prosedyrene du refererer til som involverer kopiering av data ved å «blinke» flashminne. Det er SD-kortens natur; ved å bruke cut n «paste vs. dd
endres ikke de fysiske egenskapene til maskinvaren. Men alt dette er tangensielt for ditt primære spørsmål.
Slik NOOBS installer fungerer er at du formaterer kortet, og lager en vfat-partisjon der du deretter kan kopiere vanlige filer fra zip.
Slik den bildebaserte installasjonen fungerer, er du på lavt nivå kopierer en blokk for blokkversjon av flere partisjoner direkte til kortet. Dette er grunnen til at du ikke trenger å formatere det først. Det bildet inneholder de formaterte partisjonene, hvorav den første (oppstartspartisjonen) tjener nøyaktig samme formål (og inneholder noen av de samme filene, for eksempel den kritiske bootloader-koden) som partisjonen du opprettet for NOOBS.
Hvis du laster ned og installerer «lite» -versjonen av NOOBS, er den bare 20 MB – men da du må laste ned et fullverdig operativsystem etterpå som en del av installasjonsprosessen. Hvis du laster ned den «fulle» versjonen, er den 700+ MB, og det vil ta mye lengre tid å kopiere til kortet.
Hvis du laster ned et frittstående raspbian-bilde, er det ~ 2,0 GB bilde, og det vil ta tilsvarende lengre tid å kopiere til kortet. I tillegg er dd
et manuelt, lavt nivå, filsystemuavhengig verktøy. Det har flere konsekvenser:
-
Det gjetter ingen antakelser eller antagelser om hvordan du gjør ting optimalt. For eksempel antas det å bruke en 4 MB blokkstørrelse (
bs=4M
) en stor forskjell med hensyn til hastighet på SD-kort, men det er ikke standard og dd vil ikke prøve å finne ut av det. Klipp og lim inn via et verktøy på høyere nivå, sannsynligvis, delvis basert på informasjon det får ved å undersøke filsystemet du har allerede opprettet ved å formatere kortet. Imidlertid kandd
gjøre ting som verktøyene vanligvis ikke kan (t. skrive råblokker til en enhet, det er grunnen til at det er nødvendig med bildet s). -
Operativsystemet kan gjøre at driften av høyere verktøy virker mer strømlinjeformet via caching, noe det kan gjøre med monterte filsystemer. Dette er grunnen til at du noen ganger må vente en stund hvis du lager et stort eksemplar og deretter går for å demontere en pinne. kopien var faktisk ikke komplett, og operativsystemet vil ikke slippe det til det er gjort (dette er også grunnen til at du alltid bør vente til operativsystemet sier at det er greit).
dd
til en enheten ikke innebærer noen caching av denne typen. Det gjøres virkelig når det er gjort.
Svar
Som sannsynligvis allerede er kjent fra andre svar, skal formatet at et SD-kort for en RPI settes til FAT32, ellers vil det ikke fungere. Ulempen med FAT32-formatet er at det har en kopigrense på 4 GB, som i stor grad begrenser mulighetene dine for hvilket operativsystem du enkelt kan installere på SD-kortet. Det er imidlertid en måte å «omgå» denne grensen, og det er ved å bruke et program som 7zip for å komprimere .img-filen til noe under 4 GB, og trekker det deretter ut ved roten av SD-kortet.