{"id":35136689,"url":"https://github.com/junikimm717/lfs","last_synced_at":"2026-02-15T08:10:06.591Z","repository":{"id":297878572,"uuid":"992308090","full_name":"junikimm717/lfs","owner":"junikimm717","description":"Mimux: A mimi linux distro","archived":false,"fork":false,"pushed_at":"2026-02-01T06:43:33.000Z","size":2766,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-01T17:30:31.972Z","etag":null,"topics":["busybox","docker","linux","operating-system"],"latest_commit_sha":null,"homepage":"https://mxm.mit.junic.kim","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/junikimm717.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-29T00:24:49.000Z","updated_at":"2025-12-08T02:30:24.000Z","dependencies_parsed_at":"2025-12-07T10:04:26.990Z","dependency_job_id":null,"html_url":"https://github.com/junikimm717/lfs","commit_stats":null,"previous_names":["junikimm717/lfs"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/junikimm717/lfs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junikimm717%2Flfs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junikimm717%2Flfs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junikimm717%2Flfs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junikimm717%2Flfs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junikimm717","download_url":"https://codeload.github.com/junikimm717/lfs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junikimm717%2Flfs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29473480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T06:58:05.414Z","status":"ssl_error","status_checked_at":"2026-02-15T06:58:05.085Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["busybox","docker","linux","operating-system"],"created_at":"2025-12-28T09:32:58.956Z","updated_at":"2026-02-15T08:10:06.573Z","avatar_url":"https://github.com/junikimm717.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mimux\n\n\n![Mimux Core](https://img.shields.io/endpoint?url=https%3A%2F%2Fmxm.mit.junic.kim%2Fbadge)\n![License](https://img.shields.io/github/license/junikimm717/lfs)\n[![aarch64 Images](https://github.com/junikimm717/lfs/actions/workflows/build_aarch64.yml/badge.svg)](https://github.com/junikimm717/lfs/actions/workflows/build_aarch64.yml)\n[![x86 Images](https://github.com/junikimm717/lfs/actions/workflows/build_x86.yml/badge.svg)](https://github.com/junikimm717/lfs/actions/workflows/build_x86.yml)\n\nNamed in memory of our cat Mimi (1/1/2022-5/13/2025). Bootstrapping a\nfrom-scratch Linux-based OS with complete toolchain and runtime (musl libc, gcc,\nchrony, runit), manually packaging 30+ core utilities (busybox, openssl, perl)\ninto a \u003c600 MB bootable image, supporting x86_64 and aarch64.\n\nThe kernel has been manually configured to remove unnnecessary components and\nsits at around 25MB. It also shows pictures of Mimi instead of the canonical Tux\n:)\n\nMimux aims to be up-to-date with its core packages as possible and has an\nautomated CI-based system to aid in this. Packages are kept up-to-date with the latest\nstable release. Statuses are publicly available at\n[mxm.mit.junic.kim](https://mxm.mit.junic.kim)\n\n![Mimi](./mimi.jpg)\n\nDevelopment is standardized around the Alpine Linux Docker image defined in the\nDockerfile. For further documentation on the Mimux build process, check out the\nREADME's at [tools](./tools/) or [core](./core/).\n\nI cannot believe I chose to undertake this project, but it's been quite\ninstructional and fun so far.\n\nAfter two months of suffering, I also have personal beef against the perl build\nsystem asdlfjas;lkdfjals;df (Also imagine goofy ahhh APFS not distinguishing\nupper and lower case files names)\n\n## Download (CI-Built)\n\nAll provided images here consist of a 2GB rootfs.\n\nx86_64:\n\n- [Bootable .img](https://github.com/junikimm717/lfs/releases/download/images/bootable-x86_64.img.gz)\n- [rootfs tarball](https://github.com/junikimm717/lfs/releases/download/images/rootfs-x86_64.tar.gz)\n\naarch64:\n\n- [Bootable .img](https://github.com/junikimm717/lfs/releases/download/images-aarch64/bootable-aarch64.img.gz)\n- [rootfs tarball](https://github.com/junikimm717/lfs/releases/download/images-aarch64/rootfs-aarch64.tar.gz)\n\n## Default OS Environment\n\n![login and fastfetch](./fastfetch.png)\n\n![bootloader screen](./limine.png)\n\nThe default configured bootloader will supply you with three boot modes:\n\n1. *Mimux \\$kernel* - Normal booting, normal init runs and you get dropped into a\n   getty session\n2. *Mimux \\$kernel (logs)* - Same as above, except that kernel and init logs\n   will be visible in the same tty where you log in.\n3. *Mimux \\$kernel (debug shell)* - You get dropped into an initramfs shell.\n\nThe default user is `mimi` and the password is `george` (his favorite chipmunk).\nRoot login is disabled by default; you can perform root commands via `doas`.\n\nMimux uses musl, busybox, and runit (init scripts shamelessly ripped from void)\nto reduce bloat. However, the intention is that there are sufficiently many\nbuild tools that theoretically you can build most things from source.\n\nThe default timezone is US Eastern Time. To change, run\n```sh\nln -sfn /usr/share/zoneinfo/{whatever} /etc/localtime\n```\nlike you would for any other barebones distro.\n\nBelow are some mimux-specific scripts provided for convenience:\n\n- `update-cacert` - an extremely simple wrapper to update the CA certificates\n  store from curl.se\n- `mimux-test` - a wrapper to execute all test programs stored in `/usr/test`.\n  These are mostly sanity checks on python and perl.\n\n## Setup\n\nThe docker container is the *only* officially supported development environment\nbc of tightly controlled dependencies and environment variables.\n\nTo launch into a dev shell, run `docker-compose up -d \u0026\u0026 ./tools/dev.sh`.\n\nIf you insist on a local environment (note COMPLETELY unsupported), install the\ndependencies listed in `./Dockerfile` and then run\n\n```sh\neval \"$(./tools/env.sh)\"\n```\n\nIf a `build` script uses some random environment variable, it is almost\ncertainly defined in `./tools/env.sh`.\n\n## Bootable Image Building\n\nExecute the `./buildall.sh` with no arguments inside the dev container.\nAll final build artifacts will be located in `./dist/`.\n\nOn an M4 Pro Mac running Orbstack, this should take around 10 minutes to\ncomplete. The GitHub CI takes around an hour to build each image.\n\n## Virtual Machines\n\nThe kernel has been maximally stripped and has no module support. There is no\nintention to support bare metal hardware.\n\nIf you're on Apple Silicon with Homebrew, congrats. Just run\n`./tools/macos_boot.sh`; this should immediately boot up a working vm given you\ninstalled qemu and efi firmware in the standard homebrew way.\n\nOtherwise, the setup is a big clunky, but here are some pointers for configuring\nwith something like Virt-manager, UTM, etc.\n\n1. The bootable image is located in `./dist/bootable.img`\n2. Select the options that allow you to directly import a disk\n3. **YOU MUST USE UEFI**!! This may be slightly tricky, but make sure you have\n   vm firmware installed for this. This is enforced because I want a consistent\n   boot environment across all cpu architectures.\n\n## Version Checks\n\nTo ensure that packages with supported version checking are all up-to-date, you\nshould run the `./tools/versions.py` script. This script gets automatically run\nby the CI on each commit as well.\n\nSince build scripts may be incompatible across different package\nversions/require tweaking to run, actual package bumps will be done manually.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunikimm717%2Flfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunikimm717%2Flfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunikimm717%2Flfs/lists"}