Eu quero executar o comando FsciBootloader / dev / ttymxc5 /home/root/GwRadioFirmware/KW41Z/KW41Z-hostcontrol-serial-upgrade-v2.0.5.bin
quando o sistema for iniciado pela primeira vez. Este comando pisca outro dispositivo através dos dados UART. Eu preciso executar o seguinte comando de acordo com o sucesso desta transferência de dados (flash).
/ usr / bin / ThreadDeviceMgr / dev / ttymxc5 fslthr0 0.
Para isso, criei primeiro um arquivo bash no caminho / etc / file e adicionei
#! / Bin / bash
echo "stuttering is starting ...."
FsciBootloader / dev / ttymxc5 /home/root/GwRadioFirmware/KW41Z/KW41Z-hostcontrol-serial-upgrade-v2.0.5.bin
echo "write completed ...."
Eu escrevi os comandos.
Em seguida, criei um script de serviço no caminho do arquivo / lib / systemd / system
e escrevi os seguintes comandos.
[Unit]
Description=Thread network manager
After=gateway-config.service
[Service]
Type=simple
ExecStart=/etc/flashTTT.sh
[Install]
WantedBy=multi-user.target
Em seguida, criei um segundo arquivo de serviço e neste arquivo de serviço eu quero executar o seguinte comando de acordo com o resultado do comando no primeiro arquivo de serviço e concluir a operação.
[Unit]
Description=Thread network manager
After=thread-write.service
[Service]
Type=simple
ExecStart=/usr/bin/ThreadDeviceMgr /dev/ttymxc5 fslthr0 tap 0
[Install]
WantedBy=multi-user.target
Se eu executar os serviços de acordo com as etapas acima, o segundo serviço não inicia após o flash e recebo o seguinte erro.
● thread-control.service - Thread network manager
Loaded: loaded (/lib/systemd/system/thread-control.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Wed 2018-05-09 07:15:35 UTC; 9min ago
Process: 392 ExecStart=/usr/bin/ThreadDeviceMgr /dev/ttymxc5 fslthr0 tap 0 (code=killed, signal=SEGV)
Main PID: 392 (code=killed, signal=SEGV) May 09 07:15:32 imx6ulmg ThreadDeviceMgr[392]: RTNETLINK answers: File exists
May 09 07:15:32 imx6ulmg ThreadDeviceMgr[392]: RTNETLINK answers: File exists
May 09 07:15:32 imx6ulmg ThreadDeviceMgr[392]: net.ipv6.conf.all.forwarding = 1
May 09 07:15:32 imx6ulmg /usr/bin/ThreadDeviceMgr[392]: main:3340: Software Version : 1.7.26
May 09 07:15:32 imx6ulmg /usr/bin/ThreadDeviceMgr[392]: TUNAlloc:3179: Entered : TUNAlloc
May 09 07:15:32 imx6ulmg /usr/bin/ThreadDeviceMgr[392]: TUNAlloc:3229: Exited : TUNAlloc
May 09 07:15:32 imx6ulmg /usr/bin/ThreadDeviceMgr[392]: Provision:2852: Entered : Provision
May 09 07:15:35 imx6ulmg systemd[1]: thread-control.service: Main process exited, code=killed, status=11/SEGV
May 09 07:15:35 imx6ulmg systemd[1]: thread-control.service: Unit entered failed state.
May 09 07:15:35 imx6ulmg systemd[1]: thread-control.service: Failed with result 'signal'.