From f001b26d8450b2719396a8cf155e87f46f1f502c Mon Sep 17 00:00:00 2001 From: ngn Date: Fri, 19 Jan 2024 14:29:23 +0300 Subject: [PATCH] Adding new pages and reorganizing existing ones --- assets/2400.png | Bin 0 -> 4904 bytes download.json | 3 + download.md | 18 ++++ index.md | 19 ++-- news/24.json | 6 ++ news/24.md | 45 ++++++++ wiki/install/install.json | 6 ++ wiki/install/install.md | 179 +++++++++++++++++++++++++++++++ wiki/{ => install}/intro.json | 0 wiki/{ => install}/intro.md | 11 +- wiki/install/post.json | 6 ++ wiki/install/post.md | 23 ++++ wiki/main.md | 11 +- wiki/{ => other}/chat.json | 0 wiki/{ => other}/chat.md | 0 wiki/{ => other}/conduct.json | 0 wiki/{ => other}/conduct.md | 0 wiki/{ => other}/contribute.json | 0 wiki/{ => other}/contribute.md | 0 wiki/{ => other}/licensing.json | 0 wiki/{ => other}/licensing.md | 0 wiki/{ => pkg}/mirrors.json | 0 wiki/{ => pkg}/mirrors.md | 14 +-- wiki/{ => pkg}/pkg.json | 0 wiki/{ => pkg}/pkg.md | 5 +- wiki/{ => pkg}/pkg_man.json | 0 wiki/{ => pkg}/pkg_man.md | 10 +- wiki/{ => pkg}/release.json | 0 wiki/pkg/release.md | 74 +++++++++++++ wiki/{ => pkg}/repo.json | 0 wiki/{ => pkg}/repo.md | 0 wiki/release.md | 43 -------- 32 files changed, 402 insertions(+), 71 deletions(-) create mode 100644 assets/2400.png create mode 100644 download.json create mode 100644 download.md create mode 100644 news/24.json create mode 100644 news/24.md create mode 100644 wiki/install/install.json create mode 100644 wiki/install/install.md rename wiki/{ => install}/intro.json (100%) rename wiki/{ => install}/intro.md (81%) create mode 100644 wiki/install/post.json create mode 100644 wiki/install/post.md rename wiki/{ => other}/chat.json (100%) rename wiki/{ => other}/chat.md (100%) rename wiki/{ => other}/conduct.json (100%) rename wiki/{ => other}/conduct.md (100%) rename wiki/{ => other}/contribute.json (100%) rename wiki/{ => other}/contribute.md (100%) rename wiki/{ => other}/licensing.json (100%) rename wiki/{ => other}/licensing.md (100%) rename wiki/{ => pkg}/mirrors.json (100%) rename wiki/{ => pkg}/mirrors.md (77%) rename wiki/{ => pkg}/pkg.json (100%) rename wiki/{ => pkg}/pkg.md (97%) rename wiki/{ => pkg}/pkg_man.json (100%) rename wiki/{ => pkg}/pkg_man.md (96%) rename wiki/{ => pkg}/release.json (100%) create mode 100644 wiki/pkg/release.md rename wiki/{ => pkg}/repo.json (100%) rename wiki/{ => pkg}/repo.md (100%) delete mode 100644 wiki/release.md diff --git a/assets/2400.png b/assets/2400.png new file mode 100644 index 0000000000000000000000000000000000000000..8445ce4de49afe54afce25bf95aeea21618e196b GIT binary patch literal 4904 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 literal 0 HcmV?d00001 diff --git a/download.json b/download.json new file mode 100644 index 0000000..82c7b28 --- /dev/null +++ b/download.json @@ -0,0 +1,3 @@ +{ + "title": "24.00" +} diff --git a/download.md b/download.md new file mode 100644 index 0000000..3418317 --- /dev/null +++ b/download.md @@ -0,0 +1,18 @@ +For installation instructions, please [see the wiki](/wiki). + +Signatures can be verified using `gpg`. To do so, download the maintainer's key: +``` +$ gpg --receive-keys F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D +``` +Then use the `--verify` option to verify the signature: +``` +$ gpg --verify /path/to/signature.sig +``` + +## Release Dates +To learn more about releases see the [wiki page for releases](/wiki/release). + +| Version | Release Date | EOL | +| -------------- | ------------ | ------- | +| MatterLinux 24 | 01/2024 | 01/2025 | +| MatterLinux 25 | 01/2025 | ??/???? | diff --git a/index.md b/index.md index 4abfbbc..e0f500d 100644 --- a/index.md +++ b/index.md @@ -12,18 +12,21 @@ scratch. So the project is not based on any other distribution, nor it's package Currently MatterLinux is under development, here is a rough roadmap if you want to follow the development of the project: -- [+] Package system -- [+] Website -- [+] Official repos (`base` and `desktop`) -- [>] Wiki/documentation -- [>] First release -- [x] Expanding `desktop` repo (100 packages) +
    +
  • >>> Package system
  • +
  • >>> Website
  • +
  • >>> Official repos (base and desktop)
  • +
  • >>> Wiki/documentation
  • +
  • >>> First release
  • +
  • >>> Expanding desktop repo (100 packages)
  • +
  • >>> Expanding the wiki
  • +
