All Projects → troglobit → Mylinux

troglobit / Mylinux

Licence: gpl-2.0
myLinux is a small UNIX like OS for embedded systems based on Westermo NetBox

Projects that are alternatives of or similar to Mylinux

Embedded Ide
IDE for C embedded development centered on bare-metal ARM systems
Stars: ✭ 127 (+139.62%)
Mutual labels:  makefile, embedded-systems, embedded
Gnu Eprog
Embedded Programming with the GNU Toolchain
Stars: ✭ 230 (+333.96%)
Mutual labels:  arm, embedded-systems, qemu
Rt Thread
RT-Thread is an open source IoT operating system.
Stars: ✭ 6,466 (+12100%)
Mutual labels:  arm, embedded-systems, kernel
Prettyos
A Preemptive Hard Real Time kernel for embedded devices.
Stars: ✭ 36 (-32.08%)
Mutual labels:  arm, embedded-systems, kernel
STM32F10x Servo Library
Servo library with stm developed by the Liek Software Team. We are working on new versions.
Stars: ✭ 14 (-73.58%)
Mutual labels:  arm, embedded, embedded-systems
w1-gpio-cl
Command line configured kernel mode 1-wire bus master driver. w1-gpio standard Linux module enhancement/substitution.
Stars: ✭ 17 (-67.92%)
Mutual labels:  embedded, kernel, embedded-systems
Frosted
Frosted: Free POSIX OS for tiny embedded devices
Stars: ✭ 194 (+266.04%)
Mutual labels:  arm, kernel, embedded
Ferret
Ferret is a free software lisp implementation for real time embedded control systems.
Stars: ✭ 878 (+1556.6%)
Mutual labels:  makefile, arm, embedded-systems
mdepx
MDEPX — A BSD-style RTOS
Stars: ✭ 17 (-67.92%)
Mutual labels:  arm, embedded, qemu
Tock
A secure embedded operating system for microcontrollers
Stars: ✭ 3,258 (+6047.17%)
Mutual labels:  arm, kernel, embedded
Paddle Lite
Multi-platform high performance deep learning inference engine (『飞桨』多平台高性能深度学习预测引擎)
Stars: ✭ 5,808 (+10858.49%)
Mutual labels:  arm, embedded
F9 Kernel
An efficient and secure microkernel built for ARM Cortex-M cores, inspired by L4
Stars: ✭ 596 (+1024.53%)
Mutual labels:  arm, embedded
Paper collection
Academic papers related to fuzzing, binary analysis, and exploit dev, which I want to read or have already read
Stars: ✭ 710 (+1239.62%)
Mutual labels:  kernel, embedded
Swupdate
Software Update for Embedded Systems
Stars: ✭ 711 (+1241.51%)
Mutual labels:  embedded-systems, embedded
Webfsd
A simple HTTP server for mostly static content written in C
Stars: ✭ 50 (-5.66%)
Mutual labels:  makefile, embedded
Embox
Modular and configurable OS for embedded applications
Stars: ✭ 576 (+986.79%)
Mutual labels:  kernel, embedded
Linux Lab
Docker/Qemu Based Linux Kernel Learning, Development and Testing Environment; New Linux ELF Video Course from this project author: https://www.cctalk.com/m/group/88089283
Stars: ✭ 771 (+1354.72%)
Mutual labels:  makefile, qemu
Fprime
F' - A flight software and embedded systems framework
Stars: ✭ 8,642 (+16205.66%)
Mutual labels:  embedded-systems, embedded
Pyocd
Open source Python library for programming and debugging Arm Cortex-M microcontrollers
Stars: ✭ 550 (+937.74%)
Mutual labels:  arm, embedded
Arm now
arm_now is a qemu powered tool that allows instant setup of virtual machines on arm cpu, mips, powerpc, nios2, x86 and more, for reverse, exploit, fuzzing and programming purpose.
Stars: ✭ 719 (+1256.6%)
Mutual labels:  arm, qemu
Example Boot myLinux

Introduction

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.

Building

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:

make help

To see available defconfigs for supported targets, use:

make list-defconfigs

Monitoring with SNMP

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 snmpset, snmpget, snmpwalk, base MIBs and all standard MIBs needed. You may also be interested in a more graphical alternative, snmpB

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-2.25.1.1.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 SSH

The most common embedded SSH daemon in use on embedded Linux systems today is Dropbear by the incredibly humble Matt Johnston.

Dropbear is one of a few services enabled by default in myLinux, it allows root access, but we recommend disabling this and setting up a regular user account after install.

Using Telnet

The Busybox telnetd is available in myLinux, for security reasons it is disabled by default, so you have to enable it:

initctl enable telnetd
initctl reload

Bugs & Feature Requests

Feel free to report bugs and request features, or even submit your own pull requests using GitHub

Licensing & References

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].