forked from rolsf/rolsf.xyz
55 lines
2.6 KiB
HTML
55 lines
2.6 KiB
HTML
|
<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>
|
||
|
|