Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sakkke/mindeb
Minimal Debian
https://github.com/sakkke/mindeb
compatible debian distribution distro easy easy-to-use hacktoberfest linux linux-distribution linux-distro minimal minimalism minimalist minimalistic os
Last synced: 4 days ago
JSON representation
Minimal Debian
- Host: GitHub
- URL: https://github.com/sakkke/mindeb
- Owner: sakkke
- License: mit
- Created: 2023-12-30T03:44:39.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-01-05T16:30:19.000Z (9 months ago)
- Last Synced: 2024-09-25T19:05:00.469Z (7 days ago)
- Topics: compatible, debian, distribution, distro, easy, easy-to-use, hacktoberfest, linux, linux-distribution, linux-distro, minimal, minimalism, minimalist, minimalistic, os
- Language: Shell
- Homepage:
- Size: 55.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
![mindeb](https://socialify.git.ci/sakkke/mindeb/image?description=1&forks=1&issues=1&name=1&owner=1&pattern=Plus&pulls=1&stargazers=1&theme=Auto)
[Changelog](./CHANGELOG.md)
## Features
- **Minimal**: The ISO image is about 400MB. This size is half of Archiso.
- **Easy**: Installation is just copying the system files. So installable offline
as well.
- **Compatible**: System follows upstream Debian. Basic firmware and basic
middlewares are included by default.## Installation guide
### Pre-installation
#### Login
Login with the following information:
- **Username**: `mindeb`
- **Password**: `mindeb`#### Console keyboard layout
List available keyboard layouts:
```sh
ls /usr/share/keymaps/*
```Set the keyboard layout:
```sh
loadkeys {keymap}
```- **`{keymap}` example**: `jp106`
#### Run shell as root
```sh
sudo -s
```#### List disks information
```sh
lsblk
```#### Partition the disks
Optionally, destroy data structures:
```sh
sgdisk -Z '{disk}'
```Partition the disks:
```sh
cgdisk '{disk}'
```##### Partitions requirements
1. The disk must have the EFI system partition and the root partition.
1. The root partition must have the partition name `mindeb`.##### Partitions example
1. EFI system partition
- **First sector**: default
- **Size in sectors**: `300M`
- **Hex code or GUID**: `ef00`
- **Partition name**: default
1. Root partition
- **First sector**: default
- **Size in sectors**: default
- **Hex code or GUID**: default
- **Partition name**: `mindeb`#### Format the partitions
```sh
mkfs.fat -F 32 '{EFI system partition}'
mkfs.ext4 '{Root partition}'
```- **`{EFI system partition}` example**: `/dev/sda1`
- **`{Root partion}` example**: `/dev/sda2`#### Mount the file systems
Mount the root partition to `/mnt`:
```sh
mount '{Root partition}' /mnt
```Mount the EFI system partition to `/mnt/boot/efi`:
```sh
mount --mkdir '{EFI system partition}' /mnt/boot/efi
```### Installation
#### Install the system files
```sh
cp -Ta /run/live/rootfs/10-main.squashfs /mnt
```- `/run/live/rootfs/10-main.squashfs` is the entry point for the system files
to be copied.### Configure the system
#### `fstab`
```sh
genfstab -U /mnt >> /mnt/etc/fstab
```#### `chroot`
```sh
arch-chroot /mnt
```#### Time
Set the timezone:
```sh
ln -fs '/usr/share/zoneinfo/{timezone}' /etc/localtime
```- **`{timezone}` example**: `UTC`
Generate `/etc/adjtime`:
```sh
hwclock --systohc
```#### Localization
Edit `/etc/locale.gen` and uncomment needed locales.
```
{locale}
```- **`{locale}` example**: `en_US.UTF-8 UTF-8`
Generate the locales:
```sh
locale-gen
```Update the default locale:
```sh
update-locale LANG='{lang}'
```- **`{lang}` example**: `en_US.UTF-8`
Set the keyboard layout:
```sh
dpkg-reconfigure console-data
```#### Network configuration
Edit `/etc/hostname`.
```
{hostname}
```- **`{hostname}` example**: `mindeb`
#### User
Add a user:
```sh
adduser '{username}'
```- **`{username}` example**: `alice`
Add a user to `sudo` group (recommended):
```sh
adduser '{username}' sudo
```### Reboot
Exit the new system:
```sh
exit
```Restart the machine:
```sh
reboot
```## Build
```sh
./bin/mindeb-build
```### Build requirements
**OS**: Debian-based Linux distribution
**Commands**:- `mmdebstrap`
- `arch-chroot`
- `mkfs.fat`
- `mksquashfs`
- `xorriso`
- `sudo` (optional)#### Build requirements installation
```sh
sudo apt -y install mmdebstrap arch-install-scripts dosfstools squashfs-tools \
xorriso sudo
```### Test the ISO image
```sh
./bin/mindeb-run
```#### Test requirements
- `qemu-img`
- `qemu-system-x86_64`##### Test requirements installation
```sh
sudo apt -y install qemu-utils qemu-system-x86
```## License
[MIT](./LICENSE)