Otázka:
Běží na SD kartě jen pro čtení
hyiu00
2013-02-25 10:57:28 UTC
view on stackexchange narkive permalink

Nastavil jsem Raspberry Pi tak, aby běžel XBMC, a chci, aby se spustil, aby vždy přehrával seznam skladeb a soubory na SD kartě. Vypnul jsem automatickou aktualizaci Raspbmc. Po přepnutí karty SD do polohy „uzamčení“ to stále funguje. Moje otázky jsou:

  1. Bude v mé aplikaci systém SD karet typu „jen pro čtení“ fungovat po celou dobu?

  2. Jelikož SD karta je vždy v režimu jen pro čtení, pokud nepoužiji příkaz vypnutí a jen vypnu vypínač, poškodí to můj systém?

  3. I když toto funguje spolehlivě, vždy vyskakuje zpráva „Raaspbmc se správně nevypnul“. Existuje nějaký způsob, jak tuto zprávu deaktivovat, když se Pi zapne?

Pokud chcete, aby to fungovalo spolehlivě, budete se muset ujistit, že příslušné systémy souborů jsou připojeny také jako pouze pro čtení.
šest odpovědi:
Chris Wesseling
2013-08-21 21:16:48 UTC
view on stackexchange narkive permalink

Měl jsem podobné použití. Používám Pi pro zúžení webových stránek ve vchodu do budovy. Napájení Pi přes USB port na televizoru.

Připojit / pouze pro čtení.

Aby to bylo odolné proti ztrátě napájení, připojil jsem / jen pro čtení změnou řádku v / etc / fstab

  / dev / mmcblk0p2 / ext4 výchozí, noatime, ro 0 1  

Docela jednoduché. Ale některé procesy na funkčním stroji potřebují psát.

Mount / tmp v paměti.

Mnoho věcí zapisuje do / tmp tak jsem to připojil do paměti přidáním řádku do /etc/fstab

  tmpfs / tmp tmpfs defaults, size = 30M 0 0  

Měl jsem k dispozici 512 MB Pi, takže jsem vytvořil / tmp 30M velký.

Zakázat služby Nepotřebuji tento zápis.

Zakázal jsem rsyslog , aby zastavil protokolování a dphys-swapfile , protože nemá skutečné místo pro psaní. Běh bez výměny způsobí problémy, pokud provádíte těžké zvedání, které je náročné na paměť. V mém případě spuštění jednoho procesu midori na jeden den, není. cat /etc/rc2.d/README na svém Pi, jak to udělat. (Raspbian se ve výchozím nastavení spouští na úrovni 2, raspbmc se může lišit.)

Nechte služby, které potřebuji , potřebovat faux-write.

Můžete poskytnout přístup pro zápis k souborový systém v paměti tak, jak to dělá live-cd; s připojením odboru. Nelíbilo se mi však vyhlídky na křížové kompilace vlastního jádra pro unionfs nebo pozdější aufs. Naštěstí je unionfs-fuse předem připraven. Nemůže sjednotit připojení / , ale opravdu to potřebuji?

Při spuštění midori potřebuji X, abych fungoval. X chce psát v / home / pi , protože se autologuji jako pi a na několik míst v / var jsem se rozhodl je připojit na místa pomocí unionfs.

  # přesunout originál / var a / home asidemkdir / romv / var / romv / home / ro # vytvořit body připojení mkdir / var / home  

a připojit 2 řádky k /etc/fstab

  unionfs-fuse # / tmp = rw: / ro / var = ro / var fuse cow, allow_other, nonemptyunionfs-fuse # / tmp = rw: / ro / home = ro / home fuse cow, allow_other  

Je to docela ošklivé, protože zápisy do / var, / home a / tmp končí v / tmp. Potřebuji však, aby můj stroj běžel 8 až 10 hodin, a poté se napájení přeruší. Takže to bude stačit.

Opětovné načtení a zápis při ladění věcí

Když jsem změnil sítě, /etc/resolv.conf , který dhclient napsal, nešlo už nebudu pracovat.

  $ sudo mount / -o remount, rw $ ifdown eth0; ifup eth0 $ sudo reboot  

Nezapomeňte čistě vypnout nebo znovu připojit ro po opětovném připojení rw.

PS

Pokud si můžete přečíst V němčině, existuje čistší způsob (z archive.org). Deutsche Gründlichkeit ...

avra
2013-02-25 18:07:23 UTC
view on stackexchange narkive permalink

Pozice zámku karty SD kolík není na PCB vůbec připojen, takže vaše uzamčení je virtuální, pokud karta nemá vnitřní zajišťovací mechanismus. Pokuste se na kartu SD něco napsat, když je zamčená, a zkontrolujte to sami.

scruss
2013-02-25 19:02:25 UTC
view on stackexchange narkive permalink

