Openelec boot script

Pagina: 1
Acties:

Vraag


  • bertp1
  • Registratie: Maart 2011
  • Niet online
Ik draai volgend shell (/python) scriptje op openelec (autostart.sh in /storage/.config) op een R Pi 2.

Deze doet 2 dingen zoals je kan zien:
1) stuur magic packet naar Windows server om deze te laten booten
2) schrijf "started openelec" naar bestand.

Als ik het script manueel uitvoer over ssh, werkt zowel 1 als 2. Echter, wanneer ik de openelec pc gewoon opstart enkel 2. Dus het script wordt wel uitgevoerd, maar de server pc start niet op. Iemand enig idee hoe ik dit kan oplossen?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
exec /usr/bin/python -x "$0" "$@"

# Wake-On-LAN
#
# Copyright (C) 2002 by Micro Systems Marc Balmer
# Written by Marc Balmer, marc@msys.ch, http://www.msys.ch/
# This code is free software under the GPL

import struct, socket

def WakeOnLan(ethernet_address):

  # Construct a six-byte hardware address

  addr_byte = ethernet_address.split(':')
  hw_addr = struct.pack('BBBBBB', int(addr_byte[0], 16),
    int(addr_byte[1], 16),
    int(addr_byte[2], 16),
    int(addr_byte[3], 16),
    int(addr_byte[4], 16),
    int(addr_byte[5], 16))

  # Build the Wake-On-LAN "Magic Packet"...

  msg = '\xff' * 6 + hw_addr * 16

  # ...and send it to the broadcast address using UDP

  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

  s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
  s.sendto(msg, ('<broadcast>', 9))
  s.close()

f = open('/storage/autostart.log', 'w')
f.write('started openelec')
f.close
WakeOnLan('<MAC address>')


Mijn excuses indien dit niet het juiste forum is, ik wist het niet zeker.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 30-09 22:30

Hero of Time

Moderator LNX

There is only one Legend

Als je nog andere ideeën hebt om je issue op te lossen, laat het hier dan even weten. Ondertussen verplaats ik je topic naar NOS.

Wanneer laat je dit script trouwens tijdens het opstarten draaien? Want als WoL niet wordt uitgevoerd kan dat ook komen omdat het script te vroeg wordt aangeroepen en je netwerk nog niet is geconfigureerd.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 29-09 19:12
ik weet niet onder welke user autostart.sh wordt uitgevoerd, maar heb je wel permissie om op "/storage/autostart.log" te schrijven met die user ?
(er vanuitgaande dat je het handmatig wellicht als root / andere user uitvoert)


Whoops 2 deed het wel en 1 niet.
Hmm dan geldt hetzelfde, mag je als die user een socket openen.

Meestal worden die autostart scripts wel als root uitgevoerd en redelijk laat in de opstart chain.

Kun je de output ervan niet in een file redirecten zodat je eventuele errors te zien krijgt ?

[ Voor 41% gewijzigd door gekkie op 11-09-2016 19:42 ]