This commit is contained in:
root 2025-02-12 02:30:43 +01:00
parent 459862595a
commit 75c0985ddd
6 changed files with 359 additions and 18 deletions

View file

@ -1,14 +1,16 @@
+++
title = "TylkoLinux is done, here's how to install it."
title = "TylkoLinux install guide (Delirium)."
description = "This article will go over the installation guide for the distro"
date = 2025-01-30
trigger = "TylkoLinux is still in experimental stage, and you should only install it if you know what you're doing. We do not take responsibility for any bricked machine as a result of not following the guide."
disclaimer = """
Do not follow this article. This page is NOT done yet.
"""
[extra]
toc = true
+++
`TylkoLinux 25.1/.2 Snyx x86_64`
Requires the branch for `TylkoLinux 25.2 Delirium x86_64`
As you may have read in the description, this article serves as a guide to install (build) TylkoLinux on your machine.
{% alert(important=true) %}
@ -18,8 +20,11 @@ Prerequisites:
- CPU with at least four cores
- 8GB RAM
- A linux system running on the host system
- INTERNET ACCESS!!! (also required for other install scripts in EIC)
{% end %}
# Update as of now: DON'T PROCEED WITH THE GUIDE YET. The script is still in its testing phase, and I'm halfway done successfully testing it :p
## S1: Cloning the repository
The repository is available on GitHub. You can clone into it by running the following (if you have Git installed):
```bash
@ -32,6 +37,12 @@ Proceed to change directory into it.
cd ./TylkoLinux/
```
And switch branch into the version.
```bash
git checkout delirium
```
## S2: Run the compatibility checker
Run the compatibility check by running the script that is inside of the repository:
```bash
@ -131,6 +142,17 @@ To download packages and patches to the directory, type in the following functio
einrichter> einrichter.installer.pkgs
```
This action will proceed to download the packages and patches to $LFS/sources, and also the checksums.
Watch out, here's the next step:
Extract the packages and rename them to the appropriate directory names
```bash
einrichter> einrichter.xr
```
IMPORTANT!! Run this too, to prepare for the installation of Linux, and more.
```bash
einrichter> einrichter.add.fs
```
### S6.2: Creating a limited directory layout
@ -197,6 +219,11 @@ einrichter/eic> eic.essentials.create # Creates necessary tools
einrichter/eic> eic.essentials.install # Installs the tools
einrichter/eic> eic.clean # Clean up the environment
```
BEFORE BUILDING THE ACTUAL SYSTEM!!!!
Run this command. It applies the RrX bugfix that removes and re-extracts affected packages.
```bash
einrichter/eic> eic.bugfix.RrX
```
Build the system by running the following:
```bash
einrichter/eic> eic.system.build
@ -288,7 +315,171 @@ To configure the hostname, enter the following command:
einrichter/eic> eic.config.network.hostname <hostname>
# Replace <hostname> with the desired hostname
```
#### S9.1.6: Customising the /etc/hosts file
Remind me to work on this section.
# under construction!!!
#### S9.1.6: Customising the /etc/hosts file
~~Remind me to work on this section.~~ Call me lazy (please don't), but to get over this guide a tiny tiny bit faster, I recommend you to google (or otherwise look up) "how to set up etc hosts". Usually it's managed by systemd I think? (obv unless you disabled it)
### S9.2: System time
You can tell the system whether your hardware clock is set to local time or UTC.
Either run:
// When in chroot,
```bash
einrichter/eic> eic.config.time.createAdj
```
// When in a booted system,
```bash
einrichter/eic> eic.config.time.clarifyUTC
```
Either can be set back to nothing by either deleting /etc/adjtime
```bash
einrichter/eic> rm /etc/adjtime
```
or by using timedatectl
```bash
timedatectl set-local-rtc 0
```
To interactively change the system time (when in a booted system ofc)
do:
```bash
einrichter/eic> eic.config.time.set
```
then respond to the questions.
To set the timezone on a running system, run the following:
```bash
einrichter/eic> eic.config.time.tz <TZ>
# replace <TZ> with the timezone
```
To get the list of timezones in the first place, do:
```bash
timedatectl list-timezones
```
In systemd 216 and up, the network time synchronisation service is enabled by default. **If you want, disable/enable it like this:**
```bash
# In shell and EIC
systemctl disable systemd-timesyncd
systemctl enable systemd-timesyncd
# In EIC exclusively
einrichter/eic> eic.config.time.nts on
einrichter/eic> eic.config.time.nts off
```
### S9.3: Configuring the Linux console
Write defaults:
```bash
einrichter/eic> eic.config.console.preset
```
Set keymap:
```bash
einrichter/eic> eic.config.console.keymap <keymap>
# Replace <keymap> with keymap code, e.g. de-latin1
```
### S9.4: Localisation
Run this and answer questions:
```bash
einrichter/eic> eic.config.locale.set
```
### S9.5: Creating files under /etc/
Run these to create the /etc/inputrc and /etc/shells files
```bash
einrichter/eic> eic.config.create.inputrc
einrichter/eic> eic.config.create.shells
```
### S9.6: More config...
Disable screen clearing:
```bash
einrichter/eic> eic.config.systemd.disableScreenClearing <yes/no>
```
Limit core dump size to something (in the format of 5M, 5G etc):
```bash
einrichter/eic> eic.config.systemd.limitCoreDumpSize <(Size)(G/M/K)>
```
To remove the limit:
```bash
rm /etc/systemd/coredump.conf.d/maxuse.conf
```
## S10: Making it boot
### S10.1: Making an /etc/fstab
Make a filesystem table like this:
```bash
cat > /etc/fstab << "EOF"
# Begin /etc/fstab
# file system mount-point type options dump fsck
# order
/dev/<foo> / <owo> defaults 1 1
/dev/<bar> swap swap pri=1 0 0
# End /etc/fstab
EOF
```
Replace <foo> and <bar> with the appropriate values, don't add the swap line if you didn't make a swap partition.
Replace <owo> with the filesystem type
For any additional configuration, check this page: https://www.linuxfromscratch.org/lfs/view/stable-systemd/chapter10/fstab.html
### S10.2: BOOTING LINUX!!!!
Don't get excited too yet, we need to verify something.
```bash
cd /sources/linux/
ls -a | grep .config
```
If you see the .config file, we can continue. If not, don't run this step, exit out of the Einrichter-in-chroot.sh script to go back to the Einrichter-CLI.sh script. After that, run:
```bash
einrichter> einrichter.add.linuxConfig
```
Alright, we can continue. RUN THE FOLLOWING:
```bash
einrichter/eic> eic.linux.install
```
Later it will ask you this:
```bash
[i] Mount boot partition? <Y/N>:
```
Say yes if you want the kernel to be in the boot partition instead of the root one. Otherwise, **no.**
### S10.3: Bootloader configuration
Using UEFI bootloader? Check this:
https://www.linuxfromscratch.org/blfs/view/stable-systemd/postlfs/grub-setup.html#uefi-kernel
[This page shows instructions on installing GRUB.](https://www.linuxfromscratch.org/lfs/view/stable-systemd/chapter10/grub.html)
Not needed of course, if you want to tweak your current GRUB to also detect other OSes, add this to your /etc/default/grub (on the host machine)
``GRUB_DISABLE_OS_PROBER=false``
Update the GRUB config with the respective command.
### S10.4: Package management
Need a package manager? Install RPM:
```bash
einrichter/eic> eic.rpm.install
```
To install tdnf, vmware's implementation of DNF, do:
```bash
einrichter/eic> eic.tdnf.install
```
If you want to add more packages to your system, including NetworkManager, run:
```bash
einrichter/eic> eic.plus
```
## S11: The End:tm:
Well, you made it! Congrats on installing the basics of TylkoLinux... If you want, you can also mark your installation as a TylkoLinux one by running this:
```bash
einrichter/eic> eic.signoff
```
Hope you had as much fun following the guide as I did writing it!