I periodically get ‘udevd’ errors (shown below) reporting from Angstrom Linux (I am using A10 SoC Devkit board and Quartus v17.0.2). I only got these when I made a project by modifying a version of the GHRD to make my own project. It looks to me like there are Linux system services tied to the componenets used in the GHRD so all I should need to do is find them and turn them off. Has nyone else seen sporadic errors like these after using a modified GHRD project? (I am making the assumption that the GHRD is where these came from, but if I run an unmodified GHRD they do not seem to occur.) Did the authors of the GHRD insert Linux services that link to their design? (Seems unlikely but???)
If you recognize the error listed below let me know what causes it. - Thanks
" I did find a way to make it stop scrolling errors at me by placing the Altera Sysid Peripheral back into my project and setting it up with the connections that allow it to respond to the Linux service.
I had removed the altera_sysid from my QSYS since I have no functional need of it but Altera has ensured it must stay by inserting a system service that will crash your Linux if you change or remove it. To put the sysid back into your HPS project add the sysid peripheral in QSYS. It has three connections, clock, reset and control_slave. Connect clock and reset to any available and active clock and reset in your QSYS design. Connect the control_slave to the h2f_lw_axi_master in your HPS device. (I had tried connecting it to the AXI master, which connects OK - but it did not work to stop the crashes.) You also should rename the sysid peripheral to “sysid” (I am not sure if this is required but it is part of how I got it to work).
Altera added a golden system reference design driver to the Angstrom Linux that distributes to users of the A10_SoC_DevKit and it can be found in /sys/module/altera_sysid directory in your Angstrom distribution. It is not documented as far as I can see so there is little available to try to control it through settings (secret code bugs me). I have no interest in using the GSRD beyond some testing so I doubt there is anything in there that helps me, and it probably causes other unwanted effects besides sysid crashes. I did not get around to shutting it down (using the appropriate systemctl commands) but I am fairly sure you could do that successfully then be able to remove the Altera-sysid completely from your QSYS.
My projects are flat FPGA designs and there is no risk of installing code for a different processor. I don’t use partial configuration and at present I am not using and NIOS code since the HPS works well to do all I need for now. If I add some NIOS again later I may need the sysid back but I doubt I’ll have need of a system service that helps crash my system.
It looks like I spoke too soon with the post above since it just crashed again (though it ran well for two days - a new Altera record!).
I’ll have a go at it with the systemctl commands and post again.
I’ve been running OK so far without the altera-gsrd system service, but time will tell if this is the real fix.
Using systemd commands you can see and control the system services.
To list the services that are running enter
ls /lib/systemd/system/.service /etc/systemd/system/.service
To see the status of a particular service (for example the altera-gsrd.service ) enter
systemctl status altera-gsrd.service
To stop a service (for example the altera-gsrd.service) enter
systemctl stop altera-gsrd.service
That will stop the service now, but it will restart on the next reboot.
To start a service (etc…)
systemctl start altera-gsrd.service
To disable a service so it does not start again on the next boot (so it stays turned off) enter
systemctl disable altera-gsrd.service
To enable a service to it will restart when the system is booted up enter
systemctl enable altera-gsrd.service
So far the sysid errors are not happening to my system but I have only been testing it for one afternoon.
I still have the Altera_sysid component in my QSYS but if testing looks good I will try removing it to see what happens.
LATE REPORT: It seems that still isn’t enough since I still see the dreaded Altera_sysid oops traces from my Linux terminal. I’ll keep working on it.
The next chapter in my ongoing battle with altera_sysid. To recap, I am not using the altera_sysid module for anything because I have no NIOS processors (I use HPS only) and I do not dynamically load or reload code on the fly. I am also the only user so I dont need to contain the possibility that someone might come along and load a new program.
I started out with the SD Card loaded with the golden system reference design but moved on from spinoffs of that program long ago. Along the way I began getting Linux oops tracebacks reporting failures related to altera-sysid. This topic covers my attempt to make those (and a few other system generated errors) go away so my Linux is more stable to work with.
I found that there is a system service called altera-gsrd.service that does something (unspecified) to support the golden system reference design. This is not documented as far as I can see and is a likely syuspect in inciting the altera-sysid messages. This system service resides in /lib/systemd/system/altera-gsrd.service
I also found that there is a module named altera_sysid residing in /sys/module/altera_sysid
I had occasionally seen errors from periodic checks which were watchdog checks or timed system events (something that happens at 180 sec intervals) that spew warnings that seem to have no effect.
To alleviate these I have added the following lines to my initial login seqeunce and I have had very good luck at eliminating the non-useful errors and warnings so far. I also have removed the altera_sysid component from the QSYS in my project. The lines are as follows;
It may be that I do not need all of these any more as they were accumulated over time and some may now be preventing the errors that others are covering but they are working for me better than my earlier attempts.