{"id":13508186,"url":"https://github.com/rikeyone/mini-os","last_synced_at":"2025-06-16T07:34:06.140Z","repository":{"id":216996008,"uuid":"174953580","full_name":"rikeyone/mini-os","owner":"rikeyone","description":"This is a Mini OS based on Linux include kernel/rootfs and some essential libraries and daemons.","archived":false,"fork":false,"pushed_at":"2024-05-12T19:20:01.000Z","size":161,"stargazers_count":13,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T15:10:31.796Z","etag":null,"topics":["applications","kernel-driver","linux-distribution","rootfs"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rikeyone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-03-11T08:08:40.000Z","updated_at":"2024-07-05T02:29:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"c53965a9-cc02-4701-834d-4c02e49c1e4e","html_url":"https://github.com/rikeyone/mini-os","commit_stats":null,"previous_names":["rikeyone/mini-os"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rikeyone/mini-os","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikeyone%2Fmini-os","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikeyone%2Fmini-os/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikeyone%2Fmini-os/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikeyone%2Fmini-os/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rikeyone","download_url":"https://codeload.github.com/rikeyone/mini-os/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rikeyone%2Fmini-os/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260119516,"owners_count":22961541,"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":["applications","kernel-driver","linux-distribution","rootfs"],"created_at":"2024-08-01T02:00:49.410Z","updated_at":"2025-06-16T07:34:06.081Z","avatar_url":"https://github.com/rikeyone.png","language":"C","funding_links":[],"categories":["C","others"],"sub_categories":[],"readme":"# Description\n\nMiniOS is a develop environment for linux kernel and applications using QEMU virtual machine. Developers can easily clone it and develop based on it. You can make your idea to an product very quickly using MiniOS environment. It is a good choice to verify your solutions on MiniOS before production.\n\n# Install Environment\n\n```\nsudo ./install.sh\n```\nIt will install compile toolchains of arm and arm64, and qemu environment.\n\n# Build MiniOS\n\nTo build MiniOS system:\n\n```\n./build.sh [-a][-m module][-p platform]\n```\nOptions:\n\n```\n -a: build all modules.\n -m: build expect module:kernel/rootfs/busybox/libc/initramfs.\n -p: build platform, support arm and arm64, default is arm64.\n -h: help informations.\n```\n\n# Build Samples\n\n - Default platform arm64:\n\nTo build full MiniOS system [platform: arm64]:\n\n```\n./build.sh -a\n```\n\nTo build MiniOS modules [platform:arm64]:\n\n```\n./build.sh -m {MODDULE}\n```\n\nthe module has these values to choose: kernel, rootfs, busybox, libc, initramfs.\nBTW, the rootfs module will include \"libc\", \"initramfs\" and \"busybox\" build.\n\neg:\n\n```\n./build.sh -m rootfs    #compile arm64 platform rootfs module\n./build.sh -m kernel    #compile arm64 platform kernel module\n```\n - arm platform\n\nTo build full MiniOS system [platform: arm]:\n\n```\n./build.sh -a -p arm\n```\n\nTo build MiniOS modules [platform:arm]:\n\n```\n./build.sh -m {MODDULE} -p arm\n```\n\nthe module has these values to choose: kernel, rootfs, busybox, libc, initramfs.\nBTW, the rootfs module will include \"libc\", \"initramfs\" and \"busybox\" build.\n\neg:\n\n```\n./build.sh -m rootfs -p arm  #compile arm64 platform rootfs module\n./build.sh -m kernel -p arm  #compile arm64 platform kernel module\n```\n\n# Run MiniOS\n\n```\nsudo ./run.sh\n```\nThis command will run default arm64 minios system. If you build an arm platform minios,\nyou should add option to tell run.sh script:\n\n```\nsudo ./run.sh -p arm\n```\n\n# Stop MiniOS\n\n```\nsudo ./run.sh -s\n```\nThis command will stop default arm64 minios system. If you want to stop an arm platform minios,\nyou should add option to tell run.sh script:\n\n```\nsudo ./run.sh -s -p arm\n```\nThere is another important feature of minios, it support NFS as rootfs to boot linux kernel.\nUsing this feature, we can easily debug our applications without rebuilding the whole system:\n```\nsudo ./run.sh -t nfs -p arm\n```\nor\n```\nsudo ./run.sh -t nfs\n```\n# Advance Info\n\nMiniOS kernel support list: linux-4.0/linux-4.9.\n\nMiniOS busybox support list: busybox-1.24.0/busybox-1.30.0.\n\nIf you want to build the specific versions of kernel or busybox, just export env variables\nto change kernel and busybox version to build, such as:\n\n```\nexport BUSYBOX=busybox-1.30.0\nexport LINUX_KERNEL=linux-4.0\n```\nIf no env variable is exported, the script will use default versions to build.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikeyone%2Fmini-os","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frikeyone%2Fmini-os","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikeyone%2Fmini-os/lists"}