2012-03-23 7 views
0

Ich möchte automatisch ein einfaches Shell-Skript auf Linux-Start ausgeführt

ich arbeite Arm basiertes Board läuft ein qtopia & Linux 2.6.28

so, i legte mein Skript auf /etc/int.d/scriptname und ich machen es ausführbar mit:

ein Skript bei Linux Start ausgeführt

chmod +x /etc/init.d/scriptname 

und dann link i durch:

ln -s /etc/init.d/scriptname /etc/rc.d/S10scriptname 



das Problem ist, dass, wenn ich das Board aus neu starten oder wechseln und dann wieder ein, um zu testen, ob das Skript ausgeführt wird oder i, dass das Skript nicht herausfinden, entfernt wird!

Ich habe auch versucht, das RCS-Skript zu ändern, das sich in /etc/int.d/ befindet und ein paar Zeilen hinzufügen, um es zu testen, aber jede Änderung wird komplett entfernt, nachdem ich das Board neu gestartet habe und ich finde nur das Original Datei.

ich bin auf Linux noch neu und ich habe ich versucht zu suchen, aber nichts gefunden

thanx

+0

zu schaffen, was Verteilung verwenden Sie ? Bei vielen Distributionen müssen Sie den Symlink zB in /etc/rc2.d setzen (oder rc3.d abhängig vom Ziel-Runlevel). Wenn die Datei entfernt wird, klingt das nach einem Sicherheitsproblem - verhindert die Verteilung Änderungen an Systemdateien? – luukes

+0

Ich benutze qtopia mit Linux 2.6.28 für eingebettete Systeme nicht eine Desktop-Distribution, auch ich habe nicht /etc/rc2.d .. Ich habe nur /etc/rc.d und wenn ich "Runlevel" auf laufen terminal ich werde unbekannt –

Antwort

4

Einige, wie ich denke, Sie laufen von einem Nur-Lese-Dateisystem oder Initrd oder Initramfs. Wenn das der Fall ist, müssen Sie herausfinden, wie dieses Dateisystem neu erstellt wird.

Die Vorgehensweise hängt vom eingebetteten System oder von der Verteilung ab.

Dies könnte eine Frage für die Elektronik oder den integrierten StackExchange sein.

+0

oh, ich benutze cramfs, aber ich wusste nicht, dass es nur gelesen wird bis jetzt .. ich bin immer noch neu in Embedded Linux und Dateisysteme .. ty sehr viel :) –

+0

Ja, cramfs ist ein schreibgeschütztes komprimiertes Dateisystem, das vor gebaut werden muss Zeit. Eingebettet ist eine ganz andere Umgebung, alle anderen Antworten sind in gewisser Hinsicht korrekt, aber die Annahmen waren falsch. –

0

auf Ihrem Distro Je Sie Befehle wie ‚Service‘ oder ‚chkconfig‘, die Sie, dass Links createing hilft auf den richtigen Ebenen.

+0

gut, ich benutze linux 2.6.28 für eingebettete systeme, ich glaube nicht, dass es einen bestimmten vertriebsnamen: S, oder zumindest ich kann es nicht herausfinden –

0
ln -s /etc/init.d/scriptname /etc/rc.d/S10scriptname 

ist falsch Notwendigkeit, eine Link-Datei

ln -s /etc/init.d/scriptname /etc/rc.d/rc *.d/S10scriptname 

verwenden entweder 3 oder 5 am Ende des Skripts fügen Sie bitte und fügen

rm -rf /etc/init.d/scriptname. 
+1

versucht, Ihren Code zu formatieren, könnte es aber falsch haben - bitte bearbeiten und verbessern :-) – kleopatra

Verwandte Themen