mentalnet-gnu-linux/README.md

163 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Mentalnet GNU/Linux
A light, TTY-only GNU/Linux distribution for 90s Intel Pentium-class
(i586) machines, built with [Buildroot](https://buildroot.org).
<p align="center">
<img src="logos/mnlogo.jpg" alt="Mentalnet GNU/Linux — Modern GNU/Linux for Legacy i586 Pentiums" width="400">
</p>
The ISO is a live CD: the entire system runs from the CD with a
read-only root filesystem, and the same CD carries a built-in hard
disk installer (`mentalnet-install`).
## Current release
**R1 "StreamingHeart"** — named after DECO*27's *ストリーミングハート
(Streaming Heart)*, feat. Hatsune Miku.
## Versioning
- Major releases bump the `R<n>` number (`R1`, `R2`, ...).
- Minor releases keep the `R<n>` base version and use the codename as
the minor version.
- All codenames are taken from Vocaloid, Hatsune Miku or Kasane Teto
songs.
| Release | Codename | Song | Notes |
|---------|----------|------|-------|
| R1 | Mesmerizer | *Mesmerizer* — 32ki (Hatsune Miku & Kasane Teto) | Initial release |
| R1 | FirstStorm | *Chūlán ~First Storm~ (初嵐First Storm)* — DECO*27 | Swap-free installer, true i586 support, terminal/input hardening, interrupt-storm fixes |
| R1 | LovePara | *ラブパラ (Love Para)* — DECO*27 feat. Hatsune Miku | app-server stack (PHP/Ruby/Perl, php-fpm, lighttpd `/proxy/` → port 1337), tcc on-target C dev with glibc headers, socat, gesftpserver, SiS 900 / VIA Rhine / Tigon3 NICs, fastfetch, nano, en_US.UTF-8 locale |
| R1 | **StreamingHeart** | *ストリーミングハート (Streaming Heart)* — DECO*27 feat. Hatsune Miku | **Current**`runmain.o` for tcc (run C files like scripts without permanent compilation), tmux, custom bash prompt |
## Quick facts
| | |
|---|---|
| Login | `root` / `mnlinux` |
| Hostname | `mentalnet` |
| Kernel | `6.12.104-mentalnet-intel32` |
| Media | Live CD with built-in installer |
| CPU | i586 (Pentium / Pentium MMX) or any newer x86 |
| RAM | 128 MB minimum (64 MB usually works) |
## Building from source
This repository is **not** a full Buildroot tree — it is an overlay
meant to be applied on top of a pristine Buildroot checkout.
1. Download and extract the pristine Buildroot 2025.02.17 LTS
tarball (do not use a git checkout of master; this layer is
written against 2025.02.17):
```
wget https://buildroot.org/downloads/buildroot-2025.02.17.tar.gz
tar xf buildroot-2025.02.17.tar.gz
cd buildroot-2025.02.17
```
2. Copy this repository's contents over the extracted tree,
preserving paths:
| Source (this repo) | Destination (Buildroot tree) |
|--------------------|------------------------------|
| `board/mentalnet/` | `board/mentalnet/` |
| `fs/iso9660/grub.cfg` | `fs/iso9660/grub.cfg` — **overwrites an upstream file** |
| `.config` | `.config` |
| `logos/`, `README.md`, `LICENSE` | same paths (repo-local, not used by the build) |
3. Build:
```
make
```
Host dependencies are listed in the
[Buildroot manual](https://buildroot.org/downloads/manual/manual.html#requirement).
Outputs land in `output/images/` — see the
[install guide](board/mentalnet/INSTALL-GUIDE.md) for what each
artifact is and how to test it.
The committed `.config` is based on the default i386 defconfig plus
the Mentalnet selections (GRUB2 embedded config, e2fsprogs, getty
TERM, and so on). Copying it reproduces the released system exactly;
alternatively, start fresh with `make menuconfig` and roll your own.
## Security after install
The default root password is **`mnlinux`** — please change it after
installing:
```
passwd
```
Then, for day-to-day use, create a regular user and give it sudo
privileges (sudo is included in the build):
```
adduser myuser
```
You have two options to grant sudo:
- Add the user to the `sudo` group, which the shipped sudoers file
already trusts:
```
addgroup myuser sudo
```
- Or, if you prefer the classic `wheel` group, enable it with
`visudo` (uncomment the `%wheel` line) and add the user to it:
```
visudo
addgroup myuser wheel
```
**Verify that sudo works for the new user before locking root** —
log in as the user and run, for example, `sudo ls /`.
Once sudo is confirmed working, lock the root account so it cannot
be accessed (SSH included):
```
passwd -l root
```
## Documentation
The full install and test guide — hardware requirements, QEMU
testing, the install walkthrough and troubleshooting — lives in
[`board/mentalnet/INSTALL-GUIDE.md`](board/mentalnet/INSTALL-GUIDE.md).
## License
Mentalnet GNU/Linux — the scripts, configuration, documentation and
artwork added on top of Buildroot (`board/mentalnet/`, `logos/`,
`README.md`, `LICENSE`, and the modifications made to Buildroot
files) — is
> Copyright (C) 2026 Mark Robillard Jr (MARKMENTAL)
>
> SPDX-License-Identifier: GPL-3.0-or-later
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version. See [`LICENSE`](LICENSE).
The underlying [Buildroot](https://buildroot.org) tree remains under
its original license (see [`COPYING`](COPYING), GPL-2.0-or-later);
we claim no rights over it. This repository is an overlay meant to
be applied on top of a pristine Buildroot 2025.02.17 tree, not a
full fork.
The OS image produced by the build is an aggregation of many
components, each of which keeps its own license (the Linux kernel is
GPL-2.0, BusyBox is GPL-2.0, and so on).
The Mentalnet logo (`logos/mnlogo.jpg`) is part of this project and
licensed under GPL-3.0-or-later with the rest of it.