## Contributing Currently active contributors are: -- (Maintainer) [ngn](mailto:ngn13proton@proton.me) +- (Maintainer) ngn | [Email](mailto:ngn@ngn.tf) [PGP](https://keys.openpgp.org/pks/lookup?op=get&options=mr&search=0xF9E70878C2FB389AEC2BA34CA3654DF5AD9F641D) Consider helping out if you are interested in this project. To do so, check out the [contribution guide](/wiki/contribute). If have any questions/problems -feel free to join the [chat rooms](/wiki/chat) and ask questions you have to the maintainer/developers. +feel free to join the [chat rooms](/wiki/chat) and ask them to the maintainer/developers. diff --git a/news/24.json b/news/24.json new file mode 100644 index 0000000..f939e4e --- /dev/null +++ b/news/24.json @@ -0,0 +1,6 @@ +{ + "id": "rel24", + "title": "First release!", + "date": "19/01/24", + "author": "ngn" +} diff --git a/news/24.md b/news/24.md new file mode 100644 index 0000000..e133d07 --- /dev/null +++ b/news/24.md @@ -0,0 +1,45 @@ +After longs hours of improvements and testing latter, the first release is finally here. +There was also bunch of other development in this 12 day period. So lets go over it. + +## MatterLinux 24.00 +![](/assets/2400.png) + +With the 24.00 release, MatterLinux now has an official ISO and a release archive. +I also published the installation guide over on the wiki. This means you can install +MatterLinux right now! Of course, as of now, the repos are really limited, so it's +not ready for daily usage, not quite yet. + +## Package Tracker +MatterLinux now has a [custom package tracker](https://tracker.matterlinux.xyz/)! +It's written in Go, like the web server. It doesn't have a lot of functionality, +but it provides an easy interface for finding and tracking packages. + +## New tools! +The [tools](https://git.matterlinux.xyz/Matter/tools) repository is extended with +the addition of the `matter-iso` script, which just a simple script that you can use +to build custom ISO images. The configuration for the official ISO images can be +find in the [iso](https://git.matterlinux.xyz/Matter/iso) repository. It actually took +surprisingly long time to get the ISO to work, kernel was somehow unable to find +the `init` program. I tried fixing that by supplying the `init=` parameter, which +didn't work so I just went ahead with the lazy option and `init` over to `/`. + +## Little Improvements +Apart from these, I also made quite a few improvements to the website, packages, infrastructure +and to the package manager: + +- I reworked the CSS for the website (especially for the markdown content). I think +it's now easier to read and overall looks cleaner. +- I added the `mp-query` command to the package manager, which lets you get information +about a specific package in a nicely formatted way. +- Fixed compile flags for few packages, including `grub`, which was really unstable as +it was being compiled with optimization flags. +- XMPP room moved from jabbers.one to a self hosted server (located at matterlinux.xyz) +- Git server moved from [Gogs](https://gogs.io/) to [Gitea](https://about.gitea.com/) + +## What's Next? +I will be on a vacation for a couple of weeks and I also have other projects to work +on so I will be taking a break from the project. When I come back I will be extending the +`desktop` repo, and hopefully when I make the next post, there will be working +display server in the repo. + +That will be all for now, see you in the next post! diff --git a/wiki/install/install.json b/wiki/install/install.json new file mode 100644 index 0000000..a546171 --- /dev/null +++ b/wiki/install/install.json @@ -0,0 +1,6 @@ +{ + "id": "install", + "title": "Installation", + "author": "ngn", + "date": "17/01/24" +} diff --git a/wiki/install/install.md b/wiki/install/install.md new file mode 100644 index 0000000..6a9d879 --- /dev/null +++ b/wiki/install/install.md @@ -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 -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! diff --git a/wiki/intro.json b/wiki/install/intro.json similarity index 100% rename from wiki/intro.json rename to wiki/install/intro.json diff --git a/wiki/intro.md b/wiki/install/intro.md similarity index 81% rename from wiki/intro.md rename to wiki/install/intro.md index 37487ec..8b19763 100644 --- a/wiki/intro.md +++ b/wiki/install/intro.md @@ -15,7 +15,8 @@ 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. +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 @@ -29,14 +30,16 @@ Preferably, do the installation in virtual machine. Provide the virtual machine 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, you will need a GNU/Linux ISO. MatterLinux do provide ISOs for +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. +> **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 +# dd if= of=/dev/ bs=8M status=progress ``` ## I booted from the ISO, now what? diff --git a/wiki/install/post.json b/wiki/install/post.json new file mode 100644 index 0000000..e15c264 --- /dev/null +++ b/wiki/install/post.json @@ -0,0 +1,6 @@ +{ + "id": "post_install", + "title": "Post-Installation", + "author": "ngn", + "date": "19/01/24" +} diff --git a/wiki/install/post.md b/wiki/install/post.md new file mode 100644 index 0000000..12255d8 --- /dev/null +++ b/wiki/install/post.md @@ -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 +``` diff --git a/wiki/main.md b/wiki/main.md index 7221a0d..49feae9 100644 --- a/wiki/main.md +++ b/wiki/main.md @@ -5,12 +5,11 @@ edit a page or create a new page, make a [pull request](/wiki/contribute) to [co don't have a link yet. ## Installation -| Name | Description | -| --------------------------- | ----------------------------------------------- | -| [Introduction](/wiki/intro) | Learn about MatterLinux and other general stuff | -| Installation | Learn how to install a base MatterLinux system | -| Installation (Any% Edition) | Speedrunner edition of the Installation page | -| Post-Installation | Make your system (somewhat) usable | +| Name | Description | +| --------------------------------------- | ----------------------------------------------- | +| [Introduction](/wiki/intro) | Learn about MatterLinux and other general stuff | +| [Installation](/wiki/install) | Learn how to install a base MatterLinux system | +| [Post-Installation](/wiki/post_install) | Make your system (somewhat) usable | ## Packaging | Name | Description | diff --git a/wiki/chat.json b/wiki/other/chat.json similarity index 100% rename from wiki/chat.json rename to wiki/other/chat.json diff --git a/wiki/chat.md b/wiki/other/chat.md similarity index 100% rename from wiki/chat.md rename to wiki/other/chat.md diff --git a/wiki/conduct.json b/wiki/other/conduct.json similarity index 100% rename from wiki/conduct.json rename to wiki/other/conduct.json diff --git a/wiki/conduct.md b/wiki/other/conduct.md similarity index 100% rename from wiki/conduct.md rename to wiki/other/conduct.md diff --git a/wiki/contribute.json b/wiki/other/contribute.json similarity index 100% rename from wiki/contribute.json rename to wiki/other/contribute.json diff --git a/wiki/contribute.md b/wiki/other/contribute.md similarity index 100% rename from wiki/contribute.md rename to wiki/other/contribute.md diff --git a/wiki/licensing.json b/wiki/other/licensing.json similarity index 100% rename from wiki/licensing.json rename to wiki/other/licensing.json diff --git a/wiki/licensing.md b/wiki/other/licensing.md similarity index 100% rename from wiki/licensing.md rename to wiki/other/licensing.md diff --git a/wiki/mirrors.json b/wiki/pkg/mirrors.json similarity index 100% rename from wiki/mirrors.json rename to wiki/pkg/mirrors.json diff --git a/wiki/mirrors.md b/wiki/pkg/mirrors.md similarity index 77% rename from wiki/mirrors.md rename to wiki/pkg/mirrors.md index 924fa70..b9f285f 100644 --- a/wiki/mirrors.md +++ b/wiki/pkg/mirrors.md @@ -6,7 +6,7 @@ configuration file (`/etc/mp/cfg`). ### Creating a mirror To create a mirror you can use the `matter-mirror` tool. This tool is included -with the `matter-tools` repository. To install it [see the project READMDE](https://git.matterlinux.xyz/Matter/matter-tools#installation). +with the `tools` repository. To install it [see the project READMDE](https://git.matterlinux.xyz/Matter/tools#installation). After installing `matter-mirror`, specify an URI and an output directory (files will be downloaded into the output directory). For example to mirror the `base` repo from @@ -23,17 +23,19 @@ You will mostly likely want to update your mirror every once in a while. To do s create a cron job. For example to update your mirror every day at 00:00, you can add the following entry to your `/etc/crontab`: ``` -0 0 * * * matter-mirror -u -o +0 0 * * * matter-mirror -u -o ``` # List This section contains information about different MatterLinux repo and mirros that you can use. To add your mirror to this list get in contact with the maintainer/developers. -Note that official mirrors are **ALWAYS** signed with the `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D` -fingerprint (belongs to the maintainer, ngn). If syncing with a mirror tells you otherwise, then -**DO NOT USE THAT MIRROR** and report it to the maintainer/developers in order to remove it -from the list. +> **Note** +> +> Official mirrors are **ALWAYS** signed with the `F9E70878C2FB389AEC2BA34CA3654DF5AD9F641D` +> fingerprint (belongs to the maintainer, ngn). If syncing with a mirror tells you otherwise, then +> **DO NOT USE THAT MIRROR** and report it to the maintainer/developers in order to remove it +> from the list. ### Official repos | Repo | URI | Location | diff --git a/wiki/pkg.json b/wiki/pkg/pkg.json similarity index 100% rename from wiki/pkg.json rename to wiki/pkg/pkg.json diff --git a/wiki/pkg.md b/wiki/pkg/pkg.md similarity index 97% rename from wiki/pkg.md rename to wiki/pkg/pkg.md index b1824e0..6b4f629 100644 --- a/wiki/pkg.md +++ b/wiki/pkg/pkg.md @@ -119,7 +119,10 @@ function is called by `mp-repo` after downloading and verifying all the packages called in the `$ROOTDIR`. This directory will contain all the downloaded files, any files in this directory will be included into the build, so don't forget to cleanup. -**Note:** You don't need to cleanup the downloaded files, they will be cleaned by the `mp-repo`. +> **Note** +> +> You don't need to cleanup the downloaded files in the package script, +> they will be cleaned by the `mp-repo`. - `tar xf $NAME-$VERSION.tar.gz`: Extract the downloaded archive file. - `cd $NAME-$VERSION`: Change directory into the extracted directory. diff --git a/wiki/pkg_man.json b/wiki/pkg/pkg_man.json similarity index 100% rename from wiki/pkg_man.json rename to wiki/pkg/pkg_man.json diff --git a/wiki/pkg_man.md b/wiki/pkg/pkg_man.md similarity index 96% rename from wiki/pkg_man.md rename to wiki/pkg/pkg_man.md index a2e3861..a833e28 100644 --- a/wiki/pkg_man.md +++ b/wiki/pkg/pkg_man.md @@ -10,7 +10,9 @@ In a Matter system, package management is generally done with the MatterLinux Pa the source, then you should follow [this section](https://git.matterlinux.xyz/matter/mp#installation) from the README. -Note that you should run all the `mp` and related commands as the root user. +> **Note** +> +> You should run all the `mp` and related commands as the root user. ### Configuration Configuration file for `mp` can be found at `/etc/mp/cfg`. This file is used specify repos and @@ -43,8 +45,10 @@ actual repo name**. Repo options are: - `uri (URI)`: Repo URI, you can use `http`, `https` or `ftp` protocols. - `signing (yes/no)`: Enable/disable PGP signature verification for the repo, by default it's enabled. -**IMPORTANT: DO NOT DISABLE SIGNATURE VERIFICATION IF YOU DON'T KNOW WHAT YOU ARE DOING! THERE IS NO -WAY TO CONFIRM IF THE PACKAGES ARE LEGIT WITHOUT THE SIGNATURE VERIFICATION!** +> **Important** +> +> Do NOT disable signature verification if you don't know what are you doing! There is no +> way to confirm the legitimacy of the packages without signature verification! ### Environment options `mp` also has a few other options that you specify as an environment variable. diff --git a/wiki/release.json b/wiki/pkg/release.json similarity index 100% rename from wiki/release.json rename to wiki/pkg/release.json diff --git a/wiki/pkg/release.md b/wiki/pkg/release.md new file mode 100644 index 0000000..9244814 --- /dev/null +++ b/wiki/pkg/release.md @@ -0,0 +1,74 @@ +On this package you will find information about MatterLinux release cycle and +version numbering. + +## Release Cycle +MatterLinux will make a new release once a year. A new release means every package will be updated +to a more recent version. Packages will replace the old ones, +meaning old packages will no longer be available and support for the old release will end. +If you are using an old release, you will able to update to the latest one by running a +full update using the [MatterLinux Package Manager](/wiki/package_man). + +During the testing of the new release, repos for the new release will be located +at [next.matterlinux.xyz](https://next.matterlinux.xyz). + +### Package Updates +Packages usually won't be updated to a more recent version during the life of a MatterLinux release, +however sometimes packages may be updated for bug fixes, security issues and minor improvements. + +### ISOs and Release Archives +- ISO: A bootable disk image +- Release Archive: An archive used during the installation of a release + +With new release, a new ISO and a release archive will be published. ISO and release +archive file for a release may update before the next release to keep the +packages in these archive files and the ISOs up-to-date. + +### Learn the version you are using +You can learn the MatterLinux release version you are using by printing +out the `/etc/os-release` file: +``` +# cat /etc/os-release +``` + +## Version Numbering +MatterLinux and all it's projects are version numbered after the year. +For example MatterLinux release for the year 2024 is versioned "MatterLinux 24". + +Minor numbers may be added for other releases. For example the 2nd release of the +MatterLinux 24 ISO would be named "MatterLinux 24.01". + +Similarly 15th release of the MatterLinux package manager for the year 2024 +is versioned "24.14". + +## Building Releases +You can build an up-to-date ISO and a release archive using MatterLinux [tools](https://git.matterlinux.xyz/matter/tools). +To install these tools [see the project READMDE](https://git.matterlinux.xyz/Matter/tools#installation). + +You should be on a MatterLinux system for a proper build! + +### Building the Release Archive +To build a release archive, you can use the `matter-base` tool. This tool will create a temporary directory, +install all the required base packages into it and then it will archive it all up for the final archive. + +All you need to do is to specify a name for the archive, for example: +``` +# matter-base matterlinux_example-build +``` + +### Building the ISOs +Official ISOs are built using the `matter-iso` tool. By providing a release archive and a configuration +directory to this tool, you can create an ISO image. + +> **Note** +> +> ISO image is created using `grub-mkrescue`, so you should install `libisoburn` before proceeding. + +As the configuration directory, you can clone the [official ISO configuration](https://git.matterlinux.xyz/Matter/iso). +Or you can use your own custom configuration. + +To build the ISO with the release archive that we created on the previous example, using the configuration directory +located at `./iso`: +``` +# matter-iso matterlinux_example-build.tar.gz iso +``` +The final ISO should be available at `./iso/dist/.iso` after the build. diff --git a/wiki/repo.json b/wiki/pkg/repo.json similarity index 100% rename from wiki/repo.json rename to wiki/pkg/repo.json diff --git a/wiki/repo.md b/wiki/pkg/repo.md similarity index 100% rename from wiki/repo.md rename to wiki/pkg/repo.md diff --git a/wiki/release.md b/wiki/release.md deleted file mode 100644 index 32e77e1..0000000 --- a/wiki/release.md +++ /dev/null @@ -1,43 +0,0 @@ -On this package you will find information about MatterLinux release cycle and -version numbering. - -## Release Cycle -MatterLinux will make a new release once a year. A new release means every package will be updated -to a more recent version. Packages will replace the old ones, -meaning old packages will no longer be available and support for the old release will end. -If you are using an old release, you will able to update to the latest one by running a -full update using the [MatterLinux Package Manager](/wiki/package_man). - -During the testing of the new release, repos for the new release will be located -at [next.matterlinux.xyz](https://next.matterlinux.xyz). - -### Package Updates -Packages usually won't be updated to a more recent version during the life of a MatterLinux release, -however sometimes packages may be updated for bug fixes, security issues and minor improvements. - -### ISOs and Base Archives -ISO and base archive file for a release may update before the next release to keep the -packages in these archive files and the ISOs up-to-date. - -### Learn the version you are using -You can learn the MatterLinux release version you are using by printing -out the `/etc/os-release` file: -``` -# cat /etc/os-release -``` - -## Version Numbering -MatterLinux and all it's projects are version numbered after the year. -For example MatterLinux release for the year 2024 is versioned "MatterLinux 24". - -Minor numbers may be added for other releases. For example the 2nd release of the -MatterLinux 24 ISO would be named "MatterLinux 24.01". - -Similarly 15th release of the MatterLinux package manager for the year 2024 -is versioned "24.14". - -## Planned Release Dates -| Version | Release Date | EOL | -| -------------- | ------------ | ------- | -| MatterLinux 24 | 01/2024 | 01/2025 | -| MatterLinux 25 | 01/2025 | ??/???? |