1
0
Fork 0
forked from rolsf/rolsf.xyz

add distrocrafting.html (note that i don't know how this works thanks to hippoz)

This commit is contained in:
Ohio2 2023-07-11 00:48:13 +02:00
parent 0efa840821
commit 8781c0aa47
No known key found for this signature in database
GPG key ID: 134ECEE55213BFBC

54
dist/distrocrafting.html vendored Normal file
View file

@ -0,0 +1,54 @@
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="main">
<h1>DISTROCRAFTING</h1>
<h2>Beggining</h2>
<h3>Are you wondering wether you should distrocraft a linux distro? (here's why you should and you shouldn't anyway)</h3>
<h3>Distrocrafting is a complicated process, so if you quit things easily, DON'T. TRY. DISTROCRAFTING. SERIOUSLY.</h3>
<br>
<h2>Writing a PACKAGE MANAGER</h2>
<br>
Yes, the dreaded <b>Package Manager</b> (scarrry)<br>
No distro is complete without it. <i>Unless you are a psycho</i>.<br>
<h3>A modern package manager typically implements these things:</h3>
* <b>Dependency Tracking</b><br>
* <b>File tracking for removal</b><br>
* <b>Conflicts</b> (a very IMPORTANT part of packaging)<br>
* <b>Lockfiles</b> to prevent multiple instances that work on the same files<br>
* <b>Package Manager Configuartion</b> that should be in something like ini or json, two readable standards<br>
* <b>Checksums</b> to check whether the file has been downloaded correctly<br>
<br>
Unless you want nobody to use your distro, a package manager is recommended. Try avoiding shell as it has for example a <i>billion</i> sha256sum binaries, all differing slightly.
<br>
<h2>Packaging things</h2>
<br>
Now, for the most difficult process of distrocrafting, <b>packaging</b><br>
<h3>A distro isn't a distro without software like:</h3>
* <b>A bootloader</b> to boot your distro<br>
* <b>A kernel</b>, configure it wisely, but broadly.<br>
* <b>A text editor</b> to configure things on your distro<br>
* <b>A window manager/DE</b> to use your distro as a daily driver<br>
* <b>A display server/protocol</b> to render the <i>WM or DE</i><br>
* <b>A browser</b><br>
* <b>An audio server</b><br>
* <b>An init system, service manager and journal</b><br>
<br>
You can write a script to automate packaging. As packaging is slow, this is recommended<br>
<br>
<h2>Wayland or X11/Xorg</h2>
<br>
Wayland is the way to the future, if you want your distro to live, use Wayland, less things to maintain.<br>
<b>Fun fact about Xorg:</b> Most of the people working on X11/Xorg have moved to Wayland, thus making X11/Xorg older and older, and less usable by each day.<br>
<b><i>But what about Nvidia users?</b></i><br>
Don't worry, Wayland is much better than it was a couple of months ago, and soon, nvk will make noveau usable (i presume) again.<br>
<br>
<h2>Configuring the Kernel</h2>
<br>
Do note that <b>your configuration will take a long time to compile, since it must be broad.</b><br>
What you should do is set everything to yes, or modules and then modify as needed<br>
</div>
</body>