Salt okunur SD kartta çalışma


20

Raspberry Pi'yi XBMC'yi çalıştıracak şekilde ayarladım ve her zaman SD karttaki bir çalma listesini ve dosyaları oynatmak için önyükleme yapmasını istiyorum. Raspbmc otomatik güncellemesini kapattım. SD kartı "kilitli" konuma getirdiğimde hala çalışıyor. Şimdi qeustions'larım:

  1. "Salt okunur" SD kart sistemi uygulamamda her zaman çalışır mı?

  2. SD kart her zaman salt okunur modda olduğundan, kapatma komutunu kullanmaz ve sadece güç anahtarını kapatırsam, sistemime zarar verir mi?

  3. Bu güvenilir bir şekilde çalışsa bile, her zaman "Raaspbmc düzgün kapanmadı" iletisini görüntüler. Pi açıldığında bu mesajı devre dışı bırakmanın bir yolu var mı?


1
Bunun güvenilir bir şekilde çalışmasını istiyorsanız, uygun dosya sistemlerinin de salt okunur olarak bağlandığından emin olmanız gerekir.
Jivings

Yanıtlar:


14

Benzer bir kullanımım vardı. Pi'yi bina girişindeki web sayfalarını daraltmak için kullanıyorum. Pi'yi TV'deki USB bağlantı noktası üzerinden çalıştırma.

Bağla / salt okunur.

Parlaklığa dayanıklı hale getirmek için bir satırı değiştirerek monte ettim / salt okunur /etc/fstab

/dev/mmcblk0p2  /               ext4    defaults,noatime,ro  0       1

Gayet basit. Ancak işlevsel bir makinedeki bazı işlemlerin yazılması gerekir .

/ Tmp'yi belleğe takın.

Birçok şey yazıyor bu /tmpyüzden bir çizgi ekleyerek bellekte monte/etc/fstab

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

Ben bir 512MB Pi vardı / ben / tmp 30M büyük yaptım.

Hizmetleri devre dışı bırak Bu yazıma ihtiyacım yok.

rsyslogGünlüğe kaydetmeyi durdurmak için devre dışı bıraktım ve dphys-swapfileyazmak için gerçek bir yeri yok. Eğer bellek yoğun olan ağır kaldırma yaparsanız takas olmadan çalışmak sorun yaratacaktır. Benim durumumda bir gün boyunca tek bir midori işlemi yürütmek değil. cat /etc/rc2.d/READMEbunu nasıl yapacağınıza dair Pi'nizde. (raspbian varsayılan olarak runlevel 2'de başlar, raspbmc farklı olabilir)

Ben hizmetlerini Let do sahte yazma gerekir.

Canlı cd'nin yaptığı gibi bellekteki bir dosya sistemine yazma erişimi sağlayabilirsiniz; bir birlik montajı ile . Ama sendikalar veya daha sonraki auflar için kendi çekirdeğimi çapraz derleme ihtimalini beğenmedim . Neyse ki unionfs-fuseönceden oluşturulmuş. Sendika dağı olamaz /, ama buna gerçekten ihtiyacım var mı?

Midori Koşu Çalışmak için X'e ihtiyacım var. X /home/pipi olarak otomatik olarak giriş yapmak ve bunları birkaç sendikaya yazmak istiyor /var.

# move original /var and /home aside
mkdir /ro
mv /var /ro
mv /home /ro
# create mount points
mkdir /var /home

ve 2 satır ekledi /etc/fstab

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

/ Var, / home ve / tmp dizinlerine / tmp dizininde yazdığı için bu oldukça kötüdür. Ama sadece 8 ila 10 saat boyunca makinemin çalışmasına ihtiyacım var ve sonra güç kesiliyor. Yani bu olacak.

Bir şeyleri düzenlerken okuma-yazma işlemini yeniden yapma

Ağları değiştirdiğimde, /etc/resolv.confo dhclient'in yazdığı artık çalışmadı.

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

