Adding new pages and reorganizing existing ones

This commit is contained in:
ngn
2024-01-19 14:29:23 +03:00
parent bf37ea1ad8
commit f001b26d84
32 changed files with 402 additions and 71 deletions

View File

@ -0,0 +1,6 @@
{
"id": "install",
"title": "Installation",
"author": "ngn",
"date": "17/01/24"
}

179
wiki/install/install.md Normal file
View File

@ -0,0 +1,179 @@
This guide for installing MatterLinux 24 assumes you are in a live USB/CD/DVD environment. If you are not, then
see the [introduction page](/wiki/intro).
# Loading keys for the ISO
If you are using the MatterLinux ISO for the installation, you should load your key map to make
it easier to work in the TTY. All the available key maps can be listed with:
```
# localectl list-keymaps
```
To load a key map, you can use the `loadkeys` command, for example:
```
# loadkeys tr_q-latin5
```
# Setting up the Installation Disk
During the installation, the installation disk will be referred as `$DISK`. In order to
copy paste commands easily, you can set this as an environment variable:
```
# export DISK=/dev/sda
```
If you are not sure which disk is your installation disk, you can use the `lsblk` command.
**Please note that the installation will wipe your entire drive, so backup any important data you may have.**
### Creating partitions
You can use the `fdisk` tool to format your disk:
```
# fdisk $DISK
```
Here are the simple commands in `fdisk`:
- `d`: Delete the last partition
- `n`: Create a new partition
- `w`: Save the changes
If you have old partitions left on the disk, clean them with the `d` command.
For this guide we will be using two separate partitions for `/boot` and `/`. So after removing
old partitions create 2 new partitions with the `n` command:
- For the first partition hit enter till you see the `Last Sector` input. Here type `+1G`. You can
make your `/boot` partition larger or smaller if you wish.
- For the second partition, just hit enter for all the inputs to use the rest of the disk.
When you are done save the changes with `w`.
### Formatting the partitions
Now you should have 2 new partitions. You can confirm this using the `lsblk` command:
```
# lsblk $DISK
```
We will refer these partitions as `$BOOT` and `$ROOT`:
```
# export BOOT=${DISK}1
# export ROOT=${DISK}2
```
We will be formatting `$BOOT` and `$ROOT` with EXT4. You can really use any file system.
> **Important**
>
> You should use FAT32 for `$BOOT` if you are doing an UEFI installation.
To format the partitions as described above:
```
# mkfs.ext4 $BOOT
# mkfs.ext4 $ROOT
```
### Mounting
Mount the `$ROOT` partition to `/mnt`, and the `$BOOT` partition to `/mnt/boot`:
```
# mount $ROOT /mnt
# mount --mkdir $BOOT /mnt/boot
```
# Installing the base system
[Download and verify the latest release archive](/download). This can be done using the
`curl` and the `gpg` tool.
After downloading and verifying the archive extract it to the `/mnt` directory:
```
# tar xvf <archive name> -C /mnt
```
### Package Manager Configuration
Copy over the `mp` configuration to the new system:
```
# cp /etc/mp/cfg /mnt/etc/mp/cfg
```
### Change Root
To change root (`chroot`) into the new system, you can use the `matter-chroot` tool, which is a part of [MatterLinux `tools`
project](https://git.matterlinux.xyz/Matter/tools):
```
# matter-chroot /mnt
```
### Setup Timezone
Link `/etc/localtime` to your localtime zone. Timezones are located under
`/usr/share/zoneinfo`. For example:
```
# ln -sf /usr/share/zoneinfo/Europe/Istanbul /etc/localtime
```
### Installing Important Packages
After changing root, you can now start installing other base system packages that are not included in the release archive.
But first thing first, sync all the packages and add the repo public keys:
```
# mp-sync
# gpg --receive-keys F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D
```
Now it is time to install packages. You should install `systemd` and `dhcpcd`:
```
# mp-install systemd dhcpcd
```
You should also run this `systemctl` command after installation:
```
# systemctl preset-all
```
### Host name and fstab
Enter your host name into `/etc/hostname` using a text editor like `vim` or `nano`.
Then configure the `/etc/fstab`, again, using the text editor of your choice:
```
# device | mount-point | file system | options | dump | fsck
# ======== | =========== | =========== | ========== | ===== | =======
$ROOT / ext4 defaults 1 1
$BOOT /boot ext4 defaults 0 0
```
Change the configuration accordingly.
### Changing the Root Password
Change your root password:
```
# passwd
```
### Installing the kernel
Install the linux kernel with `mp`:
```
# mp-install linux
```
Verify the installation:
```
# ls -la /boot/vmlinuz-linux
```
# Installing GRUB
For the grub BIOS installation, install the `grub-bios` package:
```
# mp-install grub-bios
```
> **Important**
>
> For the grub UEFI installation, install the `grub-efi` package
> instead of `grub-bios`
### Installation and Configuration
To install grub to your boot partition, run:
```
# grub-install $DISK
```
To auto generate grub configuration, run:
```
# grub-mkconfig -o /boot/grub/grub.cfg
```
# Cleanup and Reboot
Exit the `chroot` environment and `umount` all the disks:
```
# umount $BOOT
# umount $ROOT
```
Now reboot your system and boot from the installation disk. Login with as root with your password.
Congratulations, you have just installed MatterLinux!

6
wiki/install/intro.json Normal file
View File

@ -0,0 +1,6 @@
{
"id": "intro",
"title": "Introduction",
"author": "ngn",
"date": "15/01/24"
}

46
wiki/install/intro.md Normal file
View File

@ -0,0 +1,46 @@
So you are interested in MatterLinux? And you are 100% sure there is no
better way to spend your valuable time? Well you are in the right place!
## Related Links
- [Learn about free/libre software](https://www.gnu.org/philosophy/free-sw.html)
- [Learn about open source](https://opensource.com/resources/what-open-source)
- [Learn about GNU](https://www.gnu.org/)
- [Learn about Linux](https://kernel.org/linux.html)
## What is MatterLinux?
MatterLinux is *tiny* and independent free/libre and open source (FLOSS) GNU/Linux
distribution. It has a tiny independent packaging system and tiny independent
build tools and scripts. It supports all `amd64` (`x86_64`) systems.
## Can I install MatterLinux?
MatterLinux is a distribution designed for GNU/Linux "enthusiasts". So if you
are new to GNU/Linux, and not sure what you are doing, then you should probably
look for another distribution as the installation guide pretty much assumes that
you are familiar with GNU/Linux commands and configuration in general.
Currently it's not really possible to daily drive MatterLinux as it doesn't have
a lot of packages that you may need. Yeah, you can install it, but you cannot get
really far after the base installation. **So install MatterLinux only if**:
- ...you want to try it out
- ...you want to [contribute](/wiki/contribute)
## What do I need for the installation?
Preferably, do the installation in virtual machine. Provide the virtual machine at least
10G disk space, 1GB memory and 1 CPU. You should also have a working internet connection.
To complete the installation you need to boot from a live GNU/Linux USB/CD/DVD. To create a
live GNU/Linux USB/CD/DVD, you will need a GNU/Linux ISO. MatterLinux do provide ISOs for
installation but you can really use any GNU/Linux ISO you want.
> **Note for bare metal installation**
>
> MatterLinux ISO do **NOT** support wireless connection.
To burn the ISO to your USB/CD/DVD, you can use the `dd` command:
```
# dd if=<path to ISO> of=/dev/<name of the device> bs=8M status=progress
```
## I booted from the ISO, now what?
Continue with the [installation page](/wiki/install).

6
wiki/install/post.json Normal file
View File

@ -0,0 +1,6 @@
{
"id": "post_install",
"title": "Post-Installation",
"author": "ngn",
"date": "19/01/24"
}

23
wiki/install/post.md Normal file
View File

@ -0,0 +1,23 @@
To make your system more usable, you may want to install and configure extra packages.
> **Note**
>
> Currently MatterLinux has limited amount of packages, so there are lots of
> missing packages that some users may consider essential, such as a display server.
> If you want more packages, consider [contributing](/wiki/contribute).
## Adding New Users
You can add new users using the `useradd` command, for example:
```
# useradd -m ngn
```
## Installing OpenSSH
For remote access to your system, you can install OpenSSH server:
```
# mp-install openssh
```
You can enable root login, by editing `/etc/ssh/sshd_config`:
```
PermitRootLogin yes
```