Hi,
I am trying to build and run Legato AF 19.04 to run on a Raspberry Pi 3 running Raspbian Stretch. This is done by cross-compiling on a virtual machine running Ubuntu 18.04 LTS.
I have followed the build process as outlined at Configure Raspberry Pi - Legato Docs, and the Legato framework appears to build without any stopping errors. I have attached the build output from make raspi
.
make raspi.txt (80.1 KB)
When trying to start Legato, using the following commands as root user on the Pi:
$ mount -t squashfs /boot/legato.squashfs /mnt/legato
$ /./mnt/legato/start
The following log output is observed:
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c main() 2253 | Starting Modem PA loading thread.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=ModemPAThread | start.c LoadModemPA() 257 | Trying to open modem PA /mnt/legato/apps/b496b31c1c0f6d1507d38701aac5711a/read-only/lib/libComponent_le_pa.so
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=ModemPAThread | start.c LoadModemPA() 263 | Could not open /read-only/lib/libComponent_le_pa.so.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=ModemPAThread | start.c LoadModemPA() 264 | /mnt/legato/apps/b496b31c1c0f6d1507d38701aac5711a/read-only/lib/libComponent_le_pa.so: undefined symbol: _le_pa_le_atClient_ServiceInstanceName
Jun 25 11:54:26 raspberrypi user.warn Legato: -WRN- | startSystem[647]/framework T=ModemPAThread | start.c LoadModemPA() 270 | Cannot open modem PA; hardware state detection disabled
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=ModemPAThread | start.c LoadModemPA() 273 | Modem PA is loaded - signaling to the main thread.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c main() 2265 | Installing/launching the system.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c GetStatus() 1332 | Status of system 'current' is 'good'.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c FindNewestSystemIndex() 1601 | System 'current' is OK.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c CheckAndInstallCurrentSystem() 2109 | The previous 'current' system has index 0.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c GetStatus() 1332 | Status of system 'current' is 'good'.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c ShouldInstallGolden() 1665 | System on /mnt/legato is old. Ignoring it.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | startSystem[647]/framework T=main | start.c GetStatus() 1332 | Status of system 'current' is 'good'.
Jun 25 11:54:26 raspberrypi user.err Legato: =ERR= | supervisor[651]/framework T=main | smack.c smack_SetLabel() 499 | Could not set SMACK label for '/tmp/ld.so.cache'. No such file or directory.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/framework T=main | user.c user_Init() 445 | /etc is writable
Jun 25 11:54:26 raspberrypi user.warn Legato: -WRN- | supervisor[651]/framework T=main | mem.c VerifyUniquenessOfName() 670 | Multiple memory pools share the same name 'framework.FsFileRefPool'. This will become illegal in future releases.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/supervisor T=main | supervisor.c SetupSmackOnlyCap() 1012 | SMACK onlycap disabled
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/framework T=main | cgroups.c MountSubSys() 145 | Mounted cgroup hierarchy for subsystem 'cpu,cpuacct'.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/framework T=main | cgroups.c MountSubSys() 145 | Mounted cgroup hierarchy for subsystem 'memory'.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/framework T=main | cgroups.c MountSubSys() 145 | Mounted cgroup hierarchy for subsystem 'freezer'.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/supervisor T=main | supervisor.c _supervisor_COMPONENT_INIT() 1356 | SMACK label "framework" is up to date
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | serviceDirectory[662]/framework T=main | user.c user_Init() 445 | /etc is writable
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | serviceDirectory[662]/serviceDirectory T=main | serviceDirectory.c _serviceDirectory_COMPONENT_INIT() 2629 | Service Directory is ready.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/supervisor T=main | frameworkDaemons.c StartDaemon() 293 | Started system process 'serviceDirectory' with PID: 662.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/supervisor T=main | frameworkDaemons.c StartDaemon() 293 | Started system process 'logCtrlDaemon' with PID: 663.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | logCtrlDaemon[663]/logDaemon T=main | logDaemon.c _logDaemon_COMPONENT_INIT() 2856 | Log daemon ready.
Jun 25 11:54:26 raspberrypi user.warn Legato: -WRN- | serviceDirectory[662]/framework T=main | safeRef.c le_ref_CreateRef() 537 | Safe reference map maximum references exceeded for refFdMonitors.
Jun 25 11:54:26 raspberrypi user.warn Legato: -WRN- | _UNKNOWN_[664]/framework T=main | safeRef.c InitMap() 217 | Map name 'refconfigTreeWdog_ServerHandlers' truncated to 'refconfigTreeWdog_ServerHandler'.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | configTree[664]/framework T=main | user.c user_Init() 445 | /etc is writable
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[651]/supervisor T=main | frameworkDaemons.c StartDaemon() 293 | Started system process 'configTree' with PID: 664.
Jun 25 11:54:26 raspberrypi user.info Legato: INFO | supervisor[665]/supervisor T=main | frameworkDaemons.c StartDaemon() 256 | Setting updateDaemon with admin label.
Jun 25 11:54:26 raspberrypi user.warn Legato: -WRN- | configTree[664]/framework T=main | unixSocket.c unixSocket_ReceiveMsg() 663 | Ancillary data was discarded because it couldn't fit in our buffer.
Jun 25 11:54:26 raspberrypi user.emerg Legato: *EMR* | configTree[664]/framework T=main | messagingInterface.c DirectorySocketReadable() 559 | Failed to receive client fd from Service Directory (-6: LE_FAULT).
Jun 25 11:54:26 raspberrypi user.crit Legato: *CRT* | supervisor[651]/supervisor T=main | frameworkDaemons.c SigChldStartingHandler() 187 | System process '/legato/systems/current/bin/configTree' raising SIGCHLD
Jun 25 11:54:26 raspberrypi user.crit Legato: *CRT* | supervisor[651]/supervisor T=main | frameworkDaemons.c SigChldStartingHandler() 190 | System process has exited with status 1
Jun 25 11:54:26 raspberrypi user.emerg Legato: *EMR* | supervisor[651]/supervisor T=main | frameworkDaemons.c SigChldStartingHandler() 197 | **** SYSTEM IS UNWORKABLE ****
Jun 25 11:54:27 raspberrypi daemon.info bluetoothd[469]: Terminating
Jun 25 11:54:27 raspberrypi auth.info sshd[549]: Received signal 15; terminating.
Jun 25 11:54:27 raspberrypi daemon.info bluetoothd[469]: Stopping SDP server
Jun 25 11:54:27 raspberrypi daemon.info bluetoothd[469]: Exit
Jun 25 11:54:27 raspberrypi authpriv.info systemd: pam_unix(systemd-user:session): session closed for user root
Jun 25 11:54:27 raspberrypi user.emerg Legato: *EMR* | startSystem[647]/framework T=main | start.c RunCurrentSystem() 1802 | System will reboot now !
The system does not reboot, and when manually restarting the Raspberry Pi and trying again, the same issue occurs.
If anyone has some insight as to what the issue may be, it would be much appreciated