Rw'yi temizledikten sonra temiz kapatmayı veya ro yeniden monte etmeyi unutmayın.

PS

Almanca okuyabiliyorsanız, daha temiz bir yol vardır (archive.org adresinden ). Deutsche Gründlichkeit ...


4

SD kart kilit konumu pimi pcb'ye hiç bağlı değildir, bu nedenle kartın dahili kilitleme mekanizması olmadığı sürece kilitleme sanaldır. SD karta kilitliyken bir şey yazmaya çalışın ve kendiniz kontrol edin.


4

SD'nin salt okunur anahtarı en iyi ihtimalle bir yazılım seçeneğidir. Neredeyse sahip olduğum her cihaz bunu görmezden gelecek ve avra'nın yorumu doğruysa, Raspberry Pi'nin açık veya kapalı olup olmadığını anlamanın bir yolu olmayabilir. Yani, sorularınıza:

  1. Evet, işe yarayacak, çünkü salt okunur değil.
  2. Evet, sisteminize zarar verir. Kökleri salt okunur olarak bağlamanız ve Linux'un izlemesi gereken şeyler için küçük bir ram / tempfs dosya sistemine sahip olmanız gerekir.
  3. Hayır, çünkü dosya sistemine zarar verme şansınız yüksektir.

@avra'nın cevabı, önceki RPis'te kullanılan standart boyutlu SD Kartlarda Yazmaya karşı koruma sürgüsünün konumunu algılayan fiziksel anahtarın doğru olması (mikro boyutlu kartlardan emin değilim, benimki gibi görünmüyor) böyle bir şey var) hiçbir şeye (kart sahibinin yan tarafındaki kontaklar) bağlı değildir, diğer anahtar (kart tutucunun altında) "kart takma" anahtarıdır ve RPI'nin.
SlySven

2
  1. XBMC kullanmadım, ancak bu amaç için kurmak için bazı uzunluklara gitmedikçe, normal bir işletim sistemine iyi bir fikir WRT değildir. Sonuç olarak, XBMC açıkça ayarlanmadıysa, bunun için de iyi bir fikir değildir.

  2. Kart gerçekten salt okunursa , aslında sisteminize ZARAR VERMEZ, ancak gerçekten salt okunursa, 'kapatmayı' çalıştırabileceğiniz noktaya gelmeniz olası değildir. Eğer yaptıysanız (yani , tüm kartın gerçekten salt okunur olduğundan eminsiniz !), Kapatma işlemini rahatsız etmeyin. Sadece fişi çekin. Karttaki hiçbir şey değişemediğinden, ne yaptığınız önemli değildir.

  3. Elbette, init dosyalarını sorumlu bulabilir ve düzenleyebilirsiniz (açıkçası, dosya sisteminin bunu yapmak için yazılabilir olması gerekir).

Gerçekçi olarak, kök dosya sistemini salt okunur olarak bağlarsanız (bu sadece kilit geçişini kullanmaktan daha zor olabilir), işletim sisteminin diske yazması gerekeceğinden muhtemelen başarılı bir önyükleme elde edemezsiniz. ANCAK, yaparsanız, o zaman ne istersen yapmaktan çekinmeyin (ve ile kurtulabilir). Kart salt okunursa değiştirilemez, bu nedenle herhangi bir zarar veremezsiniz.


2

Sadece yaparsan

1.

/ dev / mmcblk0p2 / ext4 varsayılanları, noatime, ro 0 1
/ dev / mmcblk0p1 / vfat varsayılanları, noatime, ro 0 1
tam salt okunur bir sisteminiz var.

2.

Xorg'u -logfile /tmp/Xorg.log ile başlatabilir ve yazma erişimi gerektiren diğer hizmetleri bulabilir, / tmp adresine yönlendirebilirsiniz.

3.

Daha önce de belirtildiği gibi, ihtiyaç duymadığınız hizmeti devre dışı bırakın