Přepínač SD jen pro čtení je v nejlepším případě softwarovou možností. Téměř každé zařízení, které mám, to bude ignorovat, a pokud je komentář Avry správný, Raspberry Pi nemusí mít žádný způsob, jak zjistit, zda je zapnutý nebo vypnutý. Takže k vašim otázkám:

  1. Ano, bude to fungovat, protože to není jen pro čtení.
  2. Ano, poškodí to váš systém. Budete se muset podívat na připojení root jen pro čtení a mít malý souborový systém ram / tempfs pro věci, které Linux potřebuje ke sledování.
  3. Ne, protože existuje velká šance, že budete mít poškodil souborový systém.
Odpověď @avra je správná v tom, že fyzický přepínač, který detekoval polohu posuvníku pro ochranu proti zápisu na SD kartách standardní velikosti používaných v dřívějších RPis (nejsem si jistý, jaké jsou velikosti mikro karet, moje se nezdá mít není nic zapojeno (tj. kontakty na straně držáku karty), druhý spínač (ve spodní části držáku karty) je spínač „vložka karty“ a ten je monitorován RPi .
goldilocks
2013-02-25 20:47:07 UTC
view on stackexchange narkive permalink
  1. Nepoužíval jsem XBMC, ale není to dobrý nápad WRT pro běžný operační systém, pokud se nepokoušíte ho nastavit za tímto účelem. Implicitně, pokud XBMC není výslovně nastaveno, pak to také není dobrý nápad.

  2. Pokud je karta ve skutečnosti pouze pro čtení , ve skutečnosti NEBUDE poškodit váš systém, ale pokud by byl skutečně jen pro čtení, je nepravděpodobné, že byste se dostali do bodu, kdy byste mohli spustit 'vypnutí'. Pokud jste to udělali (to znamená znovu, jste si jisti , že celá karta je ve skutečnosti pouze pro čtení!), Neobtěžujte se spuštěním vypnutí. Stačí vytáhnout zástrčku. Jelikož se nic na kartě nemůže změnit, nezáleží na tom, co děláte.

  3. Jistě, můžete najít zodpovědné soubory init a upravit je (souborový systém bude samozřejmě muset je možné to zapisovat).

Realisticky, pokud připojíte kořenový souborový systém jen pro čtení (což může být těžší než pouhé použití zámku), pravděpodobně nebude mít úspěšné spuštění, protože operační systém musí zapisovat na disk. Pokud to však uděláte, pak můžete dělat, co chcete (a můžete se z toho dostat). Pokud je karta pouze pro čtení, nelze ji změnit, takže si nemůžete ublížit.

oktay
2014-03-06 13:10:51 UTC
view on stackexchange narkive permalink

Pokud to právě děláte

1.

Výchozí nastavení / dev / mmcblk0p2 / ext4, noatime, ro 0 1
/ dev / mmcblk0p1 / vfat defaults, noatime, ro 0 1
máte celý systém jen pro čtení.

2.

Můžete začít Xorg s : -logfile /tmp/Xorg.log a najděte další službu, která vyžaduje přístup pro zápis, přesměrujte je na / tmp

3.

Jak již bylo zmíněno, deaktivujte službu, kterou nepotřebujete,

insserv -r dphys-swapfile
insserv -r rsyslog
insserv -r samba (je-li nainstalována) atd.

pak by neměl být vůbec žádný problém. Dobrou otázkou je, zda na SD kartě vůbec nedojde k žádnému poškození, pokud bude RO pouze a bude se neustále zapínat / vypínat napájení ...

Konečně, krásná úvodní obrazovka a je to, máte levné levné samostatné zařízení. :) A já miluji Idea napájet PI přes USB port z TV. Ale není to omezeno na 500mA? Nejste si jisti, ale PI potřebuje přibližně 1 A nebo ne?

dhcpclient musí napsat /etc/resolv.conf a pravděpodobně další umístění v / var. Pěkné, že jste zmínil příkazy insserv, ty jsem potřeboval; Přestavuji naše zařízení, abych získal nové ca-certifikáty.
Darth Vader
2017-06-18 00:21:27 UTC
view on stackexchange narkive permalink

Rychlý pohled na toto online naznačuje, že pro nejnovější verzi XBMC to nikdo nezveřejnil.

Hlavním problémem, jak zdůraznila společnost Goldilocks, je, že XBMC nebylo navrženo s úmyslem takže je pouze pro čtení. Tento bod je dále podporován, pokud se podíváte na toto vlákno ve fóru OpenELEC Media Center. Obecná shoda, že není možné nastavit Kodi pouze pro čtení.

Důvodem podle uživatele klojum bylo:

Chcete-li, aby OpenELEC fungoval na zařízení pouze pro čtení, nebude přihodit se. Kodi musí ukládat / aktualizovat své databáze pomocí video informací. Systémový oddíl byl z nějakého důvodu nastaven pouze pro čtení. Všechna nastavení probíhají přes druhý oddíl / storage. Takže jeho odstranění pomocí cmdline nebo jinak není možné. Obnovení systému po každém restartu je šílené. Nainstalujte si OE, nechejte jej běžet podle vašich představ a vytvořte úplnou zálohu / obraz. Obnovte to v případě potíží.

