Show HN: Monolinux – A tiny embedded Linux distro

(github.com)

69 points | by eerimoq 1656 days ago

5 comments

  • Gys 1656 days ago
    As it is 'tiny' I think people expect some kind of size indication?
    • eerimoq 1655 days ago
      The size depends on your Linux kernel configuration and user space application. My guess is that most distros will be a 5+ MB.
  • buserror 1656 days ago
    The readme isn't really up to date, but many years ago I started minifs to be the smallest, reproducible linux distro I can get away with. With extra tools like a 'cross linker' that removes /anything/ that isn't used on a filesystem before packing it.

    It's mostly bash. And a bit of C for tools. Works on ARM, whatever really, as long as there is a kernel and a toolchain.

    https://github.com/buserror/minifs

  • sys_64738 1656 days ago
    I miss the days of running Linux from a single floppy with a complete development environment.
    • IndrekR 1655 days ago
      When was that? I started using Linux in mid 90's and never recall a useful installation of that size. Single floppy rescue disc distros did not have room for C compiler and standard development libs IIRC.
      • tpoindex 1655 days ago
        MuLinux could boot a Linux to a prompt, with minimal command line utilities. Extra floppies provided X11, GCC, Tcl, Perl, et. al. MuLinux formatted 3.5" floppies to 1.7mb and replaced many utilities with "rustic" versions written in /bin/sh. Fun stuff! Disclosure: I contributed the Tcl floppy and lpr/lpq/lprm utilities.

        https://en.wikipedia.org/wiki/MuLinux

  • rmdashrfstar 1655 days ago
    What makes this different than Alpine?
    • eerimoq 1655 days ago
      In Monolinux there is a single statically linked user space application (the init-process). Alpine has the traditional approach of many user space applications and shared libraries, if I'm not mistaken.
  • xbhdhdhd 1656 days ago
    Cool. ARM?
    • mysterydip 1656 days ago
      I'd love for this to be the case. I have a handful of raspberry pi projects that I just want to boot and run a single executable. I don't need or want the rest of the OS included with the likes of raspbian etc. I'm currently working on a dietpi customization but this would be even better if it worked.
      • i_v 1656 days ago
        There's also Buildroot which has a bit of a learning curve (it's still easier than Yocto/Angstrom IMO) but is capable of producing highly customized, tiny embedded Linux images. At this time, there are board configs for pretty much every Rasperry Pi variant out there.

        The functional equivalent of a Debian base install, including kernel, bootloader, and systemd init (approx. 350 MiB) is about 20 MiB (compressed) when built with Buildroot.

      • mkj 1656 days ago
        Build a static binary (with musl perhaps) and put it in an initramfs at /init. An example https://github.com/mkj/rpi-flipflop/blob/main/Makefile#L9
      • yyhhsj0521 1656 days ago
        Have you tried ArchARM? It's pretty lean and fits into those old 512M SD Cards.
        • mysterydip 1656 days ago
          I haven't heard of that one (I did check out a version of puppy and tiny core). I'll check it out, thanks!
        • randie63 1656 days ago
          If you have a 512mb SD card, you should probably not use it anymore. Even if you don't need the storage.
          • benibela 1656 days ago
            I use a 64 mb CF card for photos
    • eerimoq 1656 days ago
      ARM is the only architecture I've used so far. =)