Ich butter hier mal einige Verbesserungsvorschläge rein:
Allgemein vermisse ich ein kompaktes Installationsscript, sehe nur 3 Aufgeteilte aber verstehe nicht den wieso das aufgeteilt ist
Auch wären ein paar Checks nicht verkehrt um sicher zu stellen das ein Befehl, wie zB wget, auch funktioniert hat bevor fortgefahren wird. Denn sonst hagelt es Fehlermeldungen wenn zB wget nicht funktionierte.
1.Teil: https://github.com/motom001/DoorP…/DoorPi.prepare
Spoiler anzeigen
echo "dwc_otg.speed=1 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait" > /tmp/cmdline.txt
sudo sh -c "cp /tmp/cmdline.txt /boot/"
Das echo kann man gleich mit sudo davor in die cmdline.txt katapultieren. Besser fände ichs allerdings wenn geprüft werden würde ob der für DoorPI benötigte Eintrag vorhanden ist und nur falls nicht, nur diesen benötigten Eintrag nachzuholen. Denn meine cmdline.txt sieht anders aus, würde durch DoorPI dann aber derart verändert werden das zB UART zunächst nicht mehr nutzbar wäre.
Das funktioniert nicht da das Module nicht "snd-bcm2835" heißt sondern "snd_bcm2835".
Einen reboot würde ich wenn dann erst ganz zum Schluss durchführen.
2.Teil: https://github.com/motom001/DoorP…rPi.install-dep
Spoiler anzeigen
Wieso im Homedir des aktuellen Benutzers? Wieso nicht in /tmp/ oder wie es eigentlich üblich wäre /usr/src/ ?
Die Ausgabe welche Dateien entpackt wurden brauch man nicht zu sehen Also " v " weg lassen
v2.1 ist aber auch schon fast 2 Jahre alt, am 04.09.2014 kam v2.3 raus.
Hier würde ich auch wieder Checks einbinden ob der vorherige Befehl überhaupt erfolgreich war. Das einfachste wäre " && " zu verwenden:
So wird sichergestellt das der nachfolgende Befehl nur ausgeführt wird wenn der vorherige erfolgreich/fehlerfrei war.
3.Teil: https://github.com/motom001/DoorP…/DoorPi.install
Spoiler anzeigen
Kleiner Schreibfehler DoorPin -> DoorPi
https://github.com/motom001/DoorP…/service/doorpi könnte etwas schöner ausfallen, auch absolute Pfade für "python" verwenden, aber auch eine Pause im "restart" zwischen start und stop wäre gut um dem doorpi Script etwas Zeit zu lassen sich zu beenden (2 Sekunden sollten reichen).
Schreibfehler? Im DoorPi.install steht nämlich sudo cp $HOME/DoorPi/docs/service/doorpi /etc/init.d/ also heißt das Script nicht "doorpi.sh" sondern ohne Dateiendung
Abhilfe schafft man indem man einfach $0 nutzt:
Eigentlich reicht es nur einen Aufruf zu machen:
Aber bei deinen 2 Befehlen hagelt es leider auch einige "warning" 's:
root@RoPi:/etc/init.d# update-rc.d doorpi start defaults
update-rc.d: using dependency based boot sequencing
update-rc.d: warning: start runlevel arguments (none) do not match doorpi Default-Start values (2 3 4 5)
update-rc.d: warning: stop runlevel arguments (none) do not match doorpi Default-Stop values (0 1 6)
insserv: script doorpi is not an executable regular file, skipped!
root@RoPi:/etc/init.d# update-rc.d doorpi stop defaults
update-rc.d: using dependency based boot sequencing
update-rc.d: warning: start runlevel arguments (none) do not match doorpi Default-Start values (2 3 4 5)
update-rc.d: warning: stop runlevel arguments (none) do not match doorpi Default-Stop values (0 1 6)
insserv: script doorpi is not an executable regular file, skipped!
root@RoPi:/etc/init.d#
Alles anzeigen
Wie die Warnings auch mitteilen ist die Datei nicht ausführbar, dazu fehlt in deinem Install-Script ein Befehl
Das sollte fürs erste reichen
Also wie gesagt, ein einziges Installations-Script wäre nicht schlecht - oder wieso hast du das in 3 Dateien aufgesplittet