fixstars / cRTOS

Compound Real-time Operating System
Other
19 stars 6 forks source link

[BUG] cRTOS-LOADER not work #2

Open hky1999 opened 8 months ago

hky1999 commented 8 months ago

After the installation of shadow and ivshmem-net kernel module,

The loader just not work as expectation.

Indeed, it got stucked in trying to make a connection to peer sRTOS at 172.16.0.2 through enp0s13

Could you give some advice about it? thanks a lot!!!

dmesg and the output of Nuttx:

1704200349294

sonicyang commented 8 months ago

Sorry for the late reply.

According to the output of NuttX, seems like the ivshmem-net on NuttX side had not properly initialized. I did not use the 172.16.0.0 subnet during my experiment.

Did you also modified the application setting for the cRTOS daemon on the NuttX side for setting the listening IP address and ports? It can be done using menuconfig in NuttX.

sonicyang commented 8 months ago

Reference: https://github.com/fixstars/cRTOS/blob/master/sRTOS_Config.md

hky1999 commented 8 months ago

Sorry for the late reply.

According to the output of NuttX, seems like the ivshmem-net on NuttX side had not properly initialized. I did not use the 172.16.0.0 subnet during my experiment.

Did you also modified the application setting for the cRTOS daemon on the NuttX side for setting the listening IP address and ports? It can be done using menuconfig in NuttX. Thanks a lot for your rely!

Yes, I found that it was because of a broken probe of ivshmem-net

I don't know if it was because of the PCI driver or something else, MCS9922 PCIe-to-serial just not work, so I failed in get the debug output of Nuttx, so I just comfigured Nuttx to use UART 16550(the same serial used by Jailhouse).

After removing the PCI configs of both root cell and Nuttx cell, all PCI devices probed by Nuttx seemed to work fine, but I failed to get the output of user applications(like cRTOS_main), I found that in group_setupstreams all of the stdin, stdout and stderr streams are set to NULL, so I just modified the libs/libc/stdio/lib_printf.c in Nuttx to make user apps print to nx_vsyslog, and I got the output from user application.

I do not know if it is correct but finally I successfully excuted /bin/echo through crtos-loader in Linux.

I write down some of my records, availble in https://sjodqtoogh.feishu.cn/docx/LXXWdIfofokoxGxWMLlcRLdmnEc

hky1999 commented 8 months ago

Reference: https://github.com/fixstars/cRTOS/blob/master/sRTOS_Config.md

CONFIG_SYSTEM_CRTOS_DAEMON_IPADDR=0xac100002 ---> Does it mean 172.16.0.2 ???
Just guess, I don't know, just follow the default application setting.