{"id":26364922,"url":"https://github.com/romforth/tlb","last_synced_at":"2025-03-16T19:28:44.461Z","repository":{"id":281772203,"uuid":"943408893","full_name":"romforth/tlb","owner":"romforth","description":"Tinyconfig Linux Build - for use as a VM under qemu with a serial console running busybox","archived":false,"fork":false,"pushed_at":"2025-03-11T03:40:27.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T04:29:26.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/romforth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2025-03-05T16:57:12.000Z","updated_at":"2025-03-11T03:40:30.000Z","dependencies_parsed_at":"2025-03-11T04:29:28.859Z","dependency_job_id":"fffa4dd3-d748-4171-968f-07e4f9d1feff","html_url":"https://github.com/romforth/tlb","commit_stats":null,"previous_names":["romforth/tlb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romforth%2Ftlb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romforth%2Ftlb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romforth%2Ftlb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romforth%2Ftlb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romforth","download_url":"https://codeload.github.com/romforth/tlb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243919287,"owners_count":20368863,"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":[],"created_at":"2025-03-16T19:28:43.844Z","updated_at":"2025-03-16T19:28:44.454Z","avatar_url":"https://github.com/romforth.png","language":"Shell","readme":"Tinyconfig Linux Build\n----------------------\n\nA linux kernel with a working vi/busybox can be yours for the low, low disk\nspace usage of only ~1 + ~1.5 MB (for the kernel and initramfs, respectively).\n\nJokes aside, this is just a helper script to build a tiny linux kernel (using\nthe `tinyconfig` linux kernel build configuration) along with the code to build\nan initramfs (busybox) for use as a VM (tested using QEMU). Rather than use the\nregular graphics console, the serial console is used for testing.\n\nThe only feature that is missing that I may probably add later is networking/ssh\n\nAlthough `tinyconfig_linux_build.sh` looks like a runnable shell script, it is\nmeant to be used as a copy/paste template (think \"Linux From Scratch\", except\nmuch simpler) where you run each of the commands in the script one at a time\nensuring that the results of the run match the running commentary in the script\nand fixing things that break along the way.\n\nI assume there are zillions of similar minimal linux builds. The ones that I'm\naware of / used are compared below:\n\n- The simplest that I've tested has to be\n\thttps://github.com/ivandavidov/minimal-linux-script\n  which gives you a fairly minimal but usable linux+busybox combo. The only\n  difference from the script that I've created here is that it uses `defconfig`\n  as the starting point for the kernel build whereas I start from a much smaller\n  `tinyconfig` configuration and add on only the necessary stuff that is needed.\n- For a build experience similar to mine, but using Nix (instead of Ubuntu,\n  which I used), see https://blinry.org/tiny-linux\n- The website at: https://www.insentricity.com/a.cl/283/booting-a-486-from-floppy-with-the-most-up-to-date-stable-linux-kernel shrinks this even further to fit on a floppy (but is meant for older processors).\n- `floppinux` appears to be a variation on the same theme and is on Github\n\thttps://github.com/w84death/floppinux\n- There used to be other floppy based distros which are probably no longer in\n  vogue. Some that I remember are: BasicLinux, MuLinux, HAL2000? ... etc\n- The canonical reference if you want to build a linux kernel is LFS of course,\n  (https://linuxfromscratch.org) which makes you jump through various hoops by\n  first setting up cross compilers and compiling things twice which helps cover\n  all your bases but is a lot of work. Think of the work documented here as a\n  quick and dirty hack to short circuit through that entire process.\n- If you do not wish to build anything, but just want to use a really tiny\n  distro, there's Tiny Core Linux (~16MB ISO, for the smallest version, IIRC).\n- Slitaz, DSL/Damn Small Linux, Puppylinux are some of the other available\n  options if you are looking for something minimalistic distro wise.\n- If you want to stay mainstream yet build stuff yourself, you cannot go wrong\n  with something Debian based, just search for \"How to Build a Debian LiveCD\"\n- For pure, source based distros, there's Gentoo as well - may the source be\n  with you, always.\n- Nix is the new hotness and you can generate a fairly minimal (for some bloated\n  definition of minimal) ISO using just a few commands.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromforth%2Ftlb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromforth%2Ftlb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromforth%2Ftlb/lists"}