Beaglebone Black Başlangıçta Script Çalıştırma

Başlatan Erhan YILMAZ, 07 Temmuz 2014, 12:00:39

Erhan YILMAZ

Basit bir led yakıp söndüren deneme programı yaptım c++ ile şimdi bunu başlangıçta çalıştırmak istiyorum. Yani enerji verince gerekli izinler verilip benim programım çalışsın istiyorum.
http://www.mcu-turkey.com/beaglebone-linux-acilisinda-baslangic-scripti-calistirmak/
http://mybeagleboneblackfindings.blogspot.com.tr/2013/10/running-script-on-beaglebone-black-boot.html
Buradakileri denedim ama sonuç alamadım. İstediğim aşağıda ki gibi bir scripti başlangıçta çalıştırmak(Hatalı olabilir script konusunu bilmiyorum). Başaran oldu mu? nasıl yapabilirim?

Birde BBB'de yeniden başlatınca dosya erişim izinleri niye her seferinde sıfırlanıyor? Çözümü var mı?

#!/bin/sh
chmod -R 777 /sys/class/gpio/
cd
cd HelloWorldtest
./HelloWorldTest

kralsam

Hocam mcu-turkey.com daki yöntem çalışıyor. gpio klasörünün yetkilerini neden değiştiriyorsun hocam?
Varsayılan olarak set edebiliyor olman lazım. Ayrıca klasör ve dosya yetkileri kalıcı olur diye düşünüyorum. Belki reset tuşu ile reboot etmenden kaynaklı problem olabilir. Root yetkisi aldıktan sonra reboot ile denediniz mi?

Erhan YILMAZ

Hocam çünkü her enerjiyi kestiğimde yetkiler değişiyor anlamadım. Beaglebone black'a özel bir durum olabilir. Mcuturkeyde anlatılanlar beaglebone için denedim ama olmadı. Bütün işlemleri root (#)ile yapıyorum.

kralsam


hocam peki kaydettiğin bir dosya kapayıp açtığında duruyormu? Yoksa o da mı siliniyor? Sanki ROM bellekmiş gibi.. Ben white olanla çalıştım hocam ama sen bir daha "reboot" komutu ile yada "shutdown -r now" komutu ile başlatıp denermisin? Bende bazen elektriği çekersem history yani geçmiş komutları hatırlamıyordu. Ama bu şekilde yeniden başlatırsam kaydetmişti. Belki onunla ilgili olabilir.

Erhan YILMAZ

Yok hocam dosyalar duruyor onda bir sıkıntı yok. Ama izinler değişiyor işte anlamadım. Belki önlem amaçlı olabilir. shutdown komutunu da denedim sonuç alamadım. Scriptte mi bir sorun var anlamadım.

kralsam

Alıntı yapılan: Erhan YILMAZ - 07 Temmuz 2014, 15:51:47
Yok hocam dosyalar duruyor onda bir sıkıntı yok. Ama izinler değişiyor işte anlamadım. Belki önlem amaçlı olabilir. shutdown komutunu da denedim sonuç alamadım. Scriptte mi bir sorun var anlamadım.
hocam script e yeni dikkat ettim. Sanırım problem scriptten yetkiden değil. içerikte cd komutunu sanırım user_file geçiş için kullanmışsın. Onun yerine /home/kullnıcı_ismin/program_yolu/program_adı şeklinde yazarsan çalışması gerekir.

Erhan YILMAZ

Hocam scripti manuel çalıştırınca istediğimi yapıyor ama. Birde bunu denerim olmadı.

kralsam

Alıntı yapılan: Erhan YILMAZ - 07 Temmuz 2014, 17:50:06
Hocam scripti manuel çalıştırınca istediğimi yapıyor ama. Birde bunu denerim olmadı.
Hocam büyük ihtimal çözülecek. Bu hatayı ilk başta bende yapmıştım. Sen giriş yapmış olduğun için kullnıcı dizinini bulabiliyor. Ama kernel yüklerken henüz kullanıcı oturumu açık olmadığından muhtemelen root altına yada başka bir yere bakıyordur.(Net olarak bilmiyorum denemek lazım)

mehmet

Verdiğiniz ikinci linkteki gibi script sistem servisi olarak
çalışması gerekli.
Ancak bir kere çalışsın derseniz, /etc/init.d/ klasörünün içindeki
bir dosyaya ilave edip sonuna exit 0 yazarak çalıştırabilirsiniz.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

Erhan YILMAZ

#9
Hayla bir sonuç alamadım tırmalıyorum. Bu arada izin olayı program dosyasının kök dizininde olmayışındanmış. /Test diye klasör oluşturup içine attığımda izin sorunu yaşamadım.