insserv -r dphys-swapfile
insserv -r rsyslog
insserv -r samba (kurulu ise) vb.

o zaman hiç sorun olmamalı. İyi soru, eğer sadece RO ve her zaman eklenti / çıkış gücü varsa SD kartta gerçekten herhangi bir hasar olmayacak mı ...

Son olarak, güzel bir açılış ekranı ve işte, özel bir ucuz bağımsız cihazınız var. :) Ve TV'den USB portu üzerinden PI'ye güç verme fikrini seviyorum. Ama bu 500mA ile sınırlı değil mi? Emin değilsiniz, ancak PI yaklaşık 1A'ya mı ihtiyacınız var?


dhcpclient, /etc/resolv.conf dosyasını ve / var dizinindeki diğer konumları yazmalıdır. Sţaret komutlarýndan bahsetmene rađmen, bunlara ihtiyacým vardý; Yeni ca sertifikaları almak için cihazlarımızı yeniden inşa ediyorum.
Chris Wesseling

1

Bu çevrimiçi hızlı bir bakış, XBMC'nin en son sürümü için hiç kimsenin buna herhangi bir çözüm yayınlamadığını gösteriyor.

Goldilocks'un işaret ettiği ana sorun, XBMC'nin sadece okunmasını sağlamak amacıyla tasarlanmamış olmasıdır. Bu konu , OpenELEC Media Center Forumundaki bu konuya bakarsanız daha da ileri gider. Buradaki genel fikir birliği, Kodi'nin sadece okunması mümkün değildir.

Klojum kullanıcısına göre sebep:

OpenELEC'in salt okunur bir aygıtta çalışmasını sağlamak olmaz. Kodi'nin veritabanlarını video bilgileriyle birlikte depolaması / güncellemesi gerekir. Sistem bölümü bir nedenden dolayı salt okunur olarak kuruldu. Tüm ayarlar 2. / depolama bölümü üzerinden yapılır. Bu yüzden cmdline veya başka bir yolla kaldırmak bir seçenek değildir. Her yeniden başlatmadan sonra sistemi geri yüklemek deliliktir. OE'yi yükleyin, isteklerinize göre çalıştırın ve tam bir yedekleme / resim yapın. Sorun olması durumunda geri yükleyin

İnsanlar eski sürümler için geçici çözümler bulduklarından bunun bir yolu olabilir, ancak genel olarak herhangi bir ihtiyaç olduğunu düşünmüyorum.

Kodi'yi birkaç yıl boyunca kullanan bir SD kartın sıkıntısını bozan biri olarak anlayabilirim. Ancak, düşük düzey kod müdahalesi içermeyen sorunu hafifletmenin başka daha basit yolları da vardır.

SD kartın bozulmasının bir numaralı nedeni, ani bir elektrik kesintisi olması. Bunun neden olabileceğine dair birkaç neden var. Ya birisi SD kartına yazarak Pi'nin gücünü keser. Veya sistem donar ve gücü kesmeniz gerekir. Yine de, ikinci nedenin yolsuzluğa neden olma olasılığının düşük olduğunu düşünüyorum. Ya da oyunda başka bir hata olduğunu gösterir.

Pi'nin ilk günlerinde karttaki güç dağıtım devresi kesinlikle istenen bir şey bıraktı. Pi açıkken bir USB dongle'ı takarak sistem çökmesine neden olan günleri hatırlayabilirim. Bana inanmıyorsanız , 2011 Raspberry Pi'de XBMC'yi çalıştırmayla ilgili sorunları görüyorsunuz . Diğer bir konu ise ilk günlerde yazılımın tamamen olgun olmamasıydı. Pi, bir masaüstü bilgisayarın ne olabileceğini farklı bir şekilde ele aldı ve yazılım sorunlarını çözmek zaman alıyor. Bu nedenle, Kodi'nin daha yeni sürümlerinin rastgele sistem donmalarından muzdarip olma olasılığı daha düşüktür.

Ani güç kaybı problemini çözmek için Pi'nize bir tür kesintisiz güç kaynağı (UPS) ile güç sağlayın. Normal bir UPS işe yarayacaktır, ancak aslında Pi tarafından tasarlanmış UPS'ler vardır. Bu gibi Raspberry Pi için Kesintisiz Güç Kaynağı . Bir sistem donması gerçekleşirse, bunun için hazırlandığınız bir şey olmalıdır. Bu, işletim sistemini zevkinize göre tüm ayarlar ve uygulamalar ve tercihler ile kurmak ve daha sonra SD kartın bir görüntüsünü yapmak anlamına gelir. Bir şeyler ters giderse, SD kartı yeniden görüntüleyebilirsiniz.

Bir SD kartın başarısız olmasının diğer nedeni, yıpranmasıdır. Ancak bu benim yaşadığım bir sorun değil. Saygın bir markadan yüksek kaliteli bir SD kart kullanıyorsanız, bu sorunu çözmek için muhtemelen yarı yolda olduğunuzu düşünüyorum. SD kart aşınmasını en aza indirmek, SD kartın mutlak minimum düzeyde çalışmasını sağlamak anlamına gelir. Geniş film koleksiyonunuz vb. İçin depolama alanı olarak kullanılmamalıdır.

OpenELEC ile çalışacak bir seçenek, onu bir USB sürücüden çalıştırıyor. Tabii ki tüm önyükleme dosyaları SD kartta kalmalıdır. Bunun nasıl yapılacağı ile ilgili birkaç öğretici vardır. Burada takip edilmesi oldukça kolay bir şey var , ancak tamlık için size bir genel bakış sunacağım:

İlk adım SD kartı ve USB sürücüsünü kurmaktır. MiniTool Bölüm Sihirbazı gibi bir program kullanarak, SD kartı 150 MB veya daha büyük birincil aktif bölümle FAT32 olarak biçimlendirin, aslında tüm SD kart FAT32 olarak biçimlendirilebilir. Bölümün birincil etkin olarak ayarlandığından emin olun. SD kartı SİSTEM gibi bir şey olarak etiketlemek de yararlı olabilir, böylece gelecekte ne için olduğunu hatırlarsınız. Ardından, tüm USB sürücüsünü, EXT4 olarak dosya sistemi türüyle bir birincil etkin bölüm olarak biçimlendirin, yine DEPOLAMA gibi bir şey olarak etiketlemeye değer.

OpenELEC'i indirip çıkardıktan sonra kök klasöre gidin. Ve şu dosyaları seçin:

openelec.ico
README.md

Ve bunları SD kartın kök dizinine kopyalayın.

Sonra targetklasörden dosyaları kopyalayın:

KERNEL
SYSTEM

Ve tekrar SD kartın kök dizinine yapıştırın.

Sonra 3rdparty/bootloaderklasörden dosyaları kopyalayın:

bootcode.bin
config.txt
fixup.dat
LICENCE.broadcom
start.elf

Ve bunları SD kartın kök dizinine yapıştırın.

Son adım, KERNELSD karttaki dosyanın dosya adını olarak değiştirmektir kernel.img.

Başlangıç ​​dosyalarını oluşturmak için, SD kartın kök dizininde adlı bir dosya oluşturun ve bu dosyaya cmdline.txtaşağıdaki satırı ekleyin:

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

Dosyayı kaydederek kapattığınızdan emin olun. Ve oradan gitmekte fayda var. XBMC'nin bir USB sürücüden çalıştırılmasını öneren bilgilerin kaynağı yanıt hızını artırdı. Bu hak talebinden pek emin değilim, ancak bu yöntemi kullandığınızda herhangi bir performans düşüşü görmeyeceksiniz.

Medya koleksiyonunuza gelince, USB veya ağ konumu olsun, ikinci bir sürücüye kaydetmenizi öneririm.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.