{"id":25917376,"url":"https://github.com/troglobit/myLinux","last_synced_at":"2025-03-03T14:01:31.981Z","repository":{"id":56773306,"uuid":"21051428","full_name":"troglobit/myLinux","owner":"troglobit","description":"myLinux is an embedded operating system based on Buildroot and Finit","archived":false,"fork":false,"pushed_at":"2024-06-30T04:42:31.000Z","size":2023,"stargazers_count":83,"open_issues_count":0,"forks_count":11,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-03-02T18:11:24.036Z","etag":null,"topics":["arm","buildroot","buildroot-external","buildroot-external-tree","buildroot-layer","busybox","dev-board","devboard","dropbear-ssh","embedded","embedded-systems","kernel","linux","qemu"],"latest_commit_sha":null,"homepage":"https://troglobit.com/post/2022-01-16-finit-v4.2-released/","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/troglobit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["troglobit"]}},"created_at":"2014-06-20T20:29:03.000Z","updated_at":"2025-02-23T17:26:20.000Z","dependencies_parsed_at":"2023-12-12T09:29:33.139Z","dependency_job_id":"087236e4-e951-4faf-9c3f-a03b004f69c7","html_url":"https://github.com/troglobit/myLinux","commit_stats":{"total_commits":1039,"total_committers":4,"mean_commits":259.75,"dds":"0.012512030798844997","last_synced_commit":"0137fa54802c3a272333362327cb442f9e8d7b35"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2FmyLinux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2FmyLinux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2FmyLinux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/troglobit%2FmyLinux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/troglobit","download_url":"https://codeload.github.com/troglobit/myLinux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241678151,"owners_count":20001682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arm","buildroot","buildroot-external","buildroot-external-tree","buildroot-layer","busybox","dev-board","devboard","dropbear-ssh","embedded","embedded-systems","kernel","linux","qemu"],"created_at":"2025-03-03T14:00:46.553Z","updated_at":"2025-03-03T14:01:31.958Z","avatar_url":"https://github.com/troglobit.png","language":"Shell","funding_links":["https://github.com/sponsors/troglobit"],"categories":["Active","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"\u003cimg align=\"right\" src=\"doc/example.png\" alt=\"Example Boot\"\u003e\n\u003cimg class=\"left\" src=\"doc/logo.png\" alt=\"myLinux\"\u003e\n\n* [Introduction](#introduction)\n* [Building](#building)\n* [Testing SNMP](#testing-snmp)\n* [Dropbear SSH](#dropbear-ssh)\n* [Using Telnet](#using-telnet)\n* [Bugs \u0026 Feature Requests](#bugs--feature-requests)\n* [Try Before Flashing](¤try-before-flashing)\n* [Licensing \u0026 References](licensing--references)\n\n\nIntroduction\n------------\n\nmyLinux is a UNIX like OS for embedded systems based on [Buildroot][].\nIt serves as a testing ground for various embedded networking hardware\nand open source software projects by the main author.  E.g., the init\nsystem is [Finit][], not BusyBox init which is default in Buildroot.\n\nmyLinux can be used to verify software components in a emulated setup,\nusing Qemu, before deploying to an embedded target, or as a reference\nto other embedded Linux systems.  Therefore, all defconfigs are set up\nto include support for running under Qemu.\n\n\nBuilding\n--------\n\nBuildroot is almost stand-alone, but need a few locally installed tools\nto bootstrap itself.  For details, see the [excellent manual][manual].\nBriefly, to build a myLinux image; select the target and then make:\n\n    make espressobin_defconfig\n    make\n\nOnline help is available:\n\n    make help\n\nTo see available defconfigs for supported targets, use:\n\n    make list-defconfigs\n\n\u003e **Note:** build dependencies: \u003ckbd\u003esudo apt install make libssl-dev\u003c/kbd\u003e\n\n\nMonitoring with SNMP\n--------------------\n\nmyLinux  use [mini-snmpd](https://troglobit.com/mini-snmpd.html)  as its\nSNMP  agent.  It  is  very  small and  therefore  also  very limited  in\nfunctionality, but it is enough to monitor myLinux by remote if needed.\n\n    initctl enable snmpd\n    initctl reload\n\nTo test  it you  need an  SNMP client.   The following  command installs\n`snmpset`,  `snmpget`,  `snmpwalk`,  base  MIBs and  all  standard  MIBs\nneeded.  You  may also  be interested in  a more  graphical alternative,\n[snmpB](http://sourceforge.net/projects/snmpb/)\n\n\u003ckbd\u003esudo apt-get install snmp libsnmp-base snmp-mibs-downloader\u003c/kbd\u003e\n\nWhen done you should be able to do the following:\n\n\u003ckbd\u003esnmpwalk -v2c -c public 192.0.2.42\u003c/kbd\u003e\n\n    SNMPv2-MIB::sysDescr.0 = STRING: myLinux Linux Virtual Devboard\n    SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises\n    SNMPv2-MIB::sysUpTime.0 = Timeticks: (465) 0:00:04.65\n    SNMPv2-MIB::sysContact.0 = STRING: troglobit@gmail.com\n    SNMPv2-MIB::sysName.0 = STRING: chaos\n    SNMPv2-MIB::sysLocation.0 = STRING: GitHub\n    IF-MIB::ifNumber.0 = INTEGER: 1\n    IF-MIB::ifIndex.1 = INTEGER: 1\n    IF-MIB::ifDescr.1 = STRING: eth0\n    IF-MIB::ifOperStatus.1 = INTEGER: up(1)\n    IF-MIB::ifInOctets.1 = Counter32: 5557\n    IF-MIB::ifInUcastPkts.1 = Counter32: 45\n    IF-MIB::ifInDiscards.1 = Counter32: 0\n    IF-MIB::ifInErrors.1 = Counter32: 0\n    IF-MIB::ifOutOctets.1 = Counter32: 2958\n    IF-MIB::ifOutUcastPkts.1 = Counter32: 19\n    IF-MIB::ifOutDiscards.1 = Counter32: 0\n    IF-MIB::ifOutErrors.1 = Counter32: 0\n    SNMPv2-SMI::mib-2.25.1.1.0 = Timeticks: (71983) 0:11:59.83\n    \n\u003ckbd\u003esnmpget -c public -v 2c 192.0.2.42 system.sysUpTime.0\u003c/kbd\u003e\n\n    SNMPv2-MIB::sysUpTime.0 = Timeticks: (2344) 0:00:23.44\n\n**Note:** Other SNMP agents are also available in Buildroot, but\n  mini-snmpd is pre-selected for myLinux targets.\n\n\nDropbear SSH\n------------\n\nThe most  common embedded SSH  daemon in  use on embedded  Linux systems\ntoday  is [Dropbear](https://matt.ucc.asn.au/dropbear/dropbear.html)  by\nthe incredibly humble [Matt Johnston](https://matt.ucc.asn.au/).\n\nDropbear is  one of  a few  services enabled by  default in  myLinux, it\nallows `root` access,  but we recommend disabling this and  setting up a\nregular user account after install.\n\n\nUsing Telnet\n------------\n\nThe Busybox `telnetd`  is available in myLinux, for  security reasons it\nis disabled by default, so you have to enable it:\n\n    initctl enable telnetd\n    initctl reload\n\n\nBugs \u0026 Feature Requests\n-----------------------\n\nFeel free to report bugs and request features, or even submit your own\n[pull requests](https://help.github.com/articles/using-pull-requests/)\nusing [GitHub][Home].\n\n\nTry Before Flashing\n-------------------\n\nOne of the most tedious things as an embedded engineer is to watch the\nnew firmware image update, only after five minutes to find the device no\nlonger booting!  One way to reduce turnaround times when working is to\ntest and develop your image in Qemu.\n\nmyLinux has built-in support for calling `make run` after a successful\nbuild.  This is just a wrapper for calling the `qemu.sh` script that has\nbeen generated in your `output/images/` directory.  It comes with a few\nenvironment variables control the behavior.\n\n - `MY_HOST=/path/to/host/share`: When this is set Qemu shares the full\n   path argument as `/host` inside your target system.\n\n\nLicensing \u0026 References\n----------------------\n\nWith the  exceptions listed below,  myLinux v2 is distributed  under the\nsame terms as [Buildroot][], the [GNU GPL][].  myLinux is only the build\nsystem, or glue, that ties  the various Open Source components together.\nEach project included comes with  source code, and sometimes local patch\nfiles, all with their own license and restrictions.\n\n[Home]:      https://github.com/troglobit/myLinux\n[Finit]:     https://github.com/troglobit/finit\n[GNU GPL]:   COPYING\n[Buildroot]: https://buildroot.org\n[manual]:    https://buildroot.org/downloads/manual/manual.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2FmyLinux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftroglobit%2FmyLinux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftroglobit%2FmyLinux/lists"}