Může to existovat, protože lidé našli řešení pro starší verze, ale obecně si nemyslím, že je třeba.

Rozumím tomu, že někdo, kdo Kodi používá už několik let, je nepříjemnost poškození SD karty. Existují však i jiné jednodušší způsoby, jak zmírnit problém, které nezahrnovaly nízkoúrovňové kódování.

Prvním důvodem poškození karty SD je, pokud dojde k náhlému výpadku napájení. Existuje několik důvodů, proč se to může stát. Buď někdo v polovině cesty odpojí napájení Pi prostřednictvím zápisu na SD kartu. Nebo systém zamrzne a vy musíte odpojit napájení. Myslím si však, že je méně pravděpodobné, že by druhý důvod způsobil korupci. Nebo to naznačuje, že ve hře je další chyba.

V počátcích Pi okruh dodávky energie na desce rozhodně zanechal něco, co by bylo žádoucí. Vzpomínám si na dny způsobující selhání systému jednoduše připojením USB klíče k Pi, když byl zapnutý. Pokud mi nevěříte, přečtěte si problémy se spuštěním XBMC na Raspberry Pi 2011. Druhým problémem je, že software v počátcích nebyl plně zralý. Pi byl jiný pohled na to, jaký by mohl být stolní počítač, a vyžehlení problémů se softwarem vyžaduje čas. U mnohem novějších verzí Kodi je tedy méně pravděpodobné, že by náhodně zamrzly.

Chcete-li vyřešit problém s náhlou ztrátou energie, napájejte své Pi prostřednictvím jakéhokoli druhu nepřerušitelného zdroje napájení (UPS). Běžná UPS by fungovala, ale ve skutečnosti existují speciálně UPS navržené pro Pi. Stejně jako tento Nepřerušovaný zdroj napájení pro Raspberry Pi. Pokud dojde k zablokování systému, mělo by to být něco, na co jste připraveni. To znamená nastavení OS se všemi nastaveními a aplikacemi a preferencemi podle vašeho vkusu a poté vytvoření obrazu na SD kartě. Pokud se tedy něco pokazí, můžete SD kartu znovu zobrazit.

Dalším důvodem, proč SD karta selže, je její opotřebení. To však není problém, který jsem sám zažil. Pokud používáte vysoce kvalitní SD kartu od renomované značky, myslím, že jste pravděpodobně na půli cesty k vyřešení tohoto problému. Minimalizace opotřebení karty SD znamená zajistit, že karta SD bude dělat absolutní minimum. Neměl by být používán jako úložný prostor pro vaši rozsáhlou sbírku filmů atd.

Možnost, která bude fungovat s OpenELEC, je spuštění z USB disku. Samozřejmě všechny spouštěcí soubory budou muset zůstat na SD kartě. Existuje řada návodů, jak to udělat. Existuje jeden, který vypadá docela snadno zde, ale pro úplnost vám poskytnu přehled:

Prvním krokem je nastavení karty SD a jednotky USB. Pomocí programu, jako je MiniTool Partition Wizard, naformátujte SD kartu jako FAT32 s primárním aktivním oddílem 150 MB nebo větším, ve skutečnosti by celá SD karta mohla být naformátována jako FAT32. Jen se ujistěte, že je oddíl nastaven na primární aktivní. Může být také užitečné označit SD kartu jako něco jako SYSTEM, abyste si pamatovali, k čemu bude v budoucnu. Poté naformátujte celou jednotku USB jako jeden primární aktivní oddíl s typem souborového systému jako EXT4, což opět stojí za to označit jako něco jako SKLADOVÁNÍ.

Jakmile stáhnete a rozbalíte OpenELEC, přejděte do kořenové složky. A vyberte tyto soubory:

  openelec.icoREADME.md  

A zkopírujte je do kořenového adresáře SD karty.

Dále ze složky target zkopírujte soubory:

  KERNELSYSTEM  

A znovu je vložte do kořenový adresář SD karty.

Potom ze složky třetí strana / bootloader zkopírujte soubory:

  bootcode.binconfig.txtfixup.datLICENCE.broadcomstart.elf  

A vložte je do kořenového adresáře SD karty.

Posledním krokem je změna názvu souboru KERNEL na SD kartě na kernel.img .

Chcete-li vytvořit spouštěcí soubory, vytvořte v kořenovém adresáři SD karty soubor s názvem cmdline.txt a přidejte do něj následující řádek:

  boot = / dev / mmcblk0p1 disk = / dev / sda1 console = ttyAMA0,115200 kgdboc = ttyAMA0,115200 console = tty1 ssh  

Nezapomeňte soubor zavřít a uložit jej. A odtud je dobré jít. Zdroj informací navrhl spuštění XBMC z USB disku, což zvýšilo odezvu. Nejsem si tak jistý tímto tvrzením, ale nebudete vidět žádné snížení výkonu v důsledku použití této metody.

Pokud jde o vaši mediální sbírku, doporučuji ji uložit na druhou jednotku, ať už je to USB nebo síťové umístění.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...