Küsimus:
Vaarika pi 3 - miks FAT-partitsioon?
Jessica 6
2016-03-14 18:02:32 UTC
view on stackexchange narkive permalink

Alustan WiFi-ga Raspberry pi 3 kasutamist. Ehitan ühe allalaaditud Ubuntu pildiga. Pärast pildi SD-kaardile kirjutamist nägin, et esimene partitsioon oli FAT32. Miks see on vajalik? Olen sama asja näinud ka käivitatavate USB-mäluseadmete puhul, kuid pole kunagi leidnud head põhjust, miks. Postitasin lehele StackOverflow.com ja mulle öeldi, et peaksin selle hoopis siia postitama. Kuid mulle anti veidi ebainformatiivne vastus:

"Kuna alglaadur teab, kuidas lugeda faile ainult FAT-failisüsteemist"

Minu küsimus on "Miks?". Pean silmas, et tavaline Linuxi kõvaketta installimine ei pea seda mängu mängima, kas pole?

Ma ei viitsi täielikku vastust anda lootuses, et keegi, kes teab tehnilisi üksikasju paremini, teeb seda, kuid see vastus on sisuliselt õige - see on seotud seadmega alglaaditava kindla / kindla / tarkvaraga (see pole nii avatud platvorm). See on vajalik kõikidel pi mudelitel, olenemata operatsioonisüsteemist, ja te ei saa kasutada Linuxiga seotud üldotstarbelisi alglaadureid (nt GRUB).
Kuid miks see ei kehti kõvaketta installimise puhul? Kui kontrollin oma Linux Minti kõvaketast, ei näe sellel FAT32 partitsiooni. Või pole see lihtsalt fdiskiga nähtav?
Ma selgitan, mida ma mõtlesin "seadme" all * "see on seotud ** varalise ** kõva / kindla / tarkvaraga, mis seadme käivitab (see pole avatud platvorm)" * vaarika pi ja see ei ole kõvaketas, sülearvuti ega nutitelefon jne (kuigi see on viimasele palju lähemal kui kaks esimest). Tavalisel arvutil on konfigureeritav püsivara / tarkvara (BIOS, UEFI), mis kontrollib, mis on ühendatud ja millisest seadmest peaks alglaadimiskoodi laadima. Pi teeb ka seda, ainult et see pole konfigureeritav ja on ainult üks võimalus: esimene, fat32-põhine partitsioon SD-kaardil.
... Ja seal ootab ta mõne varalise (?) Algkoodi leidmist. Ma usun, et seda saab ja on ümber töötatud (see ei pruugi isegi olla tõeliselt varaline), kuid peamine probleem on see, et selle laadimiseks on ainult üks võimalus (ja milleks seda hiljem kasutatakse - ma usun, et see on bootstraps * GPU *, laadib sinna püsivara, seejärel laadib operatsioonisüsteemi kerneli RAM-i ja õige protsessori).
Hakkan aru saama, kuid olen tavalise arvuti jaoks käivitatava pöidlaaja loomisel sellist asja näinud: esimene partitsioon on FAT32. Ma lihtsalt arvasin, et see oli põhjus, miks see oli sama vaarika pi puhul. Nii et minu küsimus puudutab ka käivitatavaid pisipilte.
Standardarvutil on NOR-välklamp väga rasvase alglaaduriga. RPI alglaadur on PALJU lihtsam.
Viis vastused:
GSH
2016-03-17 02:12:01 UTC
view on stackexchange narkive permalink

Kui BCM2837 esimest korda käivitab, peab see oma püsivalt mällu salvestatud koodi lugema, teevad enamik protsessoreid seda NAND-välklampiga (st BIOS-iga) rääkides, kuna seda on väga lihtne teha. Kuid me ei tee seda, selle asemel rakendame alglaadis failisüsteemi lugemiskoodi, et lugeda faili nimega bootcode.bin ja käivitada see.

Seetõttu peame SD-kaardi vormindama nii, et on lihtne rakendada. Kui olete kunagi mõelnud, kui keeruline võib olla ext4 go rakendamine, vaadake spetsifikatsioone ... Võrdluseks olen kirjutanud FAT-koodi umbes 250 baiti.

Teine probleem on see, et SD-kaarte on nende ostmisel traditsiooniliselt vormindatud FAT-iga ja seetõttu pole mõtet midagi muud rakendada. Ainus teine ​​variant on exFAT, kuna see toetab faili suurust> 4 GB.

Kui vormindate selle ext4-ga, ei saa te seda arvutis lugeda (ilma kolmanda osapoole tööriistadeta), kui vormindate NTFS-i, ei saa seda Linuxi kasti kirjutada (tegelikult on tööriistu, kuid need pole eriti usaldusväärsed), HFS on jälle suletud ja seda ei jagata!

FAT ja exFAT on ainsad failisüsteemid, mis on opereerimise ajal levinud süsteemid ...

FAT-i all peate silmas FAT32-d ja ma pole kindel, et exFAT on nii tavaline: "Microsoft ei ole ametlikult avaldanud täielikku exFAT-failisüsteemi spetsifikatsiooni ja exFAT-i rakenduste tegemiseks ja levitamiseks on vajalik Microsofti piirav litsents" [(wiki) ] (https://et.wikipedia.org/wiki/ExFAT#Restrictive_licensing_and_software_patents).
Tegelikult on see seotud sellega, miks RP-d saavad toetada ainult kuni 32 GB suuruseid Flash- / USB-seadmeid - kuna suuremad seadmed, mille maht on vähemalt 64 GB, näivad volitavat patenteeritud [exFAT] -i (https://et.wikipedia.org/wiki/ExFAT ) failisüsteem, mida, nagu @jiggunjer osutab, ei saa FOSSis kasutada operatsioonisüsteem nagu Raspbian ...
pd_au
2016-03-14 19:49:48 UTC
view on stackexchange narkive permalink

Ma arvan, et see teema on sarnane põhjustega, miks Pi-l pole reaalajas kella (RTC), või miks seda ei saa LAN-is ärkamise kaudu käivitada. Lihtsustatult öeldes - kulude kokkuhoiuks pole Pi-l tavalist arvuti BIOS-i. BIOS peab olema salvestatud flash-ROM-i. Flash-ROMi lisamine Pi-le maksaks raha. Lihtsalt Pi ekvivalendi BIOS-failide salvestamine SD-kaardile eraldi sektsiooni säästab raha ning võimaldab hõlpsamat ja vähem riskantset värskendamist.

Mis puutub sellesse, miks see sektsioon on vormindatud FAT32-s, siis soovitaksin, et see on väga lihtne ja pragmaatiline ühilduvuse valik. Enamik inimesi kasutab Windowsi (oeh, ma kuulen kõiki teie FOSS-i innukaid jõnksakaid ... vabandust, aga see on fakt). Buutimisfailide edukaks kirjutamiseks (Windowsis, Linuxis või OSXis) kontrollimiseks on ainult üks valik: FAT32.

Kindlasti saate installida Windowsi ext4-partitsiooni lugemiseks programmi DiskInternals nagu Linux Reader, kuid see on keskmise lapsega või lapsevanemaga (kellele Pi on peamiselt suunatud) lihtsalt palju segi ajada ei pea sallima.

IMHO FAT on valitud seetõttu, et seda on väga lihtne rakendada. See on PALJU lihtsam kui ext2 või xfs.
Ma arvan, et tehniliselt oleks Pi versioon BIOS-ist ükskõik milline kood, mida enne esimese partitsiooni lugemist käivitatakse ...
PaulF8080
2016-03-16 00:43:30 UTC
view on stackexchange narkive permalink

/ boot asub selles partitsioonis, nii et panete ketta oma arvuti kaardilugejase ja parandate alglaadimisprobleeme, sealhulgas redigeerite /boot/config.txt .

HankB
2016-03-16 01:23:50 UTC
view on stackexchange narkive permalink

Käivituslaadur (ja paljudel juhtudel on see ainult esimese astme alglaadur) vastutab ülejäänud OS-i toova koodi laadimise eest.

Tavalisel juhul PC teeb BIOS seda koodi abil, mis isegi ei asu ketta sektsioonis. Linuxi puhul oleks see GRUB (varem LILO.) See on kood, mis läheb Linuxi / alglaadimispartitsioonile ja laadib selle ning see omakorda laadib ülejäänud OS-i.

Pi-l läheb BIOS-i ekvivalent SD-kaardile ja otsib FAT-partitsiooni, kust laadida. Kõigile, mida ma tean, võib nõuda, et see sektsioon eksisteerib seadme fikseeritud nihkes. See laadib selle koodi ja see loeb operatsioonisüsteemi EXT4 kaardilt.

Ma olen UEFI laadijatega vähem tuttav ja ei saa neid kommenteerida. Samuti ei pruugi ma kahe alglaaduri etapi osas õige olla. Neid võib olla rohkem. Huvi korral googeldage arvuti alglaadurit ja leiate lisateavet.

jiggunjer
2017-01-19 18:22:25 UTC
view on stackexchange narkive permalink

Selle küsimuse tõlgendamiseks on mitu võimalust:

  • miks nõuab üks operatsioonisüsteem kahte sektsiooni; täpsemalt: kaks köidet?
  • Miks nõuab see täiendav partitsioon FAT32-failisüsteemi, erinevalt nt. NTFS või Ext4?
  • (vaikimisi küsimus?): Millised failid on selles FAT32 failisüsteemis.

1. Vastus esimesele on:
See ei nõua tehniliselt kahte sektsiooni, lihtsalt buutimisfailidega partitsioon on FAT32 .
Kuna FAT32 pole käivitamiseks suurepärane terve OS on arendajad sunnitud kasutama kahte failisüsteemi, seega kahte partitsiooni. Usun, et Ext4 on Linuxi OS-i partitsioonide jaoks tavaline.

2. Miks FAT32 buutimisfailide jaoks? Spekuleerime järgmistel põhjustel:

  • Failisüsteemi draiveri käivitamine laadimislaadijas on lihtne / kompaktne. Enamik teisi failisüsteeme on keerukamad. Alglaaduri kirjutamine pole lihtne, eriti kui peate minimeerima võimalikult palju kiibil olevat NAND-i.

  • Muud failisüsteemid võivad sisaldada (suuremaid) litsentsimiskulusid või pole need õigesti dokumenteeritud.

  • FAT32-failisüsteemi toetavad tavalised operatsioonisüsteemid nagu Windows, MacOS ja Linux. Seega pole SD-kaardil / pildil olevatele failidele juurdepääsemiseks vaja installida spetsiaalseid draivereid.

3. Buutimisfailid on nagu lobotomiseeritud versioon GRUBist ja ma usun, et nad on suletud lähtekoodiga. See peaks sisaldama kõiki faile, mis on vajalikud teie valitud tuuma laadimiseks, sealhulgas põhidraivereid (mis võivad erineda hiljem laaditavatest kerneli draiveritest või neile lisada).


Seoses teie analoogiad:

Olen sama lugu näinud ka alglaaditavate USB-mäluseadmete puhul [...] tavaline Linuxi kõvaketta install ei vaja seda mängu ?

Tegelikult nad ka tegid. Ja nii mõnelgi juhul. Nt Windows 7 installimine BIOS-i masinasse loob 2 sektsiooni, 100 MB NTFS-i sektsiooni, mis sisaldab alglaadimisfaile. Linuxi masinate jaoks on tavaline eraldi partitsioon / boot , mis sisaldab alglaadurit (nt GRUB) ja kernel + draiverifaile. Eraldamine pole tingimata vajalik, kuna need alglaadijad kasutavad MBR-i, kuid MBR-i kasutamine on "häkkerim" kui õige failisüsteemi kasutamine. Seetõttu eelistab uuem UEFI käivitamise püsivara ka alglaadimisfailide jaoks eraldi FAT-failisüsteemi (mis on ilmselt see, mida nägite oma pöidla kettal).



See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...