mesaj birleştirme:: 08 Temmuz 2014, 00:01:06

Yanılmışım yine klasöre izin vermedim bişey var ama anlamadım.

mesaj birleştirme:: 08 Temmuz 2014, 00:08:05

Aşağıda ki adımları izleyince oldu. Programı /home/root dizini altına attım script aşağıda ki gibi. Yardımınız için sağolun.

http://mybeagleboneblackfindings.blogspot.com.tr/2013/10/running-script-on-beaglebone-black-boot.html

#!/bin/bash 
chmod -R 777 /sys/class/gpio
/home/root/Test


Ama anlamadığım bu service oluşturma nedir? Öbür yöntem daha basit gibiydi fakat çalışmadı. Biraz daha öbür yönteme yoğunlaşayım olmadı.

mesaj birleştirme:: 08 Temmuz 2014, 00:18:54

Enteresan bir şekilde diğer türlüde çalıştı. Sorun script dosyasında ki programın başına . koyduğum içinmiş. Diğer düzenlemeler hayla geçerli tabi. Sonuç konunun başında ki iki yöntemde çalışıyor ama farkları ne bilmiyorum.

mehmet

Servisler arka planda, kendi hallerine işlerini
yaparlar. Donanımsal, zamanlı, vs.

Linux için yapılmış noip2 servisi iyi bir örnektir. Ben bundan
yararlanarak kendi servisimi yaptım...

/usr/local/bin içerisine basit bir kod derledim. Bunu /etc/init.d içerisinde
servis yapıp bunu servis olarak çalıştırmasını sağladım...

BBB de biraz farklı olacaktır mutlaka...
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

yamak

Hocam başlangıçta direk root olarak giriş yapsan olmaz mı?Hem de izinleri değiştirmene gerek kalmaz.

Erhan YILMAZ

@Mehmet Anladım hocam sağolun android de ki servis mantığına benziyor ama merak ettiğim bu servis sonra ne yapıyor? Ben sadece başlangıçta 1-2 ayar yapıp benim programını çalıştırmasını istiyorum. Sonra devam etmesine gerek yok. Bu yüzden diğer yöntem daha gözüme güzel göründü.

@yamak hocam benim istediğim zaten sistem enerjilenip açıldıktan sonra istediğim programı çalıştırması. Yani BBB'yi tek başına stand alone çalıştırmak.

Diyaliz hastası gibi bilgisayara bağlı çalışınca sinirimi bozuyor. :D Gömülü sistemin bir anlamı kalmıyor.

Şu anda dediğimi yaptım hayla kurcalıyorum BBB'yi bakalım webcam bağlayıp tek başına video, resim çekme, görüntü işleme gibi şeyler yapmayı düşünüyorum.

kralsam

Alıntı yapılan: Erhan YILMAZ - 08 Temmuz 2014, 16:32:22
@Mehmet Anladım hocam sağolun android de ki servis mantığına benziyor ama merak ettiğim bu servis sonra ne yapıyor? Ben sadece başlangıçta 1-2 ayar yapıp benim programını çalıştırmasını istiyorum. Sonra devam etmesine gerek yok. Bu yüzden diğer yöntem daha gözüme güzel göründü.

@yamak hocam benim istediğim zaten sistem enerjilenip açıldıktan sonra istediğim programı çalıştırması. Yani BBB'yi tek başına stand alone çalıştırmak.

Diyaliz hastası gibi bilgisayara bağlı çalışınca sinirimi bozuyor. :D Gömülü sistemin bir anlamı kalmıyor.

Şu anda dediğimi yaptım hayla kurcalıyorum BBB'yi bakalım webcam bağlayıp tek başına video, resim çekme, görüntü işleme gibi şeyler yapmayı düşünüyorum.
Hocam gayet zevkli oluyor. :) Ama sanırım pek linux kullanmamışsın. Bence işletim sistemini de Linux a taşırsan çok rahat edersin. En basitinden bir çok şeyi pc de deneyip BBB'a uygularsın.
Kolay gelsin.

yamak

Alıntı yapılan: Erhan YILMAZ - 08 Temmuz 2014, 16:32:22
@yamak hocam benim istediğim zaten sistem enerjilenip açıldıktan sonra istediğim programı çalıştırması. Yani BBB'yi tek başına stand alone çalıştırmak.

Diyaliz hastası gibi bilgisayara bağlı çalışınca sinirimi bozuyor. :D Gömülü sistemin bir anlamı kalmıyor.
:)
Hocam demek istediğin auto login root olarak yapılırsa istediğiniz script i root yetkilerine ihtiyaç duymadan çalıştırabilirsin.