Adding new pages and reorganizing existing ones
This commit is contained in:
6
wiki/install/install.json
Normal file
6
wiki/install/install.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "install",
|
||||
"title": "Installation",
|
||||
"author": "ngn",
|
||||
"date": "17/01/24"
|
||||
}
|
179
wiki/install/install.md
Normal file
179
wiki/install/install.md
Normal 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
6
wiki/install/intro.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "intro",
|
||||
"title": "Introduction",
|
||||
"author": "ngn",
|
||||
"date": "15/01/24"
|
||||
}
|
46
wiki/install/intro.md
Normal file
46
wiki/install/intro.md
Normal 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
6
wiki/install/post.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"id": "post_install",
|
||||
"title": "Post-Installation",
|
||||
"author": "ngn",
|
||||
"date": "19/01/24"
|
||||
}
|
23
wiki/install/post.md
Normal file
23
wiki/install/post.md
Normal 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
|
||||
```
|
Reference in New Issue
Block a user