myLinux is a small UNIX like OS for embedded systems based on Westermo NetBox, which in turn is based on the fine Buildroot project. It serves as a testing ground for various embedded networking hardware and open source software projects by the main author.
myLinux can be used to test software components in Qemu before deploying to an embedded target, or as a reference to other embedded Linux systems.
Buildroot is almost stand-alone, but need a few locally installed tools to bootstrap itself. For details, see the excellent manual. Briefly, to build a myLinux image; select the target and then make:
make espressobin_defconfig make
Online help is available:
To see available defconfigs for supported targets, use:
myLinux use mini-snmpd as its SNMP agent. It is very small and therefore also very limited in functionality, but it is enough to monitor myLinux by remote if needed.
initctl enable snmpd initctl reload
To test it you need an SNMP client. The following command installs
snmpwalk, base MIBs and all standard MIBs
needed. You may also be interested in a more graphical alternative,
sudo apt-get install snmp libsnmp-base snmp-mibs-downloader
When done you should be able to do the following:
snmpwalk -v2c -c public 192.0.2.42
SNMPv2-MIB::sysDescr.0 = STRING: myLinux Linux Virtual Devboard SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises SNMPv2-MIB::sysUpTime.0 = Timeticks: (465) 0:00:04.65 SNMPv2-MIB::sysContact.0 = STRING: [email protected] SNMPv2-MIB::sysName.0 = STRING: chaos SNMPv2-MIB::sysLocation.0 = STRING: GitHub IF-MIB::ifNumber.0 = INTEGER: 1 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifDescr.1 = STRING: eth0 IF-MIB::ifOperStatus.1 = INTEGER: up(1) IF-MIB::ifInOctets.1 = Counter32: 5557 IF-MIB::ifInUcastPkts.1 = Counter32: 45 IF-MIB::ifInDiscards.1 = Counter32: 0 IF-MIB::ifInErrors.1 = Counter32: 0 IF-MIB::ifOutOctets.1 = Counter32: 2958 IF-MIB::ifOutUcastPkts.1 = Counter32: 19 IF-MIB::ifOutDiscards.1 = Counter32: 0 IF-MIB::ifOutErrors.1 = Counter32: 0 SNMPv2-SMI::mib-220.127.116.11.0 = Timeticks: (71983) 0:11:59.83
snmpget -c public -v 2c 192.0.2.42 system.sysUpTime.0
SNMPv2-MIB::sysUpTime.0 = Timeticks: (2344) 0:00:23.44
Note: Other SNMP agents are also available in Buildroot, but mini-snmpd is pre-selected for myLinux targets.
Dropbear is one of a few services enabled by default in myLinux, it
root access, but we recommend disabling this and setting up a
regular user account after install.
telnetd is available in myLinux, for security reasons it
is disabled by default, so you have to enable it:
initctl enable telnetd initctl reload
With the exceptions listed below, myLinux v2 is distributed under the same terms as Buildroot, the GNU GPL. myLinux is only the build system, or glue, that ties the various Open Source components together. Each project included comes with source code, and sometimes local patch files, all with their own license and restrictions.