Compare commits
59 Commits
f8c0ec6f95
...
march-22-b
| Author | SHA1 | Date | |
|---|---|---|---|
| 66fbb7653e | |||
| 3b1b0464be | |||
| f7cb8fe6cf | |||
| 304bd29b08 | |||
| 82335b982b | |||
| 6f5a54175e | |||
| 7dea28cb16 | |||
| 5aa3c4676b | |||
| 5075233672 | |||
| 1fb58eafe8 | |||
| aa61054d1d | |||
| 4705d60122 | |||
| 40aa3b785f | |||
| 1eda26a9c8 | |||
| 7a64527a1a | |||
| d24da5e476 | |||
| 8a7cc0dc7b | |||
| e44fbcb0c1 | |||
| 82c02bb697 | |||
| b8a1522efa | |||
| 7563504c75 | |||
| 67582e283e | |||
| 4f9d05af65 | |||
| 538595b67b | |||
| b2989bfc4b | |||
| c1a4903b0e | |||
| eec31003b0 | |||
| 6d4f53bfb3 | |||
| 94d33791d5 | |||
| 46f462d5f4 | |||
| cef100ccc4 | |||
| 2a3bf82243 | |||
| 3b2ae7342e | |||
| df36275cd1 | |||
| 7c2f55a1f8 | |||
| 1770623f35 | |||
| 5bfaedfcaf | |||
| 187cb5d8df | |||
| a3c76d63ea | |||
| 0db6aaef1b | |||
| 2aefac61c5 | |||
| 7760e7c2e6 | |||
| 81b16a89f2 | |||
| c3712082ff | |||
| a3a20abc59 | |||
| 7a7ac8cfb2 | |||
| c56144f6d5 | |||
| f7173e4754 | |||
| 87675ec213 | |||
| 47467961b8 | |||
| 6fae26a9fa | |||
| 16f20459d4 | |||
| 3b68cbc9ed | |||
| feadee7b69 | |||
| 51750f92f1 | |||
| c55a61f3bf | |||
| 705f1ba41d | |||
| 04b7b2250f | |||
| b38d4e4bf1 |
8
TODO_EVERESTWEB
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
+ TODO_EVERESTWEB
|
||||||
|
|
||||||
|
(*) denotes incomplete
|
||||||
|
(-) denotes complete
|
||||||
|
|
||||||
|
=== BEGIN TASK LIST ===
|
||||||
|
|
||||||
|
* Make announcement about delays
|
||||||
89
about.html
@@ -1,65 +1,78 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Everest Linux - About</title>
|
<title>Everest Linux - About</title>
|
||||||
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
|
<link type="text/css" rel="stylesheet" href="css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="img/favicon.svg"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<div class="sidenav">
|
<div class="sidenav">
|
||||||
|
<img src="img/everest-nord.svg" alt="everest-logo">
|
||||||
<a href="index.html">Home</a>
|
<a href="index.html">Home</a>
|
||||||
<a href="about.html">About</a>
|
<a href="about.html">About</a>
|
||||||
<a href="install.html">Install</a>
|
<a href="install.html">Install</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
|
<a href="packages.html">Packages</a>
|
||||||
<a href="download.html">Downloads</a>
|
<a href="download.html">Downloads</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
|
<a href="docs/home.html">Docs</a>
|
||||||
<a href="https://git.everestlinux.org">Git</a>
|
<a href="errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Rest of page -->
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>About</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<h2>About Everest</h2>
|
<h2>About Everest</h2>
|
||||||
<p>Everest Linux is a source based Linux meta-distribution,</p>
|
<p>Everest Linux is a source based Linux meta-distribution, with a focus on simplicity and flexibility.</p>
|
||||||
<p>with a focus on simplicity and flexibility.</p>
|
|
||||||
<h2>History</h2>
|
<h2>History</h2>
|
||||||
<p>2021 - The idea of a packaging system that combined</p>
|
<p>2021 - The idea of a packaging system that combined the simplicity of binary based packaging with the power of source based packaging was proposed.</p>
|
||||||
<p>the simplicity of binary based packaging with the power of source</p>
|
<p>Early 2022 - Early prototypes of Glacier were created. These versions came with no multi-repository support, caching, or logging of any kind.</p>
|
||||||
<p>based packaging was proposed.</p>
|
<p>Mid 2022 - Glacier v1 releases. This was the first stable release of Glacier.</p>
|
||||||
<p>Early 2022 - Early prototypes of Glacier were created. These</p>
|
<p>Early June 2022 - Glacier v2 is released.</p>
|
||||||
<p>versions came with no multi-repository support, caching, or logging</p>
|
|
||||||
<p>of any kind.</p>
|
|
||||||
<p>Mid 2022 - Glacier v1 releases. This was the first stable release</p>
|
|
||||||
<p>of Glacier.</p>
|
|
||||||
<p>Early June 2022 - Glacier v2 is released.
|
|
||||||
<p>Late June 2022 - everestlinux.org is registered.</p>
|
<p>Late June 2022 - everestlinux.org is registered.</p>
|
||||||
<p>September 2022 - Different ways of bootstrapping a base system</p>
|
<p>September 2022 - Different ways of bootstrapping a base system are tested by the development team.</p>
|
||||||
<p>are tested by the development team.</p>
|
|
||||||
<p>October 2022 - Glacier v3 is released.</p>
|
<p>October 2022 - Glacier v3 is released.</p>
|
||||||
<p>December 2022 - System image builds done by the development team.</p>
|
<p>December 2022 - System image builds done by the development team.</p>
|
||||||
|
<p>February 2023 - Work on Glacier v4 is begun, website overhaul.</p>
|
||||||
|
<p>April 2023 - ecrypy, pm, and nc released.</p>
|
||||||
|
<p>December 2023 - Glacier C rewrite announced</p>
|
||||||
<h2>Design Principles</h2>
|
<h2>Design Principles</h2>
|
||||||
<p>Our design principles heavily influence and guide development.</p>
|
<p>Our design principles heavily influence and guide development. You may notice we share many of these with Arch.</p>
|
||||||
<p>You may notice we share many of these with Arch.</p>
|
|
||||||
<strong>Simplicity</strong>
|
<strong>Simplicity</strong>
|
||||||
<p>We follow the UNIX philosphy when possible. Programs should do one thing,</p>
|
<p>We follow the UNIX philosphy when possible. Programs should do one thing, and do it right. Our packages have almost zero modifications from upstream. The base system contains only what you need to start building your system. The base Everest system also weighs in at around 100 MB</p>
|
||||||
<p>and do it right. Our packages have almost zero modifications from upstream.</p>
|
|
||||||
<p>The base system contains only what you need to start building your system.</p>
|
|
||||||
<p>The base Everest system also weighs in at around 100 MB</p>
|
|
||||||
<strong>Flexibility</strong>
|
<strong>Flexibility</strong>
|
||||||
<p>Everest is designed with flexibility in mind. Any modification can</p>
|
<p>Everest is designed with flexibility in mind. Any modification can be achieved if the user has enough knowledge. For example, it is possible to replace Busybox with sbase, or use runit as your init system, all without breakage.</p>
|
||||||
<p>be achieved if the user has enough knowledge.</p>
|
|
||||||
<p>For example, it is possible to replace Busybox with sbase, or use</p>
|
|
||||||
<p>runit as your init system, all without breakage.</p>
|
|
||||||
<strong>Functionality versus Ideology</strong>
|
<strong>Functionality versus Ideology</strong>
|
||||||
<p>The developers of Everest are strong advocates of free software, but</p>
|
<p>The developers of Everest are strong advocates of free software, but understand that it cannot be implemented 100% of the time, such as in the form of drivers. We also understand that some users may prefer proprietary software over libre counterparts. We take no steps to prevent proprietary software in our package database, only requiring it to be licensed as such. This is a very different approach from heavily ideological distributions, some of which remove support for certain programs on a purely ideological basis.</p>
|
||||||
<p>understand that it cannot be implemented 100% of the time, such as</p>
|
|
||||||
<p>in the form of drivers. We also understand that some users may</p>
|
|
||||||
<p>prefer proprietary software over libre counterparts. We take</p>
|
|
||||||
<p>no steps to prevent proprietary software in our package database,</p>
|
|
||||||
<p>only requiring it to be under <strong>multiverse</strong>.</p>
|
|
||||||
<p>This is a very different approach from heavily ideological distributions,</p>
|
|
||||||
<p>some of which don't even support many packages/features many find useful.</p>
|
|
||||||
<strong>User Centrality</strong>
|
<strong>User Centrality</strong>
|
||||||
<p>We believe that instead of trying to make Everest easy</p>
|
<p>We believe that instead of trying to make Everest easy to use out-of-the-box, we should instead focus on improving functionality for experienced users.</p>
|
||||||
<p>to use out-of-the-box, we should instead focus on improving</p>
|
<h2>Developers</h2>
|
||||||
<p>functionality for experienced users.</p>
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>Email</th>
|
||||||
|
<th>Role(s)</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Liam Waldron (lw-everestlinux)</td>
|
||||||
|
<td>liamwaldron@everestlinux.org</td>
|
||||||
|
<td>Head Developer</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Grayson Ward (arco-everestlinux)</td>
|
||||||
|
<td>N/A</td>
|
||||||
|
<td>Developer</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
|
|||||||
@@ -1,99 +0,0 @@
|
|||||||
/* css/everest.css - stylesheet for everest-web */
|
|
||||||
/*
|
|
||||||
Copyright (C) 2023 Everest Linux.
|
|
||||||
Permission is granted to copy, distribute and/or modify this document
|
|
||||||
under the terms of the GNU Free Documentation License, Version 1.3
|
|
||||||
or any later version published by the Free Software Foundation;
|
|
||||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
|
||||||
A copy of the license is included in the section entitled "GNU
|
|
||||||
Free Documentation License".
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Sidebar menu */
|
|
||||||
.sidenav {
|
|
||||||
height: 100%;
|
|
||||||
width: 160px;
|
|
||||||
position: fixed;
|
|
||||||
z-index: 1;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
background-color: #1E1E1E;
|
|
||||||
overflow-x: hidden;
|
|
||||||
padding-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Menu links */
|
|
||||||
.sidenav a {
|
|
||||||
padding: 6px 8px 6px 16px;
|
|
||||||
text-decoration: none;
|
|
||||||
font-size: 20px;
|
|
||||||
color: #818181;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidenav a:hover {
|
|
||||||
color: #4a86e8ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main {
|
|
||||||
margin-left: 160px;
|
|
||||||
padding: 0px 10px;
|
|
||||||
background-color: #1E1E1E;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-height: 450px) {
|
|
||||||
.sidenav {padding-top: 15px;}
|
|
||||||
.sidenav a{font-size: 18px;}
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: sans-serif;
|
|
||||||
background-color: #1E1E1E;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
font-family: monospace;
|
|
||||||
background-color: black;
|
|
||||||
border-left-style: solid;
|
|
||||||
border-left-width: 4px;
|
|
||||||
border-radius: 2px;
|
|
||||||
padding: 2px;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
border-left-style: solid;
|
|
||||||
border-color: #4a86e8ff;
|
|
||||||
padding-left: 4px;
|
|
||||||
border-width: 8px;
|
|
||||||
border-radius: 5px;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
button {
|
|
||||||
font-size: 24px;
|
|
||||||
border-style: none;
|
|
||||||
border-left-style: solid;
|
|
||||||
border-width: 8px;
|
|
||||||
padding: 12px 28px;
|
|
||||||
border-color: #4a86e8ff;
|
|
||||||
border-radius: 5px;
|
|
||||||
background-color: #2C2C2C;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr.dotted {
|
|
||||||
border-top: 3px dotted #bbb;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
strong {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
i {
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
269
css/k2.css
Normal file
@@ -0,0 +1,269 @@
|
|||||||
|
/* css/everest.css - stylesheet for everest-web */
|
||||||
|
/*
|
||||||
|
Copyright (C) 2023 Everest Linux.
|
||||||
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
under the terms of the GNU Free Documentation License, Version 1.3
|
||||||
|
or any later version published by the Free Software Foundation;
|
||||||
|
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||||
|
A copy of the license is included in the section entitled "GNU
|
||||||
|
Free Documentation License".
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Sidebar menu */
|
||||||
|
.sidenav {
|
||||||
|
height: 100%;
|
||||||
|
width: 160px;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 1;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: #131313;
|
||||||
|
overflow-x: hidden;
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Menu links */
|
||||||
|
.sidenav a {
|
||||||
|
padding: 6px 8px 6px 16px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #818181;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidenav a:hover {
|
||||||
|
color: #4a86e8ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
background-color: #1E1E1E;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
margin-left: 160px;
|
||||||
|
padding: 0px 10px;
|
||||||
|
background-color: #1E1E1E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #0F0F0F;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: MediumSeaGreen;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kernel {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #0F0F0F;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: SlateBlue;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning {
|
||||||
|
background-color: #330000;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #e60000;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #e60000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news {
|
||||||
|
background-color: #131313;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #4a86e8ff;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
|
||||||
|
fhead {
|
||||||
|
background-color: #0F0F0F;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: MediumSeaGreen;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: MediumSeaGreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
khead {
|
||||||
|
background-color: #0F0F0F;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: SlateBlue;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: Slateblue;
|
||||||
|
}
|
||||||
|
|
||||||
|
warnhead {
|
||||||
|
background-color: #330000;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #e60000;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: #e60000;
|
||||||
|
}
|
||||||
|
|
||||||
|
newshead {
|
||||||
|
background-color: #131313;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #4a86e8ff;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #4a86e8ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
wikihead {
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: Tomato;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
color: Tomato;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-height: 450px) {
|
||||||
|
.sidenav {padding-top: 15px;}
|
||||||
|
.sidenav a{font-size: 18px;}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
background-color: #1E1E1E;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #0F0F0F;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
|
||||||
|
wiki {
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
border-color: Tomato;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* file {
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
border-color: black;
|
||||||
|
} */
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
border-left-style: solid;
|
||||||
|
border-color: #4a86e8ff;
|
||||||
|
padding-left: 4px;
|
||||||
|
border-left-width: 6px;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
font-size: 24px;
|
||||||
|
border-style: none;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-width: 8px;
|
||||||
|
padding: 12px 28px;
|
||||||
|
border-color: #4a86e8ff;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: #2C2C2C;
|
||||||
|
color: #e6e6e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: #252525;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr.dotted {
|
||||||
|
border-top: 3px dotted #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* p {
|
||||||
|
color: #e6e6e6;
|
||||||
|
} */
|
||||||
|
|
||||||
|
/* strong {
|
||||||
|
color: #4a86e8ff;
|
||||||
|
} */
|
||||||
|
|
||||||
|
/* i {
|
||||||
|
color: #e6e6e6;
|
||||||
|
} */
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 10px;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myInput {
|
||||||
|
width: 378px;
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid #4a86e8ff;
|
||||||
|
border-radius: 2px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
background-color: #2C2C2C;
|
||||||
|
color: #e6e6e6;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myUL {
|
||||||
|
width: 400px;
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myUL li a {
|
||||||
|
border-left-width: 2px;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #4a86e8ff;
|
||||||
|
margin-top: -1px;
|
||||||
|
background-color: #2C2C2C;
|
||||||
|
padding: 12px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #e6e6e6;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myUL li a:hover:not(.header) {
|
||||||
|
background-color: #1E1E1E;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
407
css/nord.css
Normal file
@@ -0,0 +1,407 @@
|
|||||||
|
/* css/everest.css - stylesheet for everest-web */
|
||||||
|
/*
|
||||||
|
Copyright (C) 2023 Everest Linux.
|
||||||
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
under the terms of the GNU Free Documentation License, Version 1.3
|
||||||
|
or any later version published by the Free Software Foundation;
|
||||||
|
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||||
|
A copy of the license is included in the section entitled "GNU
|
||||||
|
Free Documentation License".
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Sidebar menu */
|
||||||
|
.sidenav {
|
||||||
|
height: 100%;
|
||||||
|
width: 200px;
|
||||||
|
position: fixed;
|
||||||
|
z-index: 1;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: #2E3440;
|
||||||
|
overflow-x: hidden;
|
||||||
|
padding-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Menu links */
|
||||||
|
.sidenav a {
|
||||||
|
padding: 6px 8px 6px 16px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #D8DEE9;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidenav a:hover {
|
||||||
|
color: #88c0d0;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
background-color: #3B4252;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main {
|
||||||
|
margin-left: 200px;
|
||||||
|
padding: 0px 10px;
|
||||||
|
background-color: #3B4252;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #A3BE8C;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kernel {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #B48EAD;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note {
|
||||||
|
background-color: #88C0D0;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #88C0D0;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #2E3440;
|
||||||
|
}
|
||||||
|
|
||||||
|
.caution {
|
||||||
|
background-color: #EBCB8B;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #EBCB8B;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #2E3440;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning {
|
||||||
|
background-color: #BF616A;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #BF616A;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #D8DEE9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.news {
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #88C0D0;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
table, td {
|
||||||
|
border: 2px solid;
|
||||||
|
border-color: #ECEFF4;
|
||||||
|
border-collapse: collapse;
|
||||||
|
padding: 4px;
|
||||||
|
background-color: #2E3440;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
border: 2px solid;
|
||||||
|
background-color: #88C0D0;
|
||||||
|
color: #2E3440;
|
||||||
|
border-color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
notehead {
|
||||||
|
background-color: #88C0D0;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #88C0D0;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: #2E3440;
|
||||||
|
}
|
||||||
|
|
||||||
|
fhead {
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #A3BE8C;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: #A3BE8C;
|
||||||
|
}
|
||||||
|
|
||||||
|
khead {
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #B48EAD;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: #B48EAD;
|
||||||
|
}
|
||||||
|
|
||||||
|
cautionhead {
|
||||||
|
background-color: #EBCB8B;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #EBCB8B;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: #2E3440;
|
||||||
|
}
|
||||||
|
|
||||||
|
warnhead {
|
||||||
|
background-color: #BF616A;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #BF616A;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
width: 50%;
|
||||||
|
color: #D8DEE9;
|
||||||
|
}
|
||||||
|
|
||||||
|
newshead {
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #88C0D0;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #88C0D0;
|
||||||
|
}
|
||||||
|
|
||||||
|
wikihead {
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #D08770;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
color: #D08770;
|
||||||
|
}
|
||||||
|
|
||||||
|
bigcodehead {
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #ECEFF4;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 4px;
|
||||||
|
width: 50%;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-height: 450px) {
|
||||||
|
.sidenav {padding-top: 15px;}
|
||||||
|
.sidenav a{font-size: 18px;}
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
background-color: #3B4252;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bigcode {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #2E3440;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
border-color: #ECEFF4;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
cil {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #2E3440;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
cil-inv {
|
||||||
|
font-family: monospace;
|
||||||
|
background-color: #2E3440;
|
||||||
|
color: #ECEFF4;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
wiki {
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 6px;
|
||||||
|
border-color: #D08770;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* file {
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 2px;
|
||||||
|
padding: 2px;
|
||||||
|
border-color: black;
|
||||||
|
} */
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
border-left-style: solid;
|
||||||
|
border-color: #88C0D0;
|
||||||
|
padding-left: 4px;
|
||||||
|
border-left-width: 6px;
|
||||||
|
border-radius: 5px;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
font-size: 24px;
|
||||||
|
border-style: none;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-width: 8px;
|
||||||
|
padding: 12px 28px;
|
||||||
|
border-color: #88C0D0;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: #434C5E;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: #4C566A;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr.dotted {
|
||||||
|
border-top: 3px dotted #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* p {
|
||||||
|
color: #e6e6e6;
|
||||||
|
} */
|
||||||
|
|
||||||
|
/* strong {
|
||||||
|
color: #4a86e8ff;
|
||||||
|
} */
|
||||||
|
|
||||||
|
/* i {
|
||||||
|
color: #e6e6e6;
|
||||||
|
} */
|
||||||
|
|
||||||
|
footer {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 10px;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myInput {
|
||||||
|
width: 378px;
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid #88C0D0;
|
||||||
|
border-radius: 2px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
background-color: #434C5E;
|
||||||
|
color: #ECEFF4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myUL {
|
||||||
|
width: 400px;
|
||||||
|
list-style-type: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myUL li a {
|
||||||
|
border-left-width: 2px;
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-color: #88C0D0;
|
||||||
|
margin-top: -1px;
|
||||||
|
background-color: #434C5E;
|
||||||
|
padding: 12px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #ECEFF4;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
#myUL li a:hover:not(.header) {
|
||||||
|
background-color: #4C566A;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
padding: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* */
|
||||||
|
|
||||||
|
body, html {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The hero image */
|
||||||
|
.hero-image {
|
||||||
|
background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("../img/banner.jpg");
|
||||||
|
|
||||||
|
height: 55%;
|
||||||
|
|
||||||
|
background-position: 50% 30%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: cover;
|
||||||
|
position: relative;
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-right: 0px;
|
||||||
|
margin-right: -8px;
|
||||||
|
margin-top: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-text {
|
||||||
|
text-align: center;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
color: #88c0d0;
|
||||||
|
width: 50%;
|
||||||
|
border-width: 4px;
|
||||||
|
border-radius: 5px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 80px;
|
||||||
|
}
|
||||||
153
docs/dev-docs.html
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
<h2>Developer Documentation</h2>
|
||||||
|
<p>This page contains developer-specific documentation.</p>
|
||||||
|
<h2>1 - Coding Style</h2>
|
||||||
|
<p><strong>1.1</strong> C</p>
|
||||||
|
<p><i>1.1.1</i> File Structure</p>
|
||||||
|
<p>Files should follow this format:<p>
|
||||||
|
<ul>
|
||||||
|
<li>Header comment, including program name and LICENSE</li>
|
||||||
|
<li>Headers</li>
|
||||||
|
<li>Macros</li>
|
||||||
|
<li>Types</li>
|
||||||
|
<li>Global variables</li>
|
||||||
|
<li>Functions</li>
|
||||||
|
<li><cil>main</cil> (if applicable)</li>
|
||||||
|
</ul>
|
||||||
|
<p>Note that function declarations should be defined in a separate header, ex:</p>
|
||||||
|
<p><cil>#include "project_name.h"</cil></p>
|
||||||
|
<p>Indentations should be a single tab and be equal to 8 characters for better readability.</p>
|
||||||
|
<p><i>1.1.2</i> Functions</p>
|
||||||
|
<p>Functions should have their return type on one line, their name and parameters one line down, and the bracket one line under the name and arguments.</p>
|
||||||
|
<p>Example:</p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> Proper function formatting in C</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>static void</p>
|
||||||
|
<p>usage(int argc, char *argv[])
|
||||||
|
<p>{</p>
|
||||||
|
<p> printf("usage: %s [-a] [-b]\n", argv[0]);</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<p><i>1.1.3</i> Example Program</p>
|
||||||
|
<fhead><strong>FILE:</strong> prog.c</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>#include <stdio.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>#include "prog.h"</p>
|
||||||
|
<p> </p>
|
||||||
|
<p>void</p>
|
||||||
|
<p>hello()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> printf("hello\n");
|
||||||
|
<p>}</p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> hello();
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<fhead><strong>FILE:</strong> prog.h</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>#ifndef PROG_H_</p>
|
||||||
|
<p>#define PROG_H_</p>
|
||||||
|
<p> </p>
|
||||||
|
<p>void hello();</p>
|
||||||
|
<p> <p>
|
||||||
|
<p>#endif</p>
|
||||||
|
</div>
|
||||||
|
<p><i>1.1.4</i> common.h</p>
|
||||||
|
<p>For large programs which include many header files, it is perfectly acceptable to define these includes in a separate header and then include that in each file.</p>
|
||||||
|
<fhead><strong>FILE:</strong> common.h</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>#ifndef COMMON_H_</p>
|
||||||
|
<p>#define COMMON_H_</p>
|
||||||
|
<p> </p>
|
||||||
|
<p>#include <color.h></p>
|
||||||
|
<p>#include <stdio.h></p>
|
||||||
|
<p>#include <unistd.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>#endif</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<fhead><strong>FILE:</strong> prog.c</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>#include "common.h"</p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> printf("hello\n");
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>1.2</strong> Best Practices</p>
|
||||||
|
<ul>
|
||||||
|
<p><li>Avoid abbreviation and single letter variables.</li><p>
|
||||||
|
<p><li>Avoid deep nesting.</li></p>
|
||||||
|
</ul>
|
||||||
|
<h2>2 - Licensing</h2>
|
||||||
|
<p><strong>2.1</strong> Disclaimer</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>This is not legal advice. If you are in doubt with licensing, please contact your lawyer.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.2</strong> Preferred Licenses</p>
|
||||||
|
<p>For all projects officially released under Everest, the GNU GPL family of licenses is preferred. It provides compatibility with all other existing Everest projects.</p>
|
||||||
|
<p>Most programs should be licensed under the standard GPL. For libraries, you might want to choose the LGPL, if you want to allow linking within proprietary programs. For web applications, always choose the AGPL.</p>
|
||||||
|
<p><strong>2.3</strong> Other Licenses</p>
|
||||||
|
<p>If you wish to use a non-GPL license for your project, that is perfectly permissible.</p>
|
||||||
|
<p>Before releasing your program, we ask that you add the following disclaimer to your README:</p>
|
||||||
|
<fhead><strong>FILE:</strong> README</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>LICENSING DISCLAIMER:</p>
|
||||||
|
<p>This program is licensed under (LICENSE), and as such may be incompatible with other GPL-licensed Everest programs.</p>
|
||||||
|
<p>Please contact the program's maintainer if you have questions.</p>
|
||||||
|
</div>
|
||||||
|
<p>If you are an Everest developer and host a project on our Git server, but do not want it associated with Everest, please submit an electronically signed form stating the following:</p>
|
||||||
|
<fhead><strong>FILE:</strong> WAIVER</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>Everest Linux Development Group hereby relinquishes all claims of ownership on program "foo" to developer "bar".
|
||||||
|
<p>Electronically signed by Foobar on 1/1/2024</p>
|
||||||
|
<p>Electronically signed by Everest Linux head developer on 1/1/2024</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.3</strong> Proprietary Licenses</p>
|
||||||
|
<p>Programs hosted on our Git servers are never to be released under proprietary licenses.</p>
|
||||||
|
<p>Distributing obfuscated binaries (for instance, using <cil>shc</cil> to hide the contents of a shell script) is also not allowed.</p>
|
||||||
|
<p>There will be no further discussion.</p>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated 03/17/2025 @ 12:00</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
117
docs/general-recommendations.html
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="../img/favicon.svg"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
<h2>General Recommendations</h2>
|
||||||
|
<notehead><strong>NOTE:</strong></notehead>
|
||||||
|
<div class="note">
|
||||||
|
<p>This page is outdated as of 9/17/2024</p>
|
||||||
|
<p>Reason: Glacier v4, esv rewrite, among others</p>
|
||||||
|
</div>
|
||||||
|
<p>This page will explain how to expand an Everest system from barebones to more usable.</p>
|
||||||
|
<h2>1 - Administration</h2>
|
||||||
|
<p><strong>1.1 </strong>Users</p>
|
||||||
|
<p>A base system leaves only the root account. Using this account for daily use is extremely unsafe. It is highly recommended to create an unprivileged user.</p>
|
||||||
|
<p>This can be done with the 'adduser' command. See 'man adduser' for more info.</p>
|
||||||
|
<p><strong>1.2 </strong>Services</p>
|
||||||
|
<p>Learn how to use your system's init system. 'esv' should be relatively straightforward, while 'systemd' may require more practice.</p>
|
||||||
|
<p>To enable services on systems using 'esv':</p>
|
||||||
|
<code>(root)# esv start service</code>
|
||||||
|
<p>On 'systemd':</p>
|
||||||
|
<code>(root)# systemctl enable --now service</code>
|
||||||
|
<p>With no service manager:</p>
|
||||||
|
<code>(root)# /etc/init.d/service_name {start,stop,restart}</code>
|
||||||
|
<p></p>
|
||||||
|
<h2>2 - Package Management</h2>
|
||||||
|
<p><strong>2.1 </strong>Basics</p>
|
||||||
|
<p>Everest uses 'glacier' as its package manager. It downloads a PKGBUILD-like script and sources it. It then runs the according functions.</p>
|
||||||
|
<p>Glacier functions a lot like Gentoo's 'portage', and while 'glacier' is not as feature-rich, it should satisfy the needs of most users.</p>
|
||||||
|
<p><strong>2.2 </strong>Repositories</p>
|
||||||
|
<p>The 'GREPO' variable, defined in '/etc/glacier.conf', is where Glacier will download packages to. This is tied into your system profile, and should not be changed.</p>
|
||||||
|
<p><strong>2.3 </strong>Packages</p>
|
||||||
|
<p>Everest does not provide many packages. Thus, it is up to the user to package their own software.</p>
|
||||||
|
<wikihead><strong>WIKI:</strong> <a href="intro-to-glacier.html">Introduction to Glacier</a></wikihead>
|
||||||
|
<h2>3 - Boot process</h2>
|
||||||
|
<p><strong>3.1 </strong>Microcode</p>
|
||||||
|
<p>All users of AMD and Intel CPUs should install their corresponding microcode update package.</p>
|
||||||
|
<code>(root)# gpkg -f {amd,intel}-ucode</code>
|
||||||
|
<p><strong>3.2 </strong>Secure boot</p>
|
||||||
|
<p>Everest does not officially support UEFI secure boot at the moment. While you can always attempt to implement it yourself, there will most likely be pitfalls.</p>
|
||||||
|
<p>For most users, disabling secure boot altogether is recommended.</p>
|
||||||
|
<p><strong>3.3 </strong>Rescue partition</p>
|
||||||
|
<p>By default, an Everest system image ships with a directory called '/rescue'. These files can be copied over to a separate partition for quick system repair.</p>
|
||||||
|
<h2>4 - Interface</h2>
|
||||||
|
<p><strong>4.1 </strong>Display server</p>
|
||||||
|
<p>Xorg is the de-facto standard display server in the Linux world, and allows the user to run graphical applications, such as a desktop environment, window manager, and other programs.</p>
|
||||||
|
<p>Wayland is an alternative to Xorg, but is not compatible with everything.</p>
|
||||||
|
<p>Configuring Xorg is an absolute headache, while Wayland is relatively smooth. Weigh the benefits of both and decide what works better for you.</p>
|
||||||
|
<p>Everest doesn't actually ship Xorg, it ships Xenocara, OpenBSD's build framework for Xorg. The two should be 100% compatible.</p>
|
||||||
|
<p><strong>4.2 </strong>Drivers</p>
|
||||||
|
<p>AMD graphics drivers are included in distribution kernels, and can be included in custom kernels when configuring. Nouveau, the open source implementation of Nvidia's graphics drivers can be included as well.</p>
|
||||||
|
<p>While these defaults may be adequate for running a headless machine, or just general web browsing, some users may want more performance out of their GPU.</p>
|
||||||
|
<p>Install mesa, which provides an open source implementation of OpenGL, Vulkan, and other APIs:</p>
|
||||||
|
<code>(root)# gpkg -f mesa</code>
|
||||||
|
<p>Install AMD drivers:</p>
|
||||||
|
<code>(root)# gpkg -f mesa</code>
|
||||||
|
<p>Install Nvidia drivers on a system running a distribution kernel:</p>
|
||||||
|
<code>(root)# gpkg -f nvidia</code>
|
||||||
|
<p>Or, install Nvidia drivers on a system running a custom kernel:</p>
|
||||||
|
<code>(root)# gpkg -f nvidia-dkms</code>
|
||||||
|
<p><strong>4.3 </strong>Desktop environments</p>
|
||||||
|
<p>Desktop environments provide a complete graphical interface, like what's found in most Linux distributions. Users who want something that will work out of the box will most likely opt for a desktop environment.</p>
|
||||||
|
<p>Some popular choices include GNOME, KDE Plasma, and Xfce.</p>
|
||||||
|
<p><strong>4.4 </strong>Standalone window managers</p>
|
||||||
|
<p>A window manager is a single program with one task - manage window position, size, etc. Users who want a lightweight, keyboard oriented workflow, and are fine with extensive customization will most likely opt for a window manager.</p>
|
||||||
|
<p>Some popular choices include i3, sway, bspwm, openbox, awesome, and dwm.</p>
|
||||||
|
<h2>5 - Networking</h2>
|
||||||
|
<p><strong>5.1 </strong>Clock synchronization</p>
|
||||||
|
<p>NTP is a protocol for synchronizing computer clocks over the network.</p>
|
||||||
|
<p>Chrony, one implementation, is available in the package database.</p>
|
||||||
|
<p>In case it was not installed, run:</p>
|
||||||
|
<code>(root)# gpkg -f chrony</code>
|
||||||
|
<p><Strong>5.2 </strong>Firewall</p>
|
||||||
|
<p>Firewalls provide an extra layer of protection.</p>
|
||||||
|
<p>The default firewall in Everest is ufw, which can be installed by running:</p>
|
||||||
|
<code>(root)# gpkg -f ufw</code>
|
||||||
|
<h2>6 - Input</h2>
|
||||||
|
<p><strong>6.1 </strong>Keyboard layouts</p>
|
||||||
|
<p>If your keyboard layout is non-english, or otherwise unusual, you will need to configure it, both in TTY and in Xorg.</p>
|
||||||
|
<p>Keymaps are located in /usr/share/kbd/keymaps.</p>
|
||||||
|
<p>To change the keyboard layout, edit /etc/vconsole.conf:</p>
|
||||||
|
<fhead><strong>FILE:</strong> /etc/vconsole.conf</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>KEYMAP=uk</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated 4/04/23 @ 13:34</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
67
docs/home.html
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="../img/favicon.svg"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>Docs</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<h2>Documentation Home</h2>
|
||||||
|
<p><strong>Welcome to the Everest Linux documentation homepage!</strong></p>
|
||||||
|
<p>Pages listed here are frequently updated. If you wish to make a correction, or submit a new page, please contact me at liamwaldron@everestlinux.org.</p>
|
||||||
|
<script>
|
||||||
|
function myFunction() {
|
||||||
|
var input, filter, ul, li, a, i, txtValue;
|
||||||
|
input = document.getElementById('myInput');
|
||||||
|
filter = input.value.toUpperCase();
|
||||||
|
ul = document.getElementById("myUL");
|
||||||
|
li = ul.getElementsByTagName('li');
|
||||||
|
|
||||||
|
for (i = 0; i < li.length; i++) {
|
||||||
|
a = li[i].getElementsByTagName("a")[0];
|
||||||
|
txtValue = a.textContent || a.innerText;
|
||||||
|
if (txtValue.toUpperCase().indexOf(filter) > -1) {
|
||||||
|
li[i].style.display = "";
|
||||||
|
} else {
|
||||||
|
li[i].style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<input type="text" id="myInput" onKeyup="myFunction()" placeholder="Search documentation...">
|
||||||
|
<ul id="myUL">
|
||||||
|
<li><a href="dev-docs.html">Developer Documentation</a></li>
|
||||||
|
<li><a href="general-recommendations.html">General Recommendations</a></li>
|
||||||
|
<li><a href="intro-to-glacier.html">Introduction to Glacier</a></li>
|
||||||
|
<li><a href="libglacier.html">libglacier</a></li>
|
||||||
|
<li><a href="meta-reading.html">Meta: Reading Guide</a></li>
|
||||||
|
<li><a href="musl-or-glibc.html">musl or glibc?</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
270
docs/intro-to-glacier.html
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="../img/favicon.svg"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
<h2>1 - Introduction</h2>
|
||||||
|
<p>Glacier is the package management system for Glacier. All users should be familiar with how it works.</p>
|
||||||
|
<h2>2 - Package Indexes</h2>
|
||||||
|
<p>On an Everest system, packages are stored in an "index", of which there are two, the <i>system</i> index and the <i>user</i> index.</p>
|
||||||
|
<p>The system index is located in <cil>/glacier/index</cil>, and the user index is localed in <cil>/usr/glacier/index</cil>.</p>
|
||||||
|
<p>When you merge a package from a repository, <cil>gpkg</cil> will retrieve the file, execute the relevant instruction sets, and store the package in the user index. <cil>syspkg</cil> will operate on the system index instead. On update, <cil>gpkg</cil> will retrieve the package from the user index and execute the relevant instruction sets. The package will then be moved back into the user index. On removal, the package will be moved to <cil>/tmp</cil> oncde the removal instructions have been executed.</p>
|
||||||
|
<h2>3 - Repositories</h2>
|
||||||
|
<p>Unlike most distributions, Everest installations include a copy of the package repository on the local system. Rather than downloading packages from a remote server, Glacier clones a package from the local repository.</p>
|
||||||
|
<p>This presents some advantages:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p>Package modifications can be done easily</p></li>
|
||||||
|
<li><p>In the result of connection loss, Glacier can still be used</p></li>
|
||||||
|
</ul>
|
||||||
|
<p>And also some disadvantages:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p>Security risks may surface if the repository is not kept updated or an unauthorized party makes changes to packages</p></li>
|
||||||
|
</ul>
|
||||||
|
<p>The <cil>glacier-update-pkgdb</cil> program can be used to update the local repository. This should be done regularly (at least once a week) to ensure the newest and most secure packages are available.</p>
|
||||||
|
<h2>4 - The System Profile</h2>
|
||||||
|
<p>An Everest installation includes a system profile. In simple terms, this is a series of environment variables and configurations that tell Glacier which packages it can install. The system profile should not change unless the user intends to migrate profiles.</p>
|
||||||
|
<p>The following environment variables are defined by the system profile:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>GLACIER_REPO</cil> - The repository which will be downloaded by <cil>glacier-update-pkgdb</cil></p></li>
|
||||||
|
<li><p><cil>GLACIER_ARCH</cil> - The CPU's architecture</p></li>
|
||||||
|
<li><p><cil>GLACIER_TARGET</cil> - The compilation triplet</p></li>
|
||||||
|
<li><p><cil>GLACIER_SYSTEM_PROFILE</cil> - The name of the system profile</p></li>
|
||||||
|
</ul>
|
||||||
|
<p>The following system profiles are available:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>x86_64-musl</cil></p></li>
|
||||||
|
</ul>
|
||||||
|
<p>The following system profiles are planned for the future:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>x86_64-glibc</cil></p></li>
|
||||||
|
<li><p><cil>x86_64-musl-nomultilib</cil></p></li>
|
||||||
|
<li><p><cil>x86_64-glibc-nomultilib</cil></p></li>
|
||||||
|
</ul>
|
||||||
|
<h2>5 - Included programs</h2>
|
||||||
|
<p><strong>3.1 </strong>gpkg</p>
|
||||||
|
<p><cil>gpkg</cil> is the program most users will be interacting with. It handles the downloading, installation, and logging of packages.</p>
|
||||||
|
<p><strong>3.2 </strong>syspkg</p>
|
||||||
|
<p><cil>syspkg</cil> is like <cil>gpkg</cil>, except it operates on the system index, rather than the local index. End users should not use this unless instructed to.</p>
|
||||||
|
<p><strong>3.3 </strong>glist</p>
|
||||||
|
<p><cil>glist</cil> lists all installed packages, allowing the user to filter by name.
|
||||||
|
<p><strong>3.4 </strong>gquery</p>
|
||||||
|
<p><cil>gquery</cil> queries information on a package.</p>
|
||||||
|
<p><strong>3.5 </strong>gpc</p>
|
||||||
|
<p><cil>gpc</cil> checks if the syntax of a package is correct. This can be used to troubleshoot a package refusing to install, but is mainly intended for package developers.</p>
|
||||||
|
<p><strong>3.6 </strong>glacier-mkprofile</p>
|
||||||
|
<p><cil>glacier-mkprofile</cil> makes changes to the system-wide profile. Users should not interact with this unless needed.</p>
|
||||||
|
<p><strong>3.7 </strong>glacier-update-pkdgb</p>
|
||||||
|
<p><cil>glacier-update-pkgdb</cil> syncs the local package database with the remote server. This command should be run periodically to ensure you have the most up-to-date packages.</p>
|
||||||
|
<h2>6 - Frontends</h2>
|
||||||
|
<p>Frontends, or wrappers, may provide additional functionality to Glacier.</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>Third party frontends and wrapper scripts are not supported. Use them at your own risk.</p>
|
||||||
|
</div>
|
||||||
|
<h2>7 - Merging packages</h2>
|
||||||
|
<p><strong>5.1 </strong>Using gpkg</p>
|
||||||
|
<p>To merge a package from a repository:</p>
|
||||||
|
<code>(root)# gpkg -f pkg</code>
|
||||||
|
<p>For instance, to install 'vim':</p>
|
||||||
|
<code>(root)# gpkg -f vim</code>
|
||||||
|
<p><strong>5.2 </strong>Using syspkg</p>
|
||||||
|
<p>Using <cil>syspkg</cil> is not recommended for end users because all changes to the global package index will be overwritten when pulling a new update.</p>
|
||||||
|
<p>If you understand these risks, and wish to use <cil>syspkg</cil> anyways, you are acknowledging that things may break.</p>
|
||||||
|
<p>To merge a package:</p>
|
||||||
|
<code>(root)# syspkg -f pkg</code>
|
||||||
|
<h2>8 - Updating packages</h2>
|
||||||
|
<p><strong>6.1 </strong>Introduction</p>
|
||||||
|
<p>When merging a package into any index, the package file is retained in said index. This provides most information needed to keep track of the package, however, when updating, an updated package file will need to be downloaded. Old package files will be retained as <cil>pkgname.old</cil>.</p>
|
||||||
|
<p><strong>6.2 </strong>Using gpkg</p>
|
||||||
|
<p>To update a package:</p>
|
||||||
|
<code>(root)# gpkg -u pkg</code>
|
||||||
|
<p><strong>6.3 </strong>Using syspkg</p>
|
||||||
|
<p>As mentioned above, <cil>syspkg</cil> is intended for system development, and NOT for end users.</p>
|
||||||
|
<p>However, <cil>syspkg -u</cil> has some use cases for end users. These include:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Updating a system program WITHOUT pulling a new release from Git</li>
|
||||||
|
<li>Fixing urgent security vulnerabilities</li>
|
||||||
|
</ul>
|
||||||
|
<p>To update a package:</p>
|
||||||
|
<code>(root)# syspkg -u pkg</code>
|
||||||
|
<h2>9 - Removing packages</h2>
|
||||||
|
<p><strong>7.1 </strong>Introduction</p>
|
||||||
|
<p>When removing a package, the package info file is moved from the appropriate index to /tmp, and saved as <cil>pkgname.rm</cil>. This means it will be wiped after the next reboot.</p>
|
||||||
|
<p><strong>7.2 </strong>Using gpkg</p>
|
||||||
|
<p>To remove a package:</p>
|
||||||
|
<code>(root)# gpkg -x pkg</code>
|
||||||
|
<p>If a package is a dependency for another, you will be shown the following error:</p>
|
||||||
|
<code>[x] Could not remove (package_name): is a dependency for (package_name)</code>
|
||||||
|
<p><strong>7.3 </strong>Using syspkg</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>Removing packages that shipped with the system images WILL cause catastrophic damage. You have been warned.</p>
|
||||||
|
</div>
|
||||||
|
<p>If you wish to proceed anyways, you can remove a package with:</p>
|
||||||
|
<code>(root)# syspkg -x pkg</code>
|
||||||
|
<h2>10 - Advanced usage</h2>
|
||||||
|
<p><strong>8.1 </strong>Patching packages</p>
|
||||||
|
<p>Patching packages is the act of editing a package file to change compile options, optimizations, etc. It is very useful if used correctly.</p>
|
||||||
|
<p>The officially tested and verified method for patching is as follows:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Download the package file with <cil>gpkg -d</cil></li>
|
||||||
|
<li>Edit the package file with a text editor of your choice</li>
|
||||||
|
<li>Install the locally modified package with <cil>gpkg -fl pkg</cil></li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>8.2 </strong>Custom package repository</p>
|
||||||
|
<p>If Glacier's standard package repository is not sufficient, you can use a custom one.</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>Ensure the repository you wish to migrate to supports your system profile. For example, if your profile is <cil-inv>x86-musl</cil-inv>, the new repository should offer packages compatible with <cil-inv>x86-musl</cil-inv>.</p>
|
||||||
|
<p>Errors will occur if this is not taken into account.</p>
|
||||||
|
</div>
|
||||||
|
<p>To use a custom repository once, to merge a package:</p>
|
||||||
|
<code>(root)# GREPO=http://some-repo.org gpkg -f repo/pkg</code>
|
||||||
|
<p>To make the changes persistent, change the <cil>GREPO</cil> variable in <cil>/etc/glacier.conf</cil>:</p>
|
||||||
|
<fhead><strong>FILE:</strong> /etc/glacier.conf</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>export GREPO="https://some-repo.org</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>8.3 </strong>Compile flags</p>
|
||||||
|
<p>When an operation is performed on a package, 'gpkg' invokes the system's C compiler, which can take flags for compilation.</p>
|
||||||
|
<p>'MAKEFLAGS', 'CFLAGS', 'CXXFLAGS', and 'LDFLAGS' can be set in '/etc/make.conf'.</p>
|
||||||
|
<p>It is highly recommended to keep '-static' in 'CFLAGS' and 'LDFLAGS'.</p>
|
||||||
|
<p><strong>8.4 </strong>Using syspkg</p>
|
||||||
|
<p>'syspkg' is intended for development use and not for end users. That being said, 'syspkg' can be used for fixing security vulnerabilities without pulling in a new release from git.</p>
|
||||||
|
<p>Note that all changes to the global package index ('/glacier/index') will be overwritten during an update, where the user invokes 'git pull' on '/'.</p>
|
||||||
|
<p><strong>8.5 </strong>Whitelisting licenses</p>
|
||||||
|
<p>Certain license types can be whitelisted or blacklisted. This is useful for controlling which software is installed on your system.</p>
|
||||||
|
<p>This setting is stored in /etc/glacier.conf, in a simple Bash array. By default, it should look something like this:</p>
|
||||||
|
<fhead><strong>FILE:</strong> /etc/glacier.conf</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>export GLACIER_ALLOWED_LICENSES=("GPL v3" "GPL v2" "GPL" "MIT" "BSD" "APACHE")</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>8.6 </strong>Services</p>
|
||||||
|
<p>Glacier services are small programs that can do certain tasks within Glacier, such as updating the local package database.</p>
|
||||||
|
<p>Services must be enabled in /etc/glacier.conf before they can be used.</p>
|
||||||
|
<fhead><strong>FILE: </strong>/etc/glacier.conf</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>export GLACIER_ALLOW_SERVICES="true"</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>Services can present a security risk to your system if not used properly. Ensure you review each service, its functions, and only use services made by users you trust.</p>
|
||||||
|
</div>
|
||||||
|
<p>Services can be configured to run at three different times: run (when an operation is started), pkg (when a package is installed), and end (when all pending operations have finished).</p>
|
||||||
|
<p>Create 3 files in /etc/glacier:</p>
|
||||||
|
<code>(root)# touch /etc/glacier/{call-srv,pkg-srv,end-srv}</code>
|
||||||
|
<p>There should be a directory in /etc/glacier containing service files. If not, create it now:</p>
|
||||||
|
<code>(root)# mkdir /etc/glacier/services</code>
|
||||||
|
<p>Now you can add services to the previously created files. For instance:</p>
|
||||||
|
<fhead><strong>FILE: </strong>/etc/glacier/end-srv</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>#!/bin/bash</p>
|
||||||
|
<p> </p>
|
||||||
|
<p>GLACIER_SRV_DIR="/etc/glacier/services"</p>
|
||||||
|
<p>$GLACIER_SRV_DIR/update-pkgdb.hook</p>
|
||||||
|
</div>
|
||||||
|
<h2>11 - Querying packages</h2>
|
||||||
|
<p><strong>9.1 </strong>Introduction</p>
|
||||||
|
<p>Glacier packages, in ther simplest form, are text files, containing instructions on how the package is built, who made it, what it's called, and what files it includes.</p>
|
||||||
|
<p><strong>9.2 </strong>Querying files</p>
|
||||||
|
<p>All files belonging to a package can be listed with:</p>
|
||||||
|
<code>(user)$ gquery -f pkg</code>
|
||||||
|
<p><strong>9.3 </strong>Querying info</p>
|
||||||
|
<p>Package info can be listed with:</p>
|
||||||
|
<code>(user)$ gquery -i pkg</code>
|
||||||
|
<h2>12 - Writing packages</h2>
|
||||||
|
<notehead><strong>NOTE:</strong></notehead>
|
||||||
|
<div class="note">
|
||||||
|
<p>This section is outdated as of 9/17/2024</p>
|
||||||
|
<p>Reason: Glacier v4 changes the package format</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>10.1 </strong>Introduction</p>
|
||||||
|
<p>As mentioned before, Glacier packages are simply text files. This makes them very easy to write and maintain.</p>
|
||||||
|
<p>If you have previous experience writing PKGBUILDs for the AUR, writing Glacier packages should feel very similar.</p>
|
||||||
|
<p>In this page, 'nano' will be used as an example.</p>
|
||||||
|
<p><strong>10.2 </strong>Metadata</p>
|
||||||
|
<p>Package files start with metadata, which tells Glacier who made the package, what its called, as well as other information.</p>
|
||||||
|
<p>Double check that all of this information is correct before submitting a package.</p>
|
||||||
|
<fhead><strong>FILE:</strong> $(pwd)/nano</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>PACKAGE_NAME="nano"</p>
|
||||||
|
<p>PACKAGE_VER="7.2"</p>
|
||||||
|
<p>PACKAGE_DESC="The GNU nano text editor"</p>
|
||||||
|
<p>MAINTAINER="liamwaldron@everestlinux.org"</p>
|
||||||
|
<p>LICENSE="GPL v3"</p>
|
||||||
|
<p>ARCH="x86"</p>
|
||||||
|
<p>INCLUDED_FILES=("/usr/bin/nano" "/usr/bin/rnano")</p>
|
||||||
|
</div>
|
||||||
|
<p>Hopefully, most of these options are self explanatory.</p>
|
||||||
|
<p>For INCLUDED_FILES, ensure you DON'T include documentation (manpages, etc).</p>
|
||||||
|
<p><strong>10.3 </strong>Integrity information</p>
|
||||||
|
<fhead><strong>FILE:</strong> $(pwd)/nano</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>SHA256SUMS="86f3442768bd2873cec693f83cdf80b4b444ad3cc14760b74361474fc87a4526"</p>
|
||||||
|
</div>
|
||||||
|
<p>All packages must include their checksums. When merging a package, 'gpkg' will check the provided checksum against the actual checksum of the package, and if they don't match, the operation will be cancelled.</p>
|
||||||
|
<p>To get the checksum of a package:</p>
|
||||||
|
<code>(user)$ sha256sum package</code>
|
||||||
|
<p><strong>10.4 </strong>Dependency information</p>
|
||||||
|
<fhead><strong>FILE:</strong> $(pwd)/nano</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>DEPENDS=("")</p>
|
||||||
|
<p>CONFLICTS=("")</p>
|
||||||
|
</div>
|
||||||
|
<p>Dependency information is extremely important. It allows 'gpkg' to install any dependencies. It also warns the user when a package conflicts with another.</p>
|
||||||
|
<p>This should be fairly easy to figure out. Most projects will have this listed in their README. If you're the developer, you'll probably already know the dependencies your package requires.</p>
|
||||||
|
<p><strong>10.5 </strong>Source information</p>
|
||||||
|
<fhead><strong>FILE:</strong> $(pwd)/nano</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>PACKAGE_SRC="https://nano-editor.org/dist/v7/nano-7.2.tar.xz</p>
|
||||||
|
<p>SOURCES=("nano-7.2.tar.xz" "nano-7.2"</p>
|
||||||
|
</div>
|
||||||
|
<p>PACKAGE_SRC shows Glacier where the sources for the program can be downloaded from.</p>
|
||||||
|
<p>SOURCES shows Glacier what PACKAGE_SRC downloads.</p>
|
||||||
|
<p><strong>9.6 </strong>Functions</p>
|
||||||
|
<fhead><strong>FILE:</strong> $(pwd)/nano</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>getsource() {}</p>
|
||||||
|
<p>buildpkg() {}</p>
|
||||||
|
<p>installpkg() {}</p>
|
||||||
|
<p>installpkg_system() {}</p>
|
||||||
|
<p>removepkg() {}</p>
|
||||||
|
<p>removepkg_system() {}</p>
|
||||||
|
<p>updatepkg() {}</p>
|
||||||
|
<p>updatepkg_system() {}</p>
|
||||||
|
</div>
|
||||||
|
<p>Inside of the brackets, enter the commands that are needed to perform each function.</p>
|
||||||
|
<p>Anything prefixed with "system" refers to the use of 'syspkg'.</p>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated 9/17/24 @ 09:40</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
318
docs/libglacier.html
Normal file
@@ -0,0 +1,318 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
<h2>1 - Introduction</h2>
|
||||||
|
<p><cil>libglacier</cil> is the backend library for Glacier. It simplifies many functions and allows users to extend Glacier's functionality.</p>
|
||||||
|
<h2>2 - Installation</h2>
|
||||||
|
<p>In order to install <cil>libglacier</cil>, the following libraries must be installed:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p>libcolor</p></li>
|
||||||
|
<li><p>libconfig</p></li>
|
||||||
|
</ul>
|
||||||
|
<p>Once these libraries are installed, clone the <cil>libglacier</cil> repository:</p>
|
||||||
|
<p><code>$ git clone https://git.everestlinux.org/EverestLinux/libglacier</code></p>
|
||||||
|
<p>Enter the repository and edit the make configuration file:</p>
|
||||||
|
<p><code>$ cd libglacier</code></p>
|
||||||
|
<p><code>$ ${EDITOR} config.mk</code></p>
|
||||||
|
<cautionhead><strong>CAUTION</strong></cautionhead>
|
||||||
|
<div class="caution">
|
||||||
|
<p>Before proceeding with ANY other step, make sure you define <cil-inv>PREFIX</cil-inv> in config.mk.</p>
|
||||||
|
<p>By default this variable is not defined. Results will be unexpected if the library is compiled without <cil-inv>PREFIX</cil-inv> defined.</p>
|
||||||
|
</div>
|
||||||
|
<p>Build the library:</p>
|
||||||
|
<p><code>$ make lib</code></p>
|
||||||
|
<notehead><strong>NOTE</strong></notehead>
|
||||||
|
<div class="note">
|
||||||
|
<p><cil-inv>libglacier</cil-inv> is provided as a static library only.</p>
|
||||||
|
<p>If you wish to compile a shared library instead, you must edit the Makefile</p>
|
||||||
|
</div>
|
||||||
|
<h2>3 - Using libglacier in a program</h2>
|
||||||
|
<p>To use <cil>libglacier</cil> in a program, include the relevant header files:</p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> Including libglacier header files</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_config.h></p>
|
||||||
|
<p>#include <glacier_data.h></p>
|
||||||
|
<p>#include <glacier_log.h></p>
|
||||||
|
<p>#include <glacier_pkgops.h></p>
|
||||||
|
<p>#include <glacier_runtime.h></p>
|
||||||
|
<p>#include <glacier_security.h></p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<p>To compile <cil>libglacier</cil> into your program, add the flag <cil>-lglacier</cil> to your build process.</p>
|
||||||
|
<p><code>$ gcc program.c -lglacier -o program</code></p>
|
||||||
|
<p></p>
|
||||||
|
<h2>4 - Configuration Functions</h2>
|
||||||
|
<p><cil>libglacier</cil> supplies functions for parsing and getting values from libconfig-syntax configuration files. While only three are present, more are planned for the future.</p>
|
||||||
|
<p><strong>4.1</strong> init_config</p>
|
||||||
|
<p><cil>init_config</cil> initializes the libconfig library, and allows configuration files to be parsed.</p>
|
||||||
|
<p>No parameters are accepted by <cil>init_config</cil>.</p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> init_config used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_config.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> if (init_config() != 0) {</p>
|
||||||
|
<p> errlog("failed to initialize libconfig");
|
||||||
|
<p> return(EXIT_FAILURE);</p>
|
||||||
|
<p> }</p>
|
||||||
|
<p> else {</p>
|
||||||
|
<p> successlog("Initialized libconfig");
|
||||||
|
<p> }
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><cil>init_config</cil> returns 0 on success, and 1 on failure.</p>
|
||||||
|
<hr>
|
||||||
|
<p><strong>4.2</strong> die_config</p>
|
||||||
|
<p><cil>die_config</cil> unloads the libconfig library. You should always run this when you're finished with libconfig in order to free memory.</p>
|
||||||
|
<p>No parameters are accepted by <cil>die_config</cil>.</p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> die_config used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_config.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> die_config();</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><cil>die_config</cil> returns 0 on success, and 1 on failure.</p>
|
||||||
|
<p><strong>4.3</strong> load_all_from_config</p>
|
||||||
|
<p><cil>load_all_from_config</cil> loads all expected settings from /etc/glacier.cfg.</p>
|
||||||
|
<p>No parameters are accepted by <cil>load_all_from_config</cil>.</p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> load_all_from_config used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_config.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> init_config();</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<h2>5 - Data structure functions</h2>
|
||||||
|
<p>Since Glacier is a package manager, <cil>libglacier</cil> provides functions for creating and handling dependency trees.</p>
|
||||||
|
<p><strong>5.1</strong> create_node</p>
|
||||||
|
<p><cil>create_node</cil> creates a node for a dependency tree.</p>
|
||||||
|
<p><cil>create_node</cil> accepts the following parameters:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>char *data</cil> (the name of the node to create)</p></li>
|
||||||
|
</ul>
|
||||||
|
<bigcodehead><strong>CODE:</strong> create_node used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_data.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> struct node package = create_node("Package");</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>5.2</strong> add_child</p>
|
||||||
|
<p><cil>add_child</cil> adds a specified child node to a parent node.</p>
|
||||||
|
<p><cil>add_child</cil> accepts the following parameters:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>struct node *parent</cil> (the parent node which the child will be added to)</p></li>
|
||||||
|
<li><p><cil>struct node *child</cil> (the child node which will be added to the parent node)</p></li>
|
||||||
|
</ul>
|
||||||
|
<bigcodehead><strong>CODE:</strong> add_child used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_data.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p><span class="tab"></span>struct node pack = create_node("pack");
|
||||||
|
<p><span class="tab"></span>struct node dep1 = create_node("dep1");
|
||||||
|
<p><span class="tab"></span>add_child(pack, dep1);</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>5.3</strong> print_tree</p>
|
||||||
|
<p><cil>print_tree</cil> prints a dependency tree specified at its root node.</p>
|
||||||
|
<p><cil>print_tree</cil> accepts the following parameters:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>struct node *root</cil> (the root node of the tree to print</p></li>
|
||||||
|
<li><p><cil>int level</cil> (the number of levels to descend)</p></li>
|
||||||
|
</ul>
|
||||||
|
<bigcodehead><strong>CODE:</strong> print_tree used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_data.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p><span class="tab"></span>struct node pack = create_node("pack");</p>
|
||||||
|
<p><span class="tab"></span>struct node dep1 = create_node("dep1");</p>
|
||||||
|
<p><span class="tab"></span>add_child(pack, dep1);</p>
|
||||||
|
<p><span class="tab"></span>print_tree(pack, 0);</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>5.4</strong> init_queue</p>
|
||||||
|
<p><cil>init_queue</cil> initializes a queue data structure.</p>
|
||||||
|
<p><cil>init_queue</cil> accepts the following parameters:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>queue *q</cil> (the name of the queue to initialize</p></li>
|
||||||
|
</ul>
|
||||||
|
<bigcodehead><strong>CODE:</strong> init_queue used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_data.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p><span class="tab"></span>hi</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<h2>6 - Logging Functions</h2>
|
||||||
|
<p>The logging functions <cil>libglacier</cil> provides are designed to allow a uniform style of output. </p>
|
||||||
|
<p>The following logging functions are included:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>infolog</cil></p></li>
|
||||||
|
<li><p><cil>warnlog</cil></p></li>
|
||||||
|
<li><p><cil>errlog</cil></p></li>
|
||||||
|
<li><p><cil>successlog</cil></p></li>
|
||||||
|
</ul>
|
||||||
|
<p>These four functions accept the following parameters:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>char MSG</cil> (the message to output</p></li>
|
||||||
|
</ul>
|
||||||
|
<p></p>
|
||||||
|
<notehead><strong>NOTE:</strong></notehead>
|
||||||
|
<div class="note">
|
||||||
|
<p>Logging functions do not require a newline character ('\n'), they will automatically place one after the message.</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> Logging functions used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_log.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> infolog("This is an info message");</p>
|
||||||
|
<p> warnlog("This is a warning message");</p>
|
||||||
|
<p> errlog("This is an error message");</p>
|
||||||
|
<p> successlog("This is a success message");</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<h2>7 - Package Operation Functions</h2>
|
||||||
|
<p>This section describes the numerous functions related to operations on packages.</p>
|
||||||
|
<p><strong>7.1</strong> mkworkspace</p>
|
||||||
|
<p><cil>mkworkspace</cil> creates a Glacier workspace at <cil>/tmp/glacier-workspace</cil>.</p>
|
||||||
|
<p><cil>mkworkspace</cil> accepts no parameters.</p>
|
||||||
|
<p><cil>mkworkspace</cil> returns the following values:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p>0 on success</p></li>
|
||||||
|
<li><p>2 on library error</p></li>
|
||||||
|
</ul>
|
||||||
|
<bigcodehead><strong>CODE:</strong> mkworkspace used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_pkgops.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> mkworkspace();</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>7.2</strong> prepare_pkg</p>
|
||||||
|
<p><cil>prepare_pkg</cil> copies a package archive from the local package database to the workspace, and untars it.</p>
|
||||||
|
<p><cil>prepare_pkg</cil> accepts the following parameters:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>char PACKAGE[]</cil> (the package file to prepare)</p></li>
|
||||||
|
</ul>
|
||||||
|
<p><cil>prepare_pkg</cil> returns the following values:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p>0 on success</p></li>
|
||||||
|
<li><p>1 on package does not exist, or error untarring</p></li>
|
||||||
|
</ul>
|
||||||
|
<bigcodehead><strong>CODE:</strong> prepare_pkg used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_pkgops.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> prepare_pkg("/glacier/localdb/epkgs-x86_64-musl/foo.tar");</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p> </p>
|
||||||
|
<cautionhead><strong>CAUTION:</strong></cautionhead>
|
||||||
|
<div class="caution">
|
||||||
|
<p>This example presented is not the best. Instead of manually specifying the package directory, you should be calling the system profile.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>7.3</strong> run_make_task</p>
|
||||||
|
<p><cil>run_make_task</cil> runs a specified make task in a package's current working directory.</p>
|
||||||
|
<p><cil>run_make_task</cil> accepts the following parameters:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p><cil>char TASK[]</cil> (the make task to run</p></li>
|
||||||
|
</ul>
|
||||||
|
<p><cil>run_make_task</cil> returns the following values:</p>
|
||||||
|
<ul>
|
||||||
|
<li><p>0 on success</p></li>
|
||||||
|
<li><p>1 on failure</p></li>
|
||||||
|
</ul>
|
||||||
|
<bigcodehead><strong>CODE:</strong> run_make_task used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_pkgops.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> prepare_pkg("/glacier/localdb/epkgs-x86_64-musl/foo.tar");</p>
|
||||||
|
<p> run_make_task("installpkg");</p>
|
||||||
|
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<h2>8 - Runtime Functions</h2>
|
||||||
|
<p>The functions described here are used for various runtime checks.</p>
|
||||||
|
<p><strong>8.1</strong> runtime_exists</p>
|
||||||
|
<p><cil>runtime_exists</cil> checks if necessary runtime files exist and are in their correct locations.</p>
|
||||||
|
<p><cil>runtime_exists</cil> accepts no parameters.
|
||||||
|
<p><cil>runtime_exists</cil> returns no values.</p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> runtime_exists used in a program</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>#include <glacier_runtime.h></p>
|
||||||
|
<p> </p>
|
||||||
|
<p>int</p>
|
||||||
|
<p>main()</p>
|
||||||
|
<p>{</p>
|
||||||
|
<p> runtime_exists();</p>
|
||||||
|
<p>}</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>8.2</strong>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated MM/DD/YY @ HH:MM</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
100
docs/meta-reading.html
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
<h2>1 - Introduction</h2>
|
||||||
|
<p>Documentation for Everest is formatted in a specific way. This page explains how a page is formatted, and what certain things mean, in as much detail as possible.</p>
|
||||||
|
<h2>2 - Cards</h2>
|
||||||
|
<p><strong>2.1 </strong>Introduction</p>
|
||||||
|
<p>Most Everest documentation pages will contain some type of a "card". Put simply, these are small containers that contain file contents, kernel configurations, warnings, notes, etc. There are 6 types of cards:</p>
|
||||||
|
<p><strong>2.2 </strong>Note</p>
|
||||||
|
<p>This card is the most simple. It contains a note on a certain section. They are usually not required to read, but contain important information.</p>
|
||||||
|
<notehead><strong>NOTE:</strong></notehead>
|
||||||
|
<div class="note">
|
||||||
|
<p>This is an example of a note card.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.3 </strong>Caution</p>
|
||||||
|
<p>This card is one step up from a note. It contains important information, and should be read. However, it usually isn't urgent, or if it is, it contains things that most would consider common knowledge.</p>
|
||||||
|
<cautionhead><strong>CAUTION:</strong></cautionhead>
|
||||||
|
<div class="caution">
|
||||||
|
<p>This is an example of a caution card.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.4 </strong>Warning</p>
|
||||||
|
<p>This card is one of the most important. It contains extremely important information that, if not understood, could lead to system breakage, data loss, etc.</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>This is an example of a warning card.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.5 </strong>File</p>
|
||||||
|
<p>This card contains the contents of a text file. It is usually used to show configuration files.</p>
|
||||||
|
<fhead><strong>FILE:</strong> example.txt</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>This is an example of a file card.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.6 </strong>Kernel</p>
|
||||||
|
<p>This card contains a kernel configuration as seen in <cil>make menuconfig</cil>.</p>
|
||||||
|
<khead><strong>KERNEL:</strong> Enable module "example</khead>
|
||||||
|
<div class="kernel">
|
||||||
|
<p>This is an example of a kernel card.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.7 </strong>Bigcode</p>
|
||||||
|
<p>The <cil>code</cil> tag is typically used to denote commands the user should run. The <cil>bigcode</cil> card is meant for showing programs, usually Bash or Python scripts, or C programs.</p>
|
||||||
|
<bigcodehead><strong>CODE:</strong> example.c</bigcodehead>
|
||||||
|
<div class="bigcode">
|
||||||
|
<p>This is an example of a bigcode card.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>2.8 </strong>News</p>
|
||||||
|
<p>This card is meant for sharing news about the distribution. It is only found on the homepage.</p>
|
||||||
|
<newshead><strong>1/1/70 - Example</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>This is an example of a news card.</p>
|
||||||
|
</div>
|
||||||
|
<h2>3 - Page Structure</h2>
|
||||||
|
<p>Everest documentation pages are organized into:</p>
|
||||||
|
<ul>
|
||||||
|
<li><a>Chapters</a></li>
|
||||||
|
<li><a>Sections</a></li>
|
||||||
|
<li><a>Subsections</a></li>
|
||||||
|
</ul>
|
||||||
|
<p><strong>3.1</strong> Chapters</p>
|
||||||
|
<p>Chapters are typically the largest sections on a given page. The topics they cover are very broad. Each chapter contains its own sections.</p>
|
||||||
|
<p>A chapter header is large, bold, has a colored sidebar, and is denoted by its number.</p>
|
||||||
|
<p><strong>3.2</strong> Sections</p>
|
||||||
|
<p>Sections are nested within chapters, and typically pertain to more specific topics related to a chapter.</p>
|
||||||
|
<p>A section header is bold, and is denoted by the number of the chapter it is nested under, followed by that section's number.</p>
|
||||||
|
<p><strong>3.3</strong> Subsections</p>
|
||||||
|
<p>Subsections are nested within sections, and usually contain very specific topics pertaining to a section (and chapter at large). Sometimes, a page does not use subsections at all.</p>
|
||||||
|
<p>A subsection header is italic, and is denoted by the number of the chapter it is nested under, followed by the number of the section it is nested under, followed by that subsection's number.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated 1/08/2024 @ 17:28</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
14
docs/mkpage.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
printf "usage: ${0} NEW_PAGE_NAME\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "${1}" == "" ]; then
|
||||||
|
usage "$@"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "Creating new page...\n"
|
||||||
|
cp -v template.html ${1}
|
||||||
|
printf "Done.\n"
|
||||||
110
docs/musl-or-glibc.html
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
<h2>Musl or Glibc?</h2>
|
||||||
|
<p>Everest supports 2 different C libraries, musl and glibc. This guide should help you decide which to choose.</p>
|
||||||
|
<h2>1 - musl</h2>
|
||||||
|
<p><strong>1.1 </strong>Pros</p>
|
||||||
|
<p>Musl is extremely lightweight and easy to build, compared to Glibc.</p>
|
||||||
|
<p>As an added bonus, musl is also more secure than Glibc.</p>
|
||||||
|
<p>Musl recieves the most support from the Everest development team.</p>
|
||||||
|
<p><strong>1.2 </strong>Cons</p>
|
||||||
|
<p>Musl may not support all programs, especially proprietary programs, or programs using Glibc-specific APIs.</p>
|
||||||
|
<p><strong>1.3 </strong>Who should use musl</p>
|
||||||
|
<p>Users running a server, doing simple web browsing, or using programs which do not depend on Glibc should use musl.</p>
|
||||||
|
<p><strong>1.4 </strong>Who shouldn't use musl</p>
|
||||||
|
<p>Users requiring proprietary software that cannot be patched and recompiled against musl, users who require nvidia graphics drivers, or those who use Steam.</p>
|
||||||
|
<p>While compatibility layers, such as gcompat, can remedy these issues, there is no 100% perfect solution.</p>
|
||||||
|
<p><strong>1.5 </strong>Solutions</p>
|
||||||
|
<p>Those wishing to run musl, even with incompatible software and hardware, have a couple of solutions:</p>
|
||||||
|
<p><i>1.5.1 </i>gcompat</p>
|
||||||
|
<p>Gcompat is a shared object file that provides programs with Glibc APIs on a musl system. This can be used for running Glibc programs, but CANNOT be used for compiling them.</p>
|
||||||
|
<p>Install gcompat by running the following:</p>
|
||||||
|
<code>(root)# gpkg -f gcompat</code>
|
||||||
|
<p><i>1.5.2 </i>Glibc chroot</p>
|
||||||
|
<p>A minimal chroot containing Glibc can be set up very quickly.</p>
|
||||||
|
<p>First, ensure you have the everest-devtools and everest-buildtools packages installed:</p>
|
||||||
|
<code>(root)# gpkg -f everest-devtools everest-buildtools</code>
|
||||||
|
<p>Next, create a directory for the chroot:</p>
|
||||||
|
<code>(user)$ mkdir your-chroot</code>
|
||||||
|
<p>Create a filesystem skeleton in the new directory:</p>
|
||||||
|
<code>(user)$ mkskel -d your-chroot</code>
|
||||||
|
<p>Install the necessary packages to the chroot:</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>The following command costs a fair amount of disk space. Ensure you have enough free space before proceeding.</p>
|
||||||
|
<p>Check disk space with the following command:</p>
|
||||||
|
<code>(root)# df /</code>
|
||||||
|
</div>
|
||||||
|
<p><p>
|
||||||
|
<code>(user)$ mkchroot-glibc -d your-chroot</code>
|
||||||
|
<p>Finally, use everest-chroot to access the chroot:</p>
|
||||||
|
<code>(root)# everest-chroot your-chroot</code>
|
||||||
|
<p>Or, you can manually mount the required filesystems and run:</p>
|
||||||
|
<code>(root)# chroot --userspec=0:0 your-chroot /bin/sh</code>
|
||||||
|
<h2>2 - Glibc</h2>
|
||||||
|
<p><strong>2.1 </strong>Pros</p>
|
||||||
|
<p>Glibc is the de-facto standard C library in Linux, and as a result supports most programs, including proprietary ones.</p>
|
||||||
|
<p><strong>2.2 </strong>Cons</p>
|
||||||
|
<p>Glibc is very bloated and heavy on resources for what it does.</p>
|
||||||
|
<p><strong>2.3 </strong>Who should use Glibc</p>
|
||||||
|
<p>Users who wish to use proprietary programs, play Steam games, or have hardware that is incompatible with musl should use Glibc.</p>
|
||||||
|
<p><strong>2.4 </strong>Who shouldn't use Glibc</p>
|
||||||
|
<p>Users running an embedded, or otherwise resource-constrained system should not use Glibc.</p>
|
||||||
|
<h2>3 - Migrating</h2>
|
||||||
|
<p><strong>3.1 </strong>Prerequisites</p>
|
||||||
|
<p>Changing the C library on an existing Everest system is known as migrating.</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>Migration requires rebuilding most, if not all of the system. It may also present other issues. Continue at your own risk.</p>
|
||||||
|
</div>
|
||||||
|
<p><strong>3.2 </strong>Preparations</p>
|
||||||
|
<p>First, change the system profile, corresponding to the C library you are switching to:</p>
|
||||||
|
<code>(root)# glacier-mkprofile -u <i>SYSTEM_PROFILE</i></code>
|
||||||
|
<p>Next, update the local package database:</p>
|
||||||
|
<code>(root)# glacier-update-pkgdb</code>
|
||||||
|
<p>Finally, change branches on / and pull in the new files:</p>
|
||||||
|
<code>(user)$ cd /</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# git checkout <i>SYSTEM_PROFILE</i></code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# git pull</code>
|
||||||
|
<p></p>
|
||||||
|
<warnhead><strong>WARNING</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>Pulling in a new root filesystem requires a substantial amount of time. Ensure your system continuously stays connected to the network and doesn't loose power.</p>
|
||||||
|
<p>Your system may become corrupted if something interrupts this process.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated 6/17/23 @ 20:16</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
62
docs/recovery.html
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
<h2>Recovery</h2>
|
||||||
|
<p>System security is very important, however there are times when a system becomes so secure that the owner of the system becomes locked out of their own computer. There are a couple different methods for recovering a locked system.</p>
|
||||||
|
<h2>1 - Issues</h2>
|
||||||
|
<p><strong>1.1</strong> Issues resulting in a locked system</p>
|
||||||
|
<p>There are many things which may lock someone out of their system. The most notable ones are:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Forgotten root password</li>
|
||||||
|
<li>Problematic PAM configuration</li>
|
||||||
|
</ul>
|
||||||
|
<p>There are two methods for recovering a system locked out by these issues, one of which should be set up by default.</p>
|
||||||
|
<h2>2 - Rescue Partition</h2>
|
||||||
|
<p><strong>2.1</strong> Introduction</p>
|
||||||
|
<p>Everest includes a small rescue partition in its system images, which contains only what is necessary to recover a system. Using this partition, system recovery is a relatively easy task.</p>
|
||||||
|
<p><strong>2.2</strong> Booting</p>
|
||||||
|
<p>While installing, either GRUB automatically created a boot entry for the rescue partition, or you did it yourself. If not, the rescue partition is unusable for recovery.</p>
|
||||||
|
<p>To boot into the rescue partition, power off your system, and select <cil>Everest Linux (rescue)</cil> in the GRUB boot menu.</p>
|
||||||
|
<h2>3 - Using BASH as init</h2>
|
||||||
|
<p><strong>3.1</strong> Introduction</p>
|
||||||
|
<p>The Linux kernel supports setting a custom init using kernel parameters. In this instance, we will use <cil>bash</cil> as our init to recover a locked system.</p>
|
||||||
|
<p><strong>3.2</strong> Booting</p>
|
||||||
|
<p>Power off your system. While booting, edit your boot entry's kernel parameters. On GRUB, this can be done with the <cil>e</cil> key.</p>
|
||||||
|
<p>Add the following to your kernel parameters:</p>
|
||||||
|
<khead><strong>KERNEL:</strong> Required kernel parameters to use BASH as init</khead>
|
||||||
|
<div class="kernel">
|
||||||
|
<p>init="/bin/bash"</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated MM/DD/YY @ HH:MM</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
36
docs/template.html
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Docs</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="../css/nord.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="../img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="../index.html">Home</a>
|
||||||
|
<a href="../about.html">About</a>
|
||||||
|
<a href="../install.html">Install</a>
|
||||||
|
<a href="../packages.html">Packages</a>
|
||||||
|
<a href="../download.html">Downloads</a>
|
||||||
|
<a href="home.html">Docs</a>
|
||||||
|
<a href="../errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<button onclick="window.location.href='home.html';">
|
||||||
|
Back to home
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Page last updated MM/DD/YY @ HH:MM</p>
|
||||||
|
<p>Page licensed under GNU Free Documentation License 1.3 or later</p>
|
||||||
|
<p>--------------------</p>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
@@ -1,43 +1,55 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Everest Linux - Home</title>
|
<meta charset="UTF-8">
|
||||||
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Downloads</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="img/favicon.svg"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<div class="sidenav">
|
<div class="sidenav">
|
||||||
|
<img src="img/everest-nord.svg" alt="everest-logo">
|
||||||
<a href="index.html">Home</a>
|
<a href="index.html">Home</a>
|
||||||
<a href="about.html">About</a>
|
<a href="about.html">About</a>
|
||||||
<a href="install.html">Install</a>
|
<a href="install.html">Install</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
|
<a href="packages.html">Packages</a>
|
||||||
<a href="download.html">Downloads</a>
|
<a href="download.html">Downloads</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
|
<a href="docs/home.html">Docs</a>
|
||||||
<a href="https://git.everestlinux.org">Git</a>
|
<a href="errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Rest of page -->
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>Download</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<h2>Download Everest</h2>
|
<h2>Download Everest</h2>
|
||||||
<p>Most users will want to get the most recent release.</p>
|
<p>Most users will want to get the most recent release. If for some reason you require an older release, it may be in the release archive, which contains all deprecated releases.</p>
|
||||||
<p>If for some reason you require an older release,</p>
|
<p>Try not to use old releases. Many components of the system will be severely outdated and prone to security holes.</p>
|
||||||
<p>it may be in the release archive, which contains all</p>
|
<p>ALWAYS verify checksums of system images. If you download a system image, and the checksums do not match, do not use the system image.</p>
|
||||||
<p>deprecated releases.</p>
|
|
||||||
<p>Using a very old release is not recommended as many critical</p>
|
|
||||||
<p>programs will likely have security vulnerabilities.</p>
|
|
||||||
<p>ALWAYS verify checksums of system images.</p>
|
|
||||||
<p>There are multiple ways of getting Everest:</p>
|
<p>There are multiple ways of getting Everest:</p>
|
||||||
<h2>HTTPS</h2>
|
<h2>HTTPS</h2>
|
||||||
<button onclick="window.location.href='https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases';">
|
<button onclick="window.location.href='https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases';">
|
||||||
Download
|
Download
|
||||||
</button>
|
</button>
|
||||||
<h2>BitTorrent</h2>
|
<h2>BitTorrent</h2>
|
||||||
<p>In some regions, using BitTorrent is illegal.</p>
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
<p>Please ensure accessing BitTorrent is safe to do.</p>
|
<div class="warning">
|
||||||
<p>Everest Linux assumes no responsibility.</p>
|
<p>The use of BitTorrent is illegal in some regions. Please ensure you are abiding by local jurisdiction when accessing BitTorrent.</p>
|
||||||
<p>If using a web seed capable client, please leave it open once finished,</p>
|
<p>Everest Linux assumes no responsibility for illegal BitTorrent access.</p>
|
||||||
<p>in order to seed back.</p>
|
</div>
|
||||||
|
<p>If using a web seed capable client, please leave it open once finished, in order to seed back.</p>
|
||||||
<h2>wget</h2>
|
<h2>wget</h2>
|
||||||
<p>If you want to quickly download a system image, you can use wget.</p>
|
<p>If you want to quickly download a system image, you can use wget.</p>
|
||||||
<code>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/SYSTEM_IMAGE</code>
|
<code>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/SYSTEM_IMAGE</code>
|
||||||
</div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
|
|||||||
41
errata.html
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Errata</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="img/favicon.svg"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="about.html">About</a>
|
||||||
|
<a href="install.html">Install</a>
|
||||||
|
<a href="packages.html">Packages</a>
|
||||||
|
<a href="download.html">Downloads</a>
|
||||||
|
<a href="docs/home.html">Docs</a>
|
||||||
|
<a href="errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>Errata</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<h2>Errata and Security Advisories</h2>
|
||||||
|
<p>This page will be periodically updated with security advisories, and instructions for fixing them.</p>
|
||||||
|
<p>No advisories to report.</p>
|
||||||
|
<p>Last updated: March 31st 2023</p>
|
||||||
|
<p>Contact security@everestlinux.org to report an issue</p>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
BIN
img/banner.jpg
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
img/everest-k2.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
1
img/everest-k2.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg version="1.1" viewBox="0.0 0.0 649.0 485.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l649.0 0l0 485.0l-649.0 0l0 -485.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l649.0 0l0 485.0l-649.0 0z" fill-rule="evenodd"/><path fill="#4a86e8" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path stroke="#4a86e8" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path fill="#282828" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path stroke="#282828" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path fill="#282828" d="m0 484.29922l130.77936 -246.89764l98.44899 246.89764z" fill-rule="evenodd"/><path stroke="#282828" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m0 484.29922l130.77936 -246.89764l98.44899 246.89764z" fill-rule="evenodd"/><path fill="#282828" d="m278.13385 485.0l185.43307 -378.2677l185.43307 378.2677z" fill-rule="evenodd"/><path stroke="#282828" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m278.13385 485.0l185.43307 -378.2677l185.43307 378.2677z" fill-rule="evenodd"/><path fill="#4a86e8" d="m205.22047 134.99213l71.574814 -134.99213l71.5748 134.99213z" fill-rule="evenodd"/><path stroke="#4a86e8" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.22047 134.99213l71.574814 -134.99213l71.5748 134.99213z" fill-rule="evenodd"/><path fill="#282828" d="m140.82677 222.7559l70.13112 -134.99213l131.67477 0l70.131134 134.99213z" fill-rule="evenodd"/><path stroke="#282828" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m140.82677 222.7559l70.13112 -134.99213l131.67477 0l70.131134 134.99213z" fill-rule="evenodd"/><path fill="#282828" d="m205.21523 99.13386l30.761414 -63.27559l112.3882 63.27559z" fill-rule="evenodd"/><path stroke="#282828" stroke-width="4.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.21523 99.13386l30.761414 -63.27559l112.3882 63.27559z" fill-rule="evenodd"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
1
img/everest-logo.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg version="1.1" viewBox="0.0 0.0 649.0 485.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l649.0 0l0 485.0l-649.0 0l0 -485.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l649.0 0l0 485.0l-649.0 0z" fill-rule="evenodd"/><path fill="#4a86e8" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path stroke="#4a86e8" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path fill="#434343" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path fill="#666666" d="m276.48984 484.30145l135.9685 -261.5433l135.96854 261.5433z" fill-rule="evenodd"/><path stroke="#666666" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m276.48984 484.30145l135.9685 -261.5433l135.96854 261.5433z" fill-rule="evenodd"/><path fill="#434343" d="m0 484.29922l130.77936 -246.89764l98.44899 246.89764z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m0 484.29922l130.77936 -246.89764l98.44899 246.89764z" fill-rule="evenodd"/><path fill="#434343" d="m276.4908 484.3176l185.43307 -378.26773l185.43304 378.26773z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m276.4908 484.3176l185.43307 -378.26773l185.43304 378.26773z" fill-rule="evenodd"/><path fill="#4a86e8" d="m205.22047 134.99213l71.574814 -134.99213l71.5748 134.99213z" fill-rule="evenodd"/><path stroke="#4a86e8" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.22047 134.99213l71.574814 -134.99213l71.5748 134.99213z" fill-rule="evenodd"/><path fill="#434343" d="m140.82677 222.7559l70.13112 -134.99213l131.67477 0l70.131134 134.99213z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m140.82677 222.7559l70.13112 -134.99213l131.67477 0l70.131134 134.99213z" fill-rule="evenodd"/><path fill="#434343" d="m205.21523 99.13386l30.761414 -63.27559l112.3882 63.27559z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.21523 99.13386l30.761414 -63.27559l112.3882 63.27559z" fill-rule="evenodd"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
BIN
img/everest-nord.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
1
img/everest-nord.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg version="1.1" viewBox="0.0 0.0 649.0 485.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l649.0 0l0 485.0l-649.0 0l0 -485.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l649.0 0l0 485.0l-649.0 0z" fill-rule="evenodd"/><path fill="#88c0d0" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path stroke="#88c0d0" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path fill="#5e81ac" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path stroke="#5e81ac" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path fill="#666666" d="m276.48984 484.30145l135.9685 -261.5433l135.96854 261.5433z" fill-rule="evenodd"/><path stroke="#666666" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m276.48984 484.30145l135.9685 -261.5433l135.96854 261.5433z" fill-rule="evenodd"/><path fill="#5e81ac" d="m0 484.29922l130.77936 -246.89764l98.44899 246.89764z" fill-rule="evenodd"/><path stroke="#5e81ac" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m0 484.29922l130.77936 -246.89764l98.44899 246.89764z" fill-rule="evenodd"/><path fill="#5e81ac" d="m276.4908 484.3176l185.43307 -378.26773l185.43304 378.26773z" fill-rule="evenodd"/><path stroke="#5e81ac" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m276.4908 484.3176l185.43307 -378.26773l185.43304 378.26773z" fill-rule="evenodd"/><path fill="#88c0d0" d="m205.22047 134.99213l71.574814 -134.99213l71.5748 134.99213z" fill-rule="evenodd"/><path stroke="#88c0d0" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.22047 134.99213l71.574814 -134.99213l71.5748 134.99213z" fill-rule="evenodd"/><path fill="#5e81ac" d="m140.82677 222.7559l70.13112 -134.99213l131.67477 0l70.131134 134.99213z" fill-rule="evenodd"/><path stroke="#5e81ac" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m140.82677 222.7559l70.13112 -134.99213l131.67477 0l70.131134 134.99213z" fill-rule="evenodd"/><path fill="#5e81ac" d="m205.21523 99.13386l30.761414 -63.27559l112.3882 63.27559z" fill-rule="evenodd"/><path stroke="#5e81ac" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.21523 99.13386l30.761414 -63.27559l112.3882 63.27559z" fill-rule="evenodd"/><path fill="#5e81ac" d="m205.22047 199.58267l195.68504 0l0 110.77167l-195.68504 0z" fill-rule="evenodd"/><path stroke="#5e81ac" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m205.22047 199.58267l195.68504 0l0 110.77167l-195.68504 0z" fill-rule="evenodd"/><path fill="#5e81ac" d="m385.25198 283.9475l-106.83533 198.3937l-97.82611 -198.3937z" fill-rule="evenodd"/><path stroke="#5e81ac" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m385.25198 283.9475l-106.83533 198.3937l-97.82611 -198.3937z" fill-rule="evenodd"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
1
img/favicon.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg version="1.1" viewBox="0.0 0.0 649.0 485.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l649.0 0l0 485.0l-649.0 0l0 -485.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l649.0 0l0 485.0l-649.0 0z" fill-rule="evenodd"/><path fill="#4a86e8" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path stroke="#4a86e8" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m31.519686 468.3622l194.38202 -378.26773l133.83844 378.26773z" fill-rule="evenodd"/><path fill="#434343" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m412.7575 222.75516l-135.9685 261.5433l-135.9685 -261.5433z" fill-rule="evenodd"/><path fill="#666666" d="m276.48984 484.30145l135.9685 -261.5433l135.96854 261.5433z" fill-rule="evenodd"/><path stroke="#666666" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m276.48984 484.30145l135.9685 -261.5433l135.96854 261.5433z" fill-rule="evenodd"/><path fill="#434343" d="m0 478.92914l85.87449 -165.16534l64.645195 165.16534z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m0 478.92914l85.87449 -165.16534l64.645195 165.16534z" fill-rule="evenodd"/><path fill="#434343" d="m276.4908 484.3176l185.43307 -378.26773l185.43304 378.26773z" fill-rule="evenodd"/><path stroke="#434343" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m276.4908 484.3176l185.43307 -378.26773l185.43304 378.26773z" fill-rule="evenodd"/><path fill="#4a86e8" d="m188.13387 157.10236l85.79527 -157.10236l85.79526 157.10236z" fill-rule="evenodd"/><path stroke="#4a86e8" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m188.13387 157.10236l85.79527 -157.10236l85.79526 157.10236z" fill-rule="evenodd"/><path fill="#434343" d="m140.82152 222.77165l35.20926 -65.6693l194.84135 0l35.20923 65.6693z" fill-rule="evenodd"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
247
index.html
@@ -1,92 +1,193 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Everest Linux - Home</title>
|
<title>Everest Linux - Home</title>
|
||||||
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
|
<link type="text/css" rel="stylesheet" href="css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="img/favicon.svg"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<div class="sidenav">
|
<div class="sidenav">
|
||||||
|
<img src="img/everest-nord.svg" alt="everest-logo">
|
||||||
<a href="index.html">Home</a>
|
<a href="index.html">Home</a>
|
||||||
<a href="about.html">About</a>
|
<a href="about.html">About</a>
|
||||||
<a href="install.html">Install</a>
|
<a href="install.html">Install</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
|
<a href="packages.html">Packages</a>
|
||||||
<a href="download.html">Downloads</a>
|
<a href="download.html">Downloads</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
|
<a href="docs/home.html">Docs</a>
|
||||||
<a href="https://git.everestlinux.org">Git</a>
|
<a href="errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Rest of page -->
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>Home</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<h2>Everest Linux</h2>
|
<h2>Everest Linux</h2>
|
||||||
<p>A highly flexible, general purpose meta-distribution,</p>
|
<p>A highly flexible, general purpose meta-distribution, built off of the monolithic Linux kernel and Glacier package manager.</p>
|
||||||
<p>built off of the monolithic Linux kernel and Glacier</p>
|
<h2>Advantages of Everest</h2>
|
||||||
<p>package manager.</p>
|
<strong>Simple: </strong><p>Everest strives to be simple by design, coming with no pre-installed bloatware or spyware. Everest follows the UNIX philosophy whenever possible, and tries to avoid including large programs in its base system.</p>
|
||||||
<h2>Why Everest?</h2>
|
<strong>Stable: </strong><p>Everest is designed to be as stable as possible. All base system programs are statically linked, and can be updated with git-controlled root filesystems.</p>
|
||||||
<strong>Simple: </strong><p>Everest strives to be simple by design,</p>
|
<strong>Fast: </strong><p>Glacier downloads program source code and compiles it locally on your system. The end result is an extremely fast and optimized package. Simply define CFLAGS, CXXFLAGS, and MAKEFLAGS, and you're ready to go.</p>
|
||||||
<p>coming with no pre-installed bloatware or spyware.</p>
|
<strong>Lightweight: </strong><p>Everest uses Busybox for its userland tools and init system, and musl for its standard C library. All of these tools are designed to be as lightweight as possible.</p>
|
||||||
<p>Everest follows the UNIX philosophy whenever possible,</p>
|
<strong>Flexible: </strong><p>Everest supports highly customized installations. Want to replace Busybox init with systemd, openrc, runit, dinit, or s6? Or replace musl with uClibc or Glibc? All of these are possible, and encouraged.</p>
|
||||||
<p>and tries to avoid including large programs in its base system.</p>
|
<h2>Try Everest</h2>
|
||||||
<strong>Stable: </strong><p>Everest is designed to be as stable</p>
|
<button onclick="window.location.href='install.html';">
|
||||||
<p>as possible. All base system programs are statically linked,</p>
|
Installation Guide
|
||||||
<p>and can be updated with git-controlled root filesystems.</p>
|
</button>
|
||||||
<strong>Fast: </strong><p>Glacier downloads program source</p>
|
|
||||||
<p>code and compiles it locally on your system. The end result</p>
|
|
||||||
<p>is an extremely fast and optimized package. Simply define</p>
|
|
||||||
<p>CFLAGS, CXXFLAGS, and MAKEFLAGS, and you're ready to go.</p>
|
|
||||||
<strong>Lightweight: </strong><p>Everest uses Busybox for its userland</p>
|
|
||||||
<p>tools and init system, and musl for its standard C library.</p>
|
|
||||||
<p>All of these tools are designed to be as lightweight as possible.</p>
|
|
||||||
<strong>Flexible: </strong><p>Everest supports highly customized</p>
|
|
||||||
<p>installations. Want to replace Busybox init with systemd, openrc, runit,</p>
|
|
||||||
<p>dinit, or s6? Or replace musl with uClibc or Glibc? All of these are</p>
|
|
||||||
<p>possible, and encouraged.</p>
|
|
||||||
<h2>Ready to try Everest?</h2>
|
|
||||||
<p><a href="install.html">Read the installation guide here.</a></p>
|
|
||||||
<h2>News</h2>
|
<h2>News</h2>
|
||||||
<p>2/1/23 - Manual intervention required for /etc/glacier.conf</p>
|
<newshead><strong>10/3/24 - libglacier v4.0.0rc out now</strong></newshead>
|
||||||
<p>With the new Glacier update, changes were made to the download backend.</p>
|
<div class="news">
|
||||||
<p>Please ensure your current configuration is overwritten while updating.</p>
|
<p>After 8 months of development, libglacier has been released as v4.0.0rc.</p>
|
||||||
<p>----------------------------------------</p>
|
<p>While this is technically an unstable development release, it has been tested vigorously and is only labeled as unstable due to the absence of configuration file parsing, which will be added in the next release.</p>
|
||||||
<p>1/26/23 - Website overhaul</p>
|
<p>This release means that progress on Glacier's frontend programs can finally progress.</p>
|
||||||
<p>The Everest website has been completely overhauled with a</p>
|
|
||||||
<p>cleaner, sleeker look.</p>
|
|
||||||
<p>----------------------------------------</p>
|
|
||||||
<p>1/26/23 - System image builds nearly complete</p>
|
|
||||||
<p>A system image is coming together. This includes the toolchain</p>
|
|
||||||
<p>We are still ironing out issues with Busybox's wget implementation,</p>
|
|
||||||
<p>which fails to support https.</p>
|
|
||||||
<p>----------------------------------------</p>
|
|
||||||
<p>11/1/22 - System image builds have begun</p>
|
|
||||||
<p>Today, the team has begun compiling system images.</p>
|
|
||||||
<p>All programs have compiled correctly, with the exception</p>
|
|
||||||
<p>of the system toolchain. This is a very important component,</p>
|
|
||||||
<p>and the system cannot function without it.</p>
|
|
||||||
<p>----------------------------------------</p>
|
|
||||||
<p>10/25/22 - Glacier v3 is released</p>
|
|
||||||
<p>After nearly 2 months of hard work, Glacier v3 is finally out.</p>
|
|
||||||
<p>This release includes many stability improvements,</p>
|
|
||||||
<p>changes to the codebase to improve readability, and a new</p>
|
|
||||||
<p>build system.</p>
|
|
||||||
<p>----------------------------------------</p>
|
|
||||||
<p>10/7/22 - Glacier v3 enters testing</p>
|
|
||||||
<p>Glacier v3 is now available for testing. Please note that</p>
|
|
||||||
<p>this release is not stable and therefore should not be run</p>
|
|
||||||
<p>on a production machine.</p>
|
|
||||||
<p>----------------------------------------</p>
|
|
||||||
<p>8/31/22 - Announcing Glacier v3</p>
|
|
||||||
<p>Glacier v2, which was release back in June, functions great,</p>
|
|
||||||
<p>however does not function like a typical package manager would.</p>
|
|
||||||
<p>Additionally, adding functionality is very difficult as the codebase</p>
|
|
||||||
<p>is very complex and messy. Glacier v3 aims to fix these issues.</p>
|
|
||||||
<p>----------------------------------------</p>
|
|
||||||
<p>6/21/22 - Registering everestlinux.org</p>
|
|
||||||
<p>Everest now owns a domain. This allows us to host our own website,</p>
|
|
||||||
<p>rather than using GitHub (which is owned by Microsoft). This gives</p>
|
|
||||||
<p>us more control over our work.</p>
|
|
||||||
<p>----------------------------------------</p>
|
|
||||||
<p>5/31/22 - Glacier v2 is released</p>
|
|
||||||
<p>Glacier v2 has been released. This version provides several improvements</p>
|
|
||||||
<p>to the codebase, such as compressing everything to a single executable,</p>
|
|
||||||
<p>and removing the whole "enter package name" scheme.</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>7/12/24 - Registration closed for git.everestlinux.org</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Due to an influx of spam on our Git server, new account registration has been closed.</p>
|
||||||
|
<p>If, for any reason, you require an account, please email me at liamwaldron@everestlinux.org so I can set one up for you.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>4/4/24 - All new releases on hold indefinitely</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>While work has been done on releasing Everest and Glacier, these releases are on hold indefinitely.</p>
|
||||||
|
<p>I have decided to rewrite Glacier in C, which has added a significant amount of time needed for the release. This will ultimately be a good decision, since the rewritten Glacier will be much more portable than the Bash version.</p>
|
||||||
|
<p>Additionally, I have recently committed to Assumption University to study cybersecurity. Hopefully I will be able to integrate this project into my studies if possible.</p>
|
||||||
|
<p>Ultimately, this is a hobby project. I do not anticipate it to ever become big (or at least as big as some other distros), however if you are interested in helping out, shoot me a message at liamwaldron@everestlinux.org.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>12/20/23 - Everest v1.0.0 and Glacier v4.0.0 put on hold</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Unfortunately, the releases scheduled for January 1st are being put on hold.</p>
|
||||||
|
<p>The past few months have been very busy in terms of college stuff. Thankfully, I have been accepted into multiple schools and have a good idea of where I'm going.</p>
|
||||||
|
<p>Since this stuff is clearing up, I now have more time to work on releasing Everest and Glacier. Most importantly, I now have a testbed to run everything on.</p>
|
||||||
|
<p>The new target release date is March 1st, 2024.</p>
|
||||||
|
<p>Once again, thank you for your continued support of this project.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>9/29/23 - Big news at Everest</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Many things have been happening at Everest in the past few months.</p>
|
||||||
|
<p>Glacier v4 is almost complete, and is due for a release sometime before 2024.</p>
|
||||||
|
<p>Everest v1.0 is nearing its completion as well, and should be released before 2024.</p>
|
||||||
|
<p>We do not expect these dates to change, but if we need to polish things up more, we'll take that opportunity.</p>
|
||||||
|
<p>Finally, all Everest websites have transitioned to the nord colorscheme. We may bring back the k2 colorscheme at a later date.</p>
|
||||||
|
<p>Thank you for your continued support everyone!</p>
|
||||||
|
<p>-The Everest Team</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>6/8/23 - New Everest logo</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>The Everest logo has been slightly redesigned. This includes a darker color palette.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>4/25/23 - Announcing Glacier v4</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Glacier v4 is another complete overhaul of Glacier. This new release includes dependency resolution, multiple downloads, and a new, concise package format.</p>
|
||||||
|
<p>Since Glacier v4 uses a completely different package format, it is thus <strong>incompatible</strong> with all previous releases.</p>
|
||||||
|
<p>No time estimate has been given for this release.</p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>Glacier v4 is highly unstable and experimental. Use at your own risk.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>2/1/23 - Manual intervention required for /etc/glacier.conf</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>With the new Glacier update, changes were made to the download backend. Please ensure your current configuration is overwritten while updating.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>1/26/23 - Website overhaul</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>The Everest website has been completely overhauled with a cleaner, sleeker look.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>1/26/23 - System image builds nearly complete</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>A system image is coming together. This includes the toolchain We are still ironing out issues with Busybox's wget implementation, which fails to support https.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>11/1/22 - System image builds have begun</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Today, the team has begun compiling system images. All programs have compiled correctly, with the exception of the system toolchain. This is a very important component, and the system cannot function without it.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>10/25/22 - Glacier v3 is released</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>After nearly 2 months of hard work, Glacier v3 is finally out. This release includes many stability improvements, changes to the codebase to improve readability, and a new build system.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>10/7/22 - Glacier v3 enters testing</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Glacier v3 is now available for testing. Please note that this release is not stable and therefore should not be run on a production machine.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>8/31/22 - Announcing Glacier v3</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Glacier v2, which was release back in June, functions great, however does not function like a typical package manager would.</p>
|
||||||
|
<p>Additionally, adding functionality is very difficult as the codebase is very complex and messy. Glacier v3 aims to fix these issues.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>6/21/22 - Registering everestlinux.org</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Everest now owns a domain. This allows us to host our own website, rather than using GitHub (which is owned by Microsoft). This gives us more control over our work.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>5/31/22 - Glacier v2 is released</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Glacier v2 has been released. This version provides several improvements to the codebase, such as condensing everything to a single executable.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>4/20/22 - Glacier v1 is released</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Glacier has released a stable point in its development.</p>
|
||||||
|
<p>In addition, color and unicode support has been added.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>4/5/22 - Glacier v0.6rc</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>The package format has been updated to include timestamping capabilities.</p>
|
||||||
|
<p>These timestamps will be queried along with a package.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>3/28/22 - Glacier v0.5rc</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Added a proper cleanup operation after a transaction finishes.</p>
|
||||||
|
<p>Additionally, caching support has been added.</p>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<p></p>
|
||||||
|
<newshead><strong>3/10/22 - Glacier v0.2rc</strong></newshead>
|
||||||
|
<div class="news">
|
||||||
|
<p>Added proper error handling.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
|
|||||||
491
install.html
@@ -1,186 +1,371 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Everest Linux - Install</title>
|
<title>Everest Linux - Install</title>
|
||||||
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
|
<link type="text/css" rel="stylesheet" href="css/nord.css"/>
|
||||||
|
<link rel="icon" type="image/x-icon" href="img/favicon.svg"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<div class="sidenav">
|
<div class="sidenav">
|
||||||
|
<img src="img/everest-nord.svg" alt="everest-logo">
|
||||||
<a href="index.html">Home</a>
|
<a href="index.html">Home</a>
|
||||||
<a href="about.html">About</a>
|
<a href="about.html">About</a>
|
||||||
<a href="install.html">Install</a>
|
<a href="install.html">Install</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
|
<a href="packages.html">Packages</a>
|
||||||
<a href="download.html">Downloads</a>
|
<a href="download.html">Downloads</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
|
<a href="docs/home.html">Docs</a>
|
||||||
<a href="https://git.everestlinux.org">Git</a>
|
<a href="errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Rest of page -->
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>Install</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<h2>Installation Handbook</h2>
|
<h2>Installation Handbook</h2>
|
||||||
<p>This is the official installation guide for Everest Linux.</p>
|
<p>This guide is the official installation handbook for Everest Linux.</p>
|
||||||
<p>Using unofficial guides is not recommended as they may be</p>
|
<warnhead><strong>PRELIMINARY WARNINGS:</strong></warnhead>
|
||||||
<p>out of date.</p>
|
<div class="warning">
|
||||||
<p>Simply following this guide blindly is a great way to end up</p>
|
<p><strong>WARNING 1:</strong> Using unofficial guides is not recommended, as they may be outdated, or unreliable. The official guide is located at https://www.everestlinux.org/install.</p>
|
||||||
<p>with a broken installation. Ensure you have a rough idea of</p>
|
<p><strong>WARNING 2:</strong> Simply copy and pasting commands from this guide won't cut it, and you'll likely end up with a broken installation. Ensure you know what each command does, and how to tailor it to your system, if necessary.</p>
|
||||||
<p>what each command does.</p>
|
<p><strong>WARNING 3:</strong> Everest is not for the faint of heart. There is absolutely no hand holding provided, you are on your own. If you have never touched Linux in your life, Everest is most certainly not for you. There are many distributions which provide a much better user experience for those new to Linux, we personally recommend Linux Mint.</p>
|
||||||
<p>If you need assistance, reach out on IRC (#everestlinux) or Discord.</p>
|
<p><strong>WARNING 4:</strong> Everest in its current state is highly experimental. Install at your own risk.</p>
|
||||||
|
</div>
|
||||||
|
<p>If you need assistance, reach out to us on IRC (libera.chat, #everestlinux) or Discord.</p>
|
||||||
<h2>Prerequisites</h2>
|
<h2>Prerequisites</h2>
|
||||||
<p>The following steps will be used to complete the installation:</p>
|
<p>The following steps are required to complete an installation:</p>
|
||||||
<p> - Set up the environment</p>
|
<ol>
|
||||||
<p> - Download the Everest Linux system image</p>
|
<li>Set up the build environment</li>
|
||||||
<p> - Unpack the system image</p>
|
<li>Download a system image</li>
|
||||||
<p> - Chroot into the new system</p>
|
<li>Unpack the system image</li>
|
||||||
<p> - Install desired programs</p>
|
<li>Change root into the new system</li>
|
||||||
<p> - Install the Linux kernel
|
<li>Set up the Glacier system profile and package index</li>
|
||||||
<p> - Set up init scripts/services</p>
|
<li>Install programs</li>
|
||||||
<p> - Reboot the system</p>
|
<li>Install the Linux kernel</li>
|
||||||
<i>Note: Everest is highly flexible.</i>
|
<li>Set up init scripts and services</li>
|
||||||
<i>If you are changing anything in this guide, it is assumed</i>
|
<li>Install the bootloader</li>
|
||||||
<i>you know exactly what to do.</i>
|
<li>Reboot the system</li>
|
||||||
<p>Run <code>(user)$</code> commands as an unprivileged user.</p>
|
</ol>
|
||||||
<p>Run <code>(root)#</code> commands as the root user.</p>
|
<i>Note that Everest is highly flexible. That being said, it is up to you to make modifications yourself.</i>
|
||||||
<p>Run <code>(chroot)#</code> commands inside the chroot environment.</p>
|
<p>Run commands prefixed with <code>(user)$</code> as an unprivileged user.</p>
|
||||||
|
<p>Run commands prefixed with <code>(root)#</code> as the root user.</p>
|
||||||
|
<p>Run commands prefixed with <code>(chroot)#</code> inside the chroot environment.</p>
|
||||||
<h2>Set up the environment</h2>
|
<h2>Set up the environment</h2>
|
||||||
<p>Our environment needs to be set up correctly for the installation.</p>
|
<p>On the host system being used to install Everest, a properly set up environment containing certain programs and directories must be set up to ensure the installation can take place. This section will go into detail on how to set up this environment.</p>
|
||||||
<p>Create the system mountpoint:</p>
|
<p>A system mountpoint is where the new system's root (<cil>/</cil>) will be. Where you put this doesn't matter, as the host system used to build the system won't be included in the final installation. In this example, we will use <cil>/mnt/everest</cil>.</p>
|
||||||
|
<p>Create a system mountpoint:</p>
|
||||||
<code>(root)# mkdir -pv /mnt/everest</code>
|
<code>(root)# mkdir -pv /mnt/everest</code>
|
||||||
<p>Although it may not be used, assign the system mountpoint a variable:</p>
|
<p>A variable pointing to the system mountpoint may be useful in the future, as it will save you a bit of typing.</p>
|
||||||
<code>(root)# export SYS_MNT=/mnt/everest</code>
|
<p>Create a variable for the system mountpoint:</p>
|
||||||
<p>Partition your drive:</p>
|
<code>(root)# SYS_MNT=/mnt/everest</code>
|
||||||
|
<p>Partitions must be created on the drive you wish to install Everest to. The typical partition layout on an Everest system may differ from other distributions.</p>
|
||||||
|
<p>The typical layout is:</p>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Mount point</th>
|
||||||
|
<th>Type</th>
|
||||||
|
<th>Suggested size</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>/mnt/everest/boot</td>
|
||||||
|
<td>EFI system partition (esp)</td>
|
||||||
|
<td>No smaller than 256 MB, no larger than 1 GB (minimum 1 GB if installing multiple kernels)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>/mnt/everest/usr</td>
|
||||||
|
<td>User partition</td>
|
||||||
|
<td>No smaller than 25 GB, recommended size varies.</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>/mnt/everest/home</td>
|
||||||
|
<td>Home partition</td>
|
||||||
|
<td>It depends</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>/mnt/everest</td>
|
||||||
|
<td>Root filesystem</td>
|
||||||
|
<td>Remainder of the drive</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p>Partition the target drive:</p>
|
||||||
<code>(root)# cfdisk /dev/sdX</code>
|
<code>(root)# cfdisk /dev/sdX</code>
|
||||||
|
<p>A valid filesystem is required on the drive.</p>
|
||||||
|
<p>Most filesystems should work, however ensure the system has the corresponding package for whatever filesystem you choose.</p>
|
||||||
|
<p>For example, if XFS is used, when installing the system:</p>
|
||||||
|
<code>(chroot)# gpkg -f xfsprogs</code>
|
||||||
|
<p></p>
|
||||||
|
<cautionhead><strong>CAUTION:</strong></cautionhead>
|
||||||
|
<div class="caution">
|
||||||
|
<p>Zfs is not officially supported by Everest, and requires a lot of configuration to work properly. Use Zfs at your own risk.</p>
|
||||||
|
<p>This stance may change at a later date, however currently there is no official Everest documentation for setting up Zfs.</p>
|
||||||
|
</div>
|
||||||
|
<p>In this example, Ext4 will be used.</p>
|
||||||
|
<p>Create a filesystem:</p>
|
||||||
|
<code>(root)# mkfs.ext4 /dev/root</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# mkfs.ext4 /dev/usr</code>
|
||||||
|
<p>The EFI system partition (esp) must be formatted as FAT32.</p>
|
||||||
|
<code>(root)# mkfs.vfat -F32 /dev/boot</code>
|
||||||
<p>Mount the root partition to the system mountpoint:</p>
|
<p>Mount the root partition to the system mountpoint:</p>
|
||||||
<code>(root)# mount /dev/sdX /mnt/everest</code>
|
<code>(root)# mount /dev/root /mnt/everest</code>
|
||||||
<p>If needed, create the boot directory:</p>
|
<p>Some additional directories may need to be created.</p>
|
||||||
<code>(root)# mkdir -pv /mnt/everest/boot</code>
|
<p>Create extra needed directories:</p>
|
||||||
<p>Mount the boot partition:</p>
|
<code>(root)# mkdir /mnt/everest/boot</code>
|
||||||
<code>(root)# mount /dev/sdX /mnt/everest/boot</code>
|
<p></p>
|
||||||
<h2>Downloading the Everest system image</h2>
|
<code>(root)# mkdir /mnt/everest/usr</code>
|
||||||
<p>An Everest system image is an incomplete root filesystem, which</p>
|
<p>Mount the remaining partitions:</p>
|
||||||
<p>provides a strong base to build off of</p>
|
<code>(root)# mount /dev/boot /mnt/everest/boot</code>
|
||||||
<p>Not all system images are the same. Some differences are:</p>
|
<p></p>
|
||||||
<p> - The init system</p>
|
<code>(root)# mount /dev/usr /mnt/everest/usr</code>
|
||||||
<p> - The standard C library</p>
|
<p>Create remaining directories on /usr with mkusrskel:</p>
|
||||||
<p> - The architecture</p>
|
<code>(root)# mkusrskel -d /mnt/everest/usr</code>
|
||||||
<p> - SELinux support</p>
|
<h2>Downloading a system image</h2>
|
||||||
<p> - Multilib support</p>
|
<p>An Everest system image provides an incomplete root filesystem which users can build a system off of. This includes system programs, libraries, Glacier, among others. Users should be careful of which image they choose, as switching in the future is arduous, time consuming, and requires rebuilding a lot of packages.</p>
|
||||||
<p>Ensure you download the image you want. Migrating in the future</p>
|
<p>It's a lot better to get it right the first time, rather than trying to get it right later.</p>
|
||||||
<p>is not officially supported or even recommended.</p>
|
<p>Do some thorough planning to ensure you get the right system image. For instance, ask yourself a few questions, such as:</p>
|
||||||
<p>Download an image with <code>wget</code>:</p>
|
<ol>
|
||||||
<code>(user)$ wget SYSTEM_IMAGE_LINK</code>
|
<li>Do I need 32 bit libraries?</li>
|
||||||
|
<li>Will I be using proprietary software that cannot be recompiled?</li>
|
||||||
|
<li>Do I require a specific C library for my hardware setup?</li>
|
||||||
|
<li>Do I want to set up NSA Security Enhanced Linux (SELinux)</li>
|
||||||
|
<li>Do I want an init system other than Busybox's built in init configured out of the box?</li>
|
||||||
|
</ol>
|
||||||
|
<notehead><strong>NOTE:</strong></notehead>
|
||||||
|
<div class="note">
|
||||||
|
<p>Make sure you're happy with the system image you choose. While migrating in the future is possible, it requires rebuilding the majority of the system, takes a substantial amount of time, and may present other issues.</p>
|
||||||
|
</div>
|
||||||
|
<p></p>
|
||||||
|
<warnhead><strong>WARNING:</strong></warnhead>
|
||||||
|
<div class="warning">
|
||||||
|
<p>As a beginner, under NO CIRCUMSTANCES should you use a system image omitting 32 bit libraries unless it is ABSOLUTELY NECESSARY.</p>
|
||||||
|
</div>
|
||||||
|
<p>Downloading a system image that is severely out of date is not recommended. Many programs, such as the kernel or SSL library will be vulnerable to attacks.</p>
|
||||||
|
<p>Download a system image with wget:</p>
|
||||||
|
<code>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/SYSTEM_IMAGE.tar.xz</code>
|
||||||
<h2>Unpacking the system image</h2>
|
<h2>Unpacking the system image</h2>
|
||||||
<p>The system image can now be unpacked.</p>
|
<p>Now that a system image has been downloaded, we can unpack it.</p>
|
||||||
<p>Ensure the system image is located under the system mountpoint.</p>
|
<p>Ensure the system image is inside the system mountpoint, otherwise you may run into trouble.</p>
|
||||||
<p>Note that a simple <code>tar -xvf</code> will cause errors with</p>
|
<p>Since a Linux root filesystem is complex, and many different files need to be owned by certain users, or have certain permissions, simply running <cil>tar xf</cil> will result in a broken image, as the proper permissions are not carried over. A couple extra flags are needed to preserve these permissions in the unpacked image.</p>
|
||||||
<p>permissions. Therefore, a few extra flags are needed.</p>
|
|
||||||
<p>Unpack the system image:</p>
|
<p>Unpack the system image:</p>
|
||||||
<code>(root)# tar -xpvf SYSTEM_IMAGE --xattrs-include='*.*' --numeric-owner</code>
|
<code>(root)# tar -xpvf SYSTEM_IMAGE --xattrs-include='*.*' --numeric-owner</code>
|
||||||
<p>This will ensure all file ownership is compliant.</p>
|
<p>If this command was run correctly, you shouldn't need to edit any permissions manually.</p>
|
||||||
<h2>Chrooting into the new installation</h2>
|
<p>In case permissions were changed, you can use the <cil>prep</cil> command from <cil>everest-build-tools</cil>.</p>
|
||||||
<p>The system is in a partially working state.</p>
|
<cautionhead><strong>CAUTION:</strong></cautionhead>
|
||||||
<p>If we were to call it a day and reboot now, it wouldn't be possible.</p>
|
<div class="caution">
|
||||||
<p>Many critical parts of the system are missing, including the</p>
|
<p>Caution should be exercised when running <cil-inv>prep</cil-inv> as it can mess with permissions already existing on the system.</p>
|
||||||
<p>bootloader and kernel. Chrooting allows us to make modifications</p>
|
</div>
|
||||||
<p>to the target system, without actually booting into it.</p>
|
<h2>Chrooting into the system mountpoint</h2>
|
||||||
<p>Before chrooting, additional filesystems must be mounted.</p>
|
<p>Although we have a relatively complete root filesystem at this point, many essential programs are still missing. These include the kernel and bootloader. Without these, the system is unable to boot. At this point, we must chroot into the new system. This will allow us to complete the system's build process without booting into it.</p>
|
||||||
<p>Mount these filesystems:</p>
|
<p>Chroot into the new system:</p>
|
||||||
<code>(root)# mount --types proc /proc /mnt/everest/proc</code>
|
<code>(root)# everest-chroot /mnt/everest</code>
|
||||||
<p></p>
|
<p>Change the shell prompt to differentiate the two environments:</p>
|
||||||
<code>(root)# mount --rbind /sys /mnt/everest/sys</code>
|
<code>(chroot)# echo "export PS1='(chroot) ${PS1}'" >> /etc/profile && source /etc/profile</code>
|
||||||
<p></p>
|
<h2>Install packages</h2>
|
||||||
<code>(root)# mount --make-rslave /mnt/everest/sys</code>
|
<p>Any programs you wish to install, such as display servers, login managers, and desktop environments, should be installed now. The kernel can take multiple hours to compile on some hardware.</p>
|
||||||
<p></p>
|
<p>Glacier manages packages on the system, and it allows users to install, or 'merge' their own. It is recommended to get familiar with this system.</p>
|
||||||
<code>(root)# mount --rbind /dev/ /mnt/everest/dev</code>
|
<wikihead><strong>WIKI</strong>: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/Introduction-to-Glacier">Introduction to Glacier</a></wikihead>
|
||||||
<p></p>
|
<p>Glacier may not function correctly if the package database has not been downloaded. If <cil>gpkg</cil> outputs the following error: <cil>[x] Local package database does not exist.</cil>, run:</p>
|
||||||
<code>(root)# mount --make-rslave /mnt/everest/dev</code>
|
<p><code>(chroot)# glacier-update-pkgdb</code></p>
|
||||||
<p></p>
|
|
||||||
<code>(root)# mount --bind /run /mnt/everest/run</code>
|
|
||||||
<p></p>
|
|
||||||
<code>(root)# mount --make-slave /mnt/everest/run</code>
|
|
||||||
<p>Chroot into the system:</p>
|
|
||||||
<code>(root)# chroot --userspec=0:0 /mnt/everest /bin/sh</code>
|
|
||||||
<p>Change the shell prompt to avoid confusion:</p>
|
|
||||||
<code>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</code>
|
|
||||||
<h2>Install programs</h2>
|
|
||||||
<p>Any programs you wish to install should be installed now.</p>
|
|
||||||
<p>This is because the Linux kernel takes multiple hours to compile.</p>
|
|
||||||
<p>See <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a> for ideas. Note that some</p>
|
|
||||||
<p>programs assume the system is installed, so use caution.</p>
|
|
||||||
<h2>Install the Linux kernel</h2>
|
<h2>Install the Linux kernel</h2>
|
||||||
<p>The most important part of the system, the kernel, is ready to be installed.</p>
|
<p>The most important part of the system, the kernel, which allows hardware to communicate with software, is ready to be installed.</p>
|
||||||
<p>Install the linux-firmware package, which provides device firmware:</p>
|
<p>If needed, merge the linux-firmware package, which provides device firmware:</p>
|
||||||
<code>(chroot)# glacier -f linux-firmware</code>
|
<code>(chroot)# gpkg -f linux-firmware</code>
|
||||||
|
<p>At this stage, you can decide which kernel you want to install. In Everest's package repository, many prebuilt kernels are available, as well as the source code, should you wish to compile your own.</p>
|
||||||
|
<p><strong>Option 1: Custom kernel</strong></p>
|
||||||
|
<p>Compiling a custom kernel is the recommended option for most users, as it allows the most control over what exactly is installed on your system.</p>
|
||||||
<p>Download the kernel's source tree:</p>
|
<p>Download the kernel's source tree:</p>
|
||||||
<code>(chroot)# glacier -f linux</code>
|
<code>(chroot)# gpkg -f linux</code>
|
||||||
<p>Change directory to the kernel's source tree:</p>
|
<p>The source tree will be located under /usr/src/linux.</p>
|
||||||
<code>(chroot)# cd /usr/src/linux</code>
|
<p>Inside /usr/src/linux, ensure the source tree is completely clean by running the following:</p>
|
||||||
<p>Ensure the kernel source tree is clean:</p>
|
|
||||||
<code>(chroot)# make mrproper</code>
|
<code>(chroot)# make mrproper</code>
|
||||||
|
<p>The kernel must be configured before it is compiled.</p>
|
||||||
|
<p> Users installing systemd should enable IPv6 in the kernel configuration:</p>
|
||||||
|
<khead><strong>KERNEL: </strong> Enbable support for IPv6</khead>
|
||||||
|
<div class="kernel">
|
||||||
|
<p>Networking support ---></p>
|
||||||
|
<p> Networking options ---></p>
|
||||||
|
<p> <*> The IPv6 protocol [CONFIG_IPV6]</p>
|
||||||
|
</div>
|
||||||
|
<p> Recommended options are not provided - it is up to you to configure the kernel for your setup.</p>
|
||||||
<p>Configure the kernel:</p>
|
<p>Configure the kernel:</p>
|
||||||
<code>(chroot)# ARCH="your-arch-here" make defconfig && make menuconfig</code>
|
<code>(chroot)# export EVEREST_ARCH="$(echo $MACHTYPE)"</code>
|
||||||
<p>Compile the kernel:</p>
|
<p></p>
|
||||||
<code>(chroot)# make && make modules_install</code>
|
<code>(chroot)# ARCH=$EVEREST_ARCH make defconfig</code>
|
||||||
<p>Install the kernel:</p>
|
<p></p>
|
||||||
<code>(chroot)# make install</code>
|
<code>(chroot)# ARCH=$EVEREST_ARCH make menuconfig</code>
|
||||||
<p>On some systems, an initial RAM filesystem (initramfs)</p>
|
<p>Once the kernel is configured, compile it:</p>
|
||||||
<p>may be needed to ensure proper booting.</p>
|
<code>(chroot)# make && make modules install</code>
|
||||||
<p>If you want an initramfs, install dracut:</p>
|
<p><strong>Option 2: Distribution kernel</strong></p>
|
||||||
<code>(chroot)# glacier -f dracut</code>
|
<p>For those who do not wish to configure a custom kernel, or likewise do not have the time or system resources to do so, a distribution kernel provides a binary kernel. However, there are a couple of pitfalls to this option:</p>
|
||||||
|
<ol>
|
||||||
|
<li>Distribution kernels are not fine tuned to your system, they are generic and bloated</li>
|
||||||
|
<li>Distribution kernels are managed by their respective development teams, who must be relied upon for fixes</li>
|
||||||
|
<li>Distribution kernels deprive the user of the experience gained by configuring and compiling a custom kernel</li>
|
||||||
|
</ol>
|
||||||
|
<p>Everest offers many distribution kernels, some notable ones include:</p>
|
||||||
|
<ol>
|
||||||
|
<li>linux-everest</li>
|
||||||
|
<li>linux-zen</li>
|
||||||
|
<li>linux-hardened</li>
|
||||||
|
</ol>
|
||||||
|
<p>Install a distribution kernel:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/linux-{everest,zen,hardened}</code>
|
||||||
|
<h2>Build an initramfs</h2>
|
||||||
|
<p>Depending on your system, an initramfs may be required. For example, users of distribution kernels will ALWAYS need to build an initramfs, while those who configured and compiled their own will usually not need one.</p>
|
||||||
|
<p>To build an initramfs, you will need dracut. Install dracut:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/dracut</code>
|
||||||
<p>Build an initramfs:</p>
|
<p>Build an initramfs:</p>
|
||||||
<code>(chroot)# dracut</code>
|
<code>(chroot)# dracut</code>
|
||||||
<h2>Configure the system</h2>
|
<h2>Configure the system</h2>
|
||||||
<p>Some components of the system mus be configured.</p>
|
<p>Now that the kernel is installed, various other parts of the system should be configured.</p>
|
||||||
<p>Create <code>/etc/fstab</code>.</p>
|
<p>Create /etc/fstab, which provides the system with information about mounted filesystems.</p>
|
||||||
<p>Enable system services, such as a cron daemon, logger, etc:</p>
|
<p>For example, on a system with a root, /usr, and boot partition, /etc/fstab will look like this:</p>
|
||||||
<code>(chroot)# /etc/init.d/{cronie,chronyd,sysklogd} start</code>
|
<fhead><strong>FILE:</strong> /etc/fstab</fhead>
|
||||||
<p></p>
|
<div class="file">
|
||||||
<code>(chroot)# systemctl enable --now cronie chronyd sysklogd</code>
|
<p>/dev/sda1 / ext4 noatime 0 1</p>
|
||||||
<p>Set the timezone:</p>
|
<p>/dev/sda2 /usr ext4 noatime 0 1</p>
|
||||||
<code>(chroot)# ln -svf /usr/share/zoneinfo/Region/City /etc/localtime</code>
|
<p>/dev/sda3 /boot vfat defaults,noatime 0 2</p>
|
||||||
<p>Configure the locale:</p>
|
|
||||||
<code>(chroot)# echo "LANG=en_US.UTF-8" > /etc/locale.conf</code>
|
|
||||||
<p>Set the system hostname:</p>
|
|
||||||
<code>(chroot)# echo "my_hostname" > /etc/hostname</code>
|
|
||||||
<p>Other things you might want to configure are:</p>
|
|
||||||
<p> - /etc/doas.conf or /etc/sudoers</p>
|
|
||||||
<p> - /etc/inittab</p>
|
|
||||||
<h2>Configure the bootloader</h2>
|
|
||||||
<p>One more critical component is needed: the bootloader</p>
|
|
||||||
<p>While any bootloader can be installed, this guide recommends</p>
|
|
||||||
<p><code>systemd-boot</code> and <code>grub</code>.</p>
|
|
||||||
<p>For systemd-boot/gummiboot:</p>
|
|
||||||
<p>Install the standalone package for systemd-boot if systemd is not installed:</p>
|
|
||||||
<code>(chroot)# glacier -f gummiboot</code>
|
|
||||||
<p>Install the bootloader:</p>
|
|
||||||
<code>(chroot)# bootctl install</code>
|
|
||||||
<p>Edit <code>/boot/loader/loader.conf</code> to your liking.</p>
|
|
||||||
<p>Create a boot entry at <code>/boot/loader/entries/everest.conf</code>.</p>
|
|
||||||
<p>For GRUB:</p>
|
|
||||||
<p>Install the GRUB package that corresponds to your system:</p>
|
|
||||||
<code>(chroot)# glacier -f grub-bios</code>
|
|
||||||
<p></p>
|
|
||||||
<code>(chroot)# glacier -f grub-uefi</code>
|
|
||||||
<p>Install GRUB:</p>
|
|
||||||
<code>(chroot)# grub-install /dev/sdX # for BIOS</code>
|
|
||||||
<p></p>
|
|
||||||
<code>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # for UEFI</code>
|
|
||||||
<p>Create a GRUB configuration file:</p>
|
|
||||||
<code>(chroot)# grub-mkconfibg -o /boot/grub/grub.cfg</code>
|
|
||||||
<h2>Finishing the installation</h2>
|
|
||||||
<p>Every component of the system has been configured, and we can now</p>
|
|
||||||
<p>boot into it.</p>
|
|
||||||
<p>Exit the chroot environment:</p>
|
|
||||||
<code>(chroot)# exit</code>
|
|
||||||
<p>Unmount all partitions from the system mountpoint:</p>
|
|
||||||
<code>(root)# umount -R /mnt/everest</code>
|
|
||||||
<p>Power off the system:</p>
|
|
||||||
<code>(root)# poweroff</code>
|
|
||||||
<p>Ensure you remove the installation media or you</p>
|
|
||||||
<p>will not boot into the new system.</p>
|
|
||||||
<h2>Post installation</h2>
|
|
||||||
<p>A base Everest system is very minimal.</p>
|
|
||||||
<p>Most users will want to configure extra components, such as a window</p>
|
|
||||||
<p>manager, or sound. See: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a> for more info.</p>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<p>System services that some may find helpful, such as a cron daemon or logging daemon, should be set up now.</p>
|
||||||
|
<p>On systems using systemd:</p>
|
||||||
|
<code>(chroot)# systemctl enable cronie chronyd sysklogd</code>
|
||||||
|
<p>On systems without a service manager, all services under /etc/init.d will be initialied by rcS.</p>
|
||||||
|
<p>The system's timezone is read from /etc/localtime, which is a symlink.</p>
|
||||||
|
<p>In case timezone information is missing from /usr/share/zoneinfo, install it:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/tzdata</code>
|
||||||
|
<p>Create /etc/localtime:</p>
|
||||||
|
<code>(chroot)# ln -sv /usr/share/zoneinfo/<i>Region</i>/<i>City</i> /etc/localtime</code>
|
||||||
|
<p>The hostname assigns a name to the system. This can be changed at any time.</p>
|
||||||
|
<p>Set the hostname:</p>
|
||||||
|
<code>(chroot)# echo <i>hostname</i> > /etc/hostname</code>
|
||||||
|
<p>Or, on systemd:</p>
|
||||||
|
<code>(chroot)# hostnamectl hostname <i>hostname</i></code>
|
||||||
|
<p>A network connection is very important, and there are multiple ways to set one up.</p>
|
||||||
|
<cautionhead><strong>CAUTION:</strong></cautionhead>
|
||||||
|
<div class="caution">
|
||||||
|
<p>Ensure your network is fully set up before proceeding with any other steps. It's better to get it right the first time, rather than trying to fix it later.</p>
|
||||||
|
</div>
|
||||||
|
<p>First, ensure the desired network interface is not blocked by rfkill:</p>
|
||||||
|
<code>(chroot)# rfkill</code>
|
||||||
|
<p>If the network interface is blocked:</p>
|
||||||
|
<code>(chroot)# rfkill unblock <i>interface</i></code>
|
||||||
|
<p>The network can now be configured.</p>
|
||||||
|
<p><strong>Option 1: Busybox networking</strong></p>
|
||||||
|
<p>Busybox includes networking tools that can quickly configure the network.</p>
|
||||||
|
<p>On a busybox system, the network can be set up with one simple command:</p>
|
||||||
|
<code>(chroot)# ifup</code>
|
||||||
|
<p>rcS will also run this command at boot time.</p>
|
||||||
|
<p><strong>Option 2: dhcpcd and wpa_supplicant</strong></p>
|
||||||
|
<p>On systems without Busybox, dhcpcd can be used. This is another very simple solution.</p>
|
||||||
|
<p>Install dhcpcd:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/dhcpcd</code>
|
||||||
|
<p>Install wpa_supplicant:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/wpa_supplicant</code>
|
||||||
|
<p>rcS will start dhcpcd at boot time.</p>
|
||||||
|
<p><strong>Option 3: NetworkManager</strong></p>
|
||||||
|
<p>NetworkManager is recommended on systems using systemd as the init system.</p>
|
||||||
|
<p>NetworkManager should be fairly easy and straightforward to set up for most.</p>
|
||||||
|
<p>Install NetworkManager:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/networkmanager</code>
|
||||||
|
<p>Enable and start NetworkManager:</p>
|
||||||
|
<code>(chroot)# systemctl enable --now NetworkManager</code>
|
||||||
|
<p>The /etc/hosts file is used to resolve IP addresses not resolved by the DHCP server.</p>
|
||||||
|
<fhead><strong>FILE:</strong> /etc/hosts</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>127.0.0.1 localhost</p>
|
||||||
|
<p>::1 localhost</p>
|
||||||
|
<p>127.0.1.1 localdomain <i>hostname</i></p>
|
||||||
|
</div>
|
||||||
|
<p>The root password is extremely important, as it controls access to the root user, the most powerful user on the system.</p>
|
||||||
|
<p>Ensure your chosen root password is strong enough where it cannot be guessed easily.</p>
|
||||||
|
<p>Set the root password:</p>
|
||||||
|
<code>(chroot)# passwd</code>
|
||||||
|
<p>If remote access is desired on the system, install sshd:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/sshd</code>
|
||||||
|
<p>Using the root account for daily use is not recommended. Create an unprivileged user:</p>
|
||||||
|
<code>(chroot)# adduser USERNAME</code>
|
||||||
|
<p>A privilege elevation program is recommended for most users. The most popular choices are sudo and doas, with doas being recommended for most users.</p>
|
||||||
|
<p>Install doas:</p>
|
||||||
|
<code>(chroot)# gpkg -f world/doas</code>
|
||||||
|
<p>Create /etc/doas.conf:</p>
|
||||||
|
<fhead><strong>FILE:</strong> /etc/doas.conf</fhead>
|
||||||
|
<div class="file">
|
||||||
|
<p>permit USER as root</p>
|
||||||
|
</div>
|
||||||
|
<h2>Configure the bootloader</h2>
|
||||||
|
<p>Now that the system is correctly configured and the kernel is installed, the final step can proceed - installing the bootloader. Without a bootloader, the system will be unable to load the Linux kernel upon boot.</p>
|
||||||
|
<p>This guide only mentions GRUB, however note that other bootloaders are supported.</p>
|
||||||
|
<p>The GRUB package for certain system profiles compiles BIOS AND UEFI support. If you wish to remove UEFI support, you will have to manually patch the package file.</p>
|
||||||
|
<p>Unless you are using some obscure system profile, or simply want to make your system as small as possible, you definitely will not have to worry about this.</p>
|
||||||
|
<wikihead><strong>WIKI</strong>: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/Introduction-to-Glacier">Introduction to Glacier</a></wikihead>
|
||||||
|
<p>Merge <cil>grub</cil>:</p>
|
||||||
|
<code>(chroot)# gpkg -f grub</code>
|
||||||
|
<p>Install GRUB for BIOS:</p>
|
||||||
|
<code>(chroot)# grub-install /dev/sda</code>
|
||||||
|
<p>If configuring GRUB to boot with UEFI, a few extra things need to be configured.</p>
|
||||||
|
<p>The following kernel options need to be configured in order to support UEFI:</p>
|
||||||
|
<khead><strong>KERNEL:</strong> Enable UEFI support</khead>
|
||||||
|
<div class="kernel">
|
||||||
|
<p>Processor type and features ---></p>
|
||||||
|
<p> [*] EFI runtime service support</p>
|
||||||
|
<p></p>
|
||||||
|
<p>-*- Enable the block layer ---></p>
|
||||||
|
<p> Partition Types ---></p>
|
||||||
|
<p> [ /*] Advanced partition selection</p>
|
||||||
|
<p> [*] EFI GUID Partition support</p>
|
||||||
|
<p></p>
|
||||||
|
<p>Device Drivers ---></p>
|
||||||
|
<p> Firmware Drivers ---></p>
|
||||||
|
<p> [*] Mark VGA/VBE/EFI FB as generic system framebuffer</p>
|
||||||
|
<p> Graphics Support ---></p>
|
||||||
|
<p> <*> Direct Rendering Manager (Xfree86 4.1.0 and higher DRI support) ---></p>
|
||||||
|
<p> [*] Enable legacy fbdev support for your modsetting driver</p>
|
||||||
|
<p> <*> Simple framebuffer driver</p>
|
||||||
|
<p> Frame buffer Devices ---></p>
|
||||||
|
<p> <*> Support for frame buffer devices ---></p>
|
||||||
|
<p> Console display driver support ---></p>
|
||||||
|
<p> -*- Framebuffer Console support</p>
|
||||||
|
<p>File systems ---></p>
|
||||||
|
<p> DOS/FAT/EXFAT/NT Filesystems ---></p>
|
||||||
|
<p> <*/M> VFAT (Windows-95) fs support</p>
|
||||||
|
<p> Psuedo filesystems ---></p>
|
||||||
|
<p> <*/M> EFI Variable filesystem</p>
|
||||||
|
<p> -*- Native language support ---></p>
|
||||||
|
<p> <*/M> Codepage 437 (United States, Canada)</p>
|
||||||
|
<p> <*/M> NLS ISO 8859-1 (Latin 1; Western European Languages)</p>
|
||||||
|
</div>
|
||||||
|
<p>Install GRUB for UEFI:</p>
|
||||||
|
<code>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot</code>
|
||||||
|
<p>For GRUB to work correctly, a configuration file must be created. Create one now:</p>
|
||||||
|
<code>(chroot# grub-mkconfig -o /boot/grub/grub.cfg</code>
|
||||||
|
<h2>Exit chroot</h2>
|
||||||
|
<p>The system has been finished. If everything is done to your liking, you can now exit the chroot environment.</p>
|
||||||
|
<code>(chroot)# exit</code>
|
||||||
|
<p>Unmount all mounted partitions:</p>
|
||||||
|
<code>(root)# umount -l /mnt/everest/dev/{shm,pts}</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# umount -R /mnt/everest</code>
|
||||||
|
<p>Reboot the system:</p>
|
||||||
|
<code>(root)# reboot</code>
|
||||||
|
<p>Ensure the newly installed bootloader is first to boot, otherwise you will end up in your old system again. If you used a live USB to install Everest, make sure you remove it before rebooting.</p>
|
||||||
|
<h2>Conclusion</h2>
|
||||||
|
<p>If all went well, Everest should boot up with no problems.</p>
|
||||||
|
<p>Remove the system image from /:</p>
|
||||||
|
<code>(root)# rm /everestlinux-*.tar.*</code>
|
||||||
|
<p>With the installation out of the way, you now have a minimal Linux environment to play around in, and to build around.</p>
|
||||||
|
<p>Many things still need to be set up and configured.</p>
|
||||||
|
<wiki>See: <a href="docs/general-recommendations.html">General Recommendations</a></wiki>
|
||||||
|
<p></p>
|
||||||
|
<p>If you require assistance, reach out to the community on Discord (HJzJUwSmDf) or IRC (#everestlinux on libera.chat)</p>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
|
|||||||
186
install.html.old
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Everest Linux - Install</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="about.html">About</a>
|
||||||
|
<a href="install.html">Install</a>
|
||||||
|
<a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
|
||||||
|
<a href="download.html">Downloads</a>
|
||||||
|
<a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="main">
|
||||||
|
<h2>Installation Handbook</h2>
|
||||||
|
<p>This is the official installation guide for Everest Linux.</p>
|
||||||
|
<p>Using unofficial guides is not recommended as they may be</p>
|
||||||
|
<p>out of date.</p>
|
||||||
|
<p>Simply following this guide blindly is a great way to end up</p>
|
||||||
|
<p>with a broken installation. Ensure you have a rough idea of</p>
|
||||||
|
<p>what each command does.</p>
|
||||||
|
<p>If you need assistance, reach out on IRC (#everestlinux) or Discord.</p>
|
||||||
|
<h2>Prerequisites</h2>
|
||||||
|
<p>The following steps will be used to complete the installation:</p>
|
||||||
|
<p> - Set up the environment</p>
|
||||||
|
<p> - Download the Everest Linux system image</p>
|
||||||
|
<p> - Unpack the system image</p>
|
||||||
|
<p> - Chroot into the new system</p>
|
||||||
|
<p> - Install desired programs</p>
|
||||||
|
<p> - Install the Linux kernel
|
||||||
|
<p> - Set up init scripts/services</p>
|
||||||
|
<p> - Reboot the system</p>
|
||||||
|
<i>Note: Everest is highly flexible.</i>
|
||||||
|
<i>If you are changing anything in this guide, it is assumed</i>
|
||||||
|
<i>you know exactly what to do.</i>
|
||||||
|
<p>Run <code>(user)$</code> commands as an unprivileged user.</p>
|
||||||
|
<p>Run <code>(root)#</code> commands as the root user.</p>
|
||||||
|
<p>Run <code>(chroot)#</code> commands inside the chroot environment.</p>
|
||||||
|
<h2>Set up the environment</h2>
|
||||||
|
<p>Our environment needs to be set up correctly for the installation.</p>
|
||||||
|
<p>Create the system mountpoint:</p>
|
||||||
|
<code>(root)# mkdir -pv /mnt/everest</code>
|
||||||
|
<p>Although it may not be used, assign the system mountpoint a variable:</p>
|
||||||
|
<code>(root)# export SYS_MNT=/mnt/everest</code>
|
||||||
|
<p>Partition your drive:</p>
|
||||||
|
<code>(root)# cfdisk /dev/sdX</code>
|
||||||
|
<p>Mount the root partition to the system mountpoint:</p>
|
||||||
|
<code>(root)# mount /dev/sdX /mnt/everest</code>
|
||||||
|
<p>If needed, create the boot directory:</p>
|
||||||
|
<code>(root)# mkdir -pv /mnt/everest/boot</code>
|
||||||
|
<p>Mount the boot partition:</p>
|
||||||
|
<code>(root)# mount /dev/sdX /mnt/everest/boot</code>
|
||||||
|
<h2>Downloading the Everest system image</h2>
|
||||||
|
<p>An Everest system image is an incomplete root filesystem, which</p>
|
||||||
|
<p>provides a strong base to build off of</p>
|
||||||
|
<p>Not all system images are the same. Some differences are:</p>
|
||||||
|
<p> - The init system</p>
|
||||||
|
<p> - The standard C library</p>
|
||||||
|
<p> - The architecture</p>
|
||||||
|
<p> - SELinux support</p>
|
||||||
|
<p> - Multilib support</p>
|
||||||
|
<p>Ensure you download the image you want. Migrating in the future</p>
|
||||||
|
<p>is not officially supported or even recommended.</p>
|
||||||
|
<p>Download an image with <code>wget</code>:</p>
|
||||||
|
<code>(user)$ wget SYSTEM_IMAGE_LINK</code>
|
||||||
|
<h2>Unpacking the system image</h2>
|
||||||
|
<p>The system image can now be unpacked.</p>
|
||||||
|
<p>Ensure the system image is located under the system mountpoint.</p>
|
||||||
|
<p>Note that a simple <code>tar -xvf</code> will cause errors with</p>
|
||||||
|
<p>permissions. Therefore, a few extra flags are needed.</p>
|
||||||
|
<p>Unpack the system image:</p>
|
||||||
|
<code>(root)# tar -xpvf SYSTEM_IMAGE --xattrs-include='*.*' --numeric-owner</code>
|
||||||
|
<p>This will ensure all file ownership is compliant.</p>
|
||||||
|
<h2>Chrooting into the new installation</h2>
|
||||||
|
<p>The system is in a partially working state.</p>
|
||||||
|
<p>If we were to call it a day and reboot now, it wouldn't be possible.</p>
|
||||||
|
<p>Many critical parts of the system are missing, including the</p>
|
||||||
|
<p>bootloader and kernel. Chrooting allows us to make modifications</p>
|
||||||
|
<p>to the target system, without actually booting into it.</p>
|
||||||
|
<p>Before chrooting, additional filesystems must be mounted.</p>
|
||||||
|
<p>Mount these filesystems:</p>
|
||||||
|
<code>(root)# mount --types proc /proc /mnt/everest/proc</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# mount --rbind /sys /mnt/everest/sys</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# mount --make-rslave /mnt/everest/sys</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# mount --rbind /dev/ /mnt/everest/dev</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# mount --make-rslave /mnt/everest/dev</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# mount --bind /run /mnt/everest/run</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(root)# mount --make-slave /mnt/everest/run</code>
|
||||||
|
<p>Chroot into the system:</p>
|
||||||
|
<code>(root)# chroot --userspec=0:0 /mnt/everest /bin/sh</code>
|
||||||
|
<p>Change the shell prompt to avoid confusion:</p>
|
||||||
|
<code>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</code>
|
||||||
|
<h2>Install programs</h2>
|
||||||
|
<p>Any programs you wish to install should be installed now.</p>
|
||||||
|
<p>This is because the Linux kernel takes multiple hours to compile.</p>
|
||||||
|
<p>See <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a> for ideas. Note that some</p>
|
||||||
|
<p>programs assume the system is installed, so use caution.</p>
|
||||||
|
<h2>Install the Linux kernel</h2>
|
||||||
|
<p>The most important part of the system, the kernel, is ready to be installed.</p>
|
||||||
|
<p>Install the linux-firmware package, which provides device firmware:</p>
|
||||||
|
<code>(chroot)# glacier -f linux-firmware</code>
|
||||||
|
<p>Download the kernel's source tree:</p>
|
||||||
|
<code>(chroot)# glacier -f linux</code>
|
||||||
|
<p>Change directory to the kernel's source tree:</p>
|
||||||
|
<code>(chroot)# cd /usr/src/linux</code>
|
||||||
|
<p>Ensure the kernel source tree is clean:</p>
|
||||||
|
<code>(chroot)# make mrproper</code>
|
||||||
|
<p>Configure the kernel:</p>
|
||||||
|
<code>(chroot)# ARCH="your-arch-here" make defconfig && make menuconfig</code>
|
||||||
|
<p>Compile the kernel:</p>
|
||||||
|
<code>(chroot)# make && make modules_install</code>
|
||||||
|
<p>Install the kernel:</p>
|
||||||
|
<code>(chroot)# make install</code>
|
||||||
|
<p>On some systems, an initial RAM filesystem (initramfs)</p>
|
||||||
|
<p>may be needed to ensure proper booting.</p>
|
||||||
|
<p>If you want an initramfs, install dracut:</p>
|
||||||
|
<code>(chroot)# glacier -f dracut</code>
|
||||||
|
<p>Build an initramfs:</p>
|
||||||
|
<code>(chroot)# dracut</code>
|
||||||
|
<h2>Configure the system</h2>
|
||||||
|
<p>Some components of the system mus be configured.</p>
|
||||||
|
<p>Create <code>/etc/fstab</code>.</p>
|
||||||
|
<p>Enable system services, such as a cron daemon, logger, etc:</p>
|
||||||
|
<code>(chroot)# /etc/init.d/{cronie,chronyd,sysklogd} start</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(chroot)# systemctl enable --now cronie chronyd sysklogd</code>
|
||||||
|
<p>Set the timezone:</p>
|
||||||
|
<code>(chroot)# ln -svf /usr/share/zoneinfo/Region/City /etc/localtime</code>
|
||||||
|
<p>Configure the locale:</p>
|
||||||
|
<code>(chroot)# echo "LANG=en_US.UTF-8" > /etc/locale.conf</code>
|
||||||
|
<p>Set the system hostname:</p>
|
||||||
|
<code>(chroot)# echo "my_hostname" > /etc/hostname</code>
|
||||||
|
<p>Other things you might want to configure are:</p>
|
||||||
|
<p> - /etc/doas.conf or /etc/sudoers</p>
|
||||||
|
<p> - /etc/inittab</p>
|
||||||
|
<h2>Configure the bootloader</h2>
|
||||||
|
<p>One more critical component is needed: the bootloader</p>
|
||||||
|
<p>While any bootloader can be installed, this guide recommends</p>
|
||||||
|
<p><code>systemd-boot</code> and <code>grub</code>.</p>
|
||||||
|
<p>For systemd-boot/gummiboot:</p>
|
||||||
|
<p>Install the standalone package for systemd-boot if systemd is not installed:</p>
|
||||||
|
<code>(chroot)# glacier -f gummiboot</code>
|
||||||
|
<p>Install the bootloader:</p>
|
||||||
|
<code>(chroot)# bootctl install</code>
|
||||||
|
<p>Edit <code>/boot/loader/loader.conf</code> to your liking.</p>
|
||||||
|
<p>Create a boot entry at <code>/boot/loader/entries/everest.conf</code>.</p>
|
||||||
|
<p>For GRUB:</p>
|
||||||
|
<p>Install the GRUB package that corresponds to your system:</p>
|
||||||
|
<code>(chroot)# glacier -f grub-bios</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(chroot)# glacier -f grub-uefi</code>
|
||||||
|
<p>Install GRUB:</p>
|
||||||
|
<code>(chroot)# grub-install /dev/sdX # for BIOS</code>
|
||||||
|
<p></p>
|
||||||
|
<code>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # for UEFI</code>
|
||||||
|
<p>Create a GRUB configuration file:</p>
|
||||||
|
<code>(chroot)# grub-mkconfibg -o /boot/grub/grub.cfg</code>
|
||||||
|
<h2>Finishing the installation</h2>
|
||||||
|
<p>Every component of the system has been configured, and we can now</p>
|
||||||
|
<p>boot into it.</p>
|
||||||
|
<p>Exit the chroot environment:</p>
|
||||||
|
<code>(chroot)# exit</code>
|
||||||
|
<p>Unmount all partitions from the system mountpoint:</p>
|
||||||
|
<code>(root)# umount -R /mnt/everest</code>
|
||||||
|
<p>Power off the system:</p>
|
||||||
|
<code>(root)# poweroff</code>
|
||||||
|
<p>Ensure you remove the installation media or you</p>
|
||||||
|
<p>will not boot into the new system.</p>
|
||||||
|
<h2>Post installation</h2>
|
||||||
|
<p>A base Everest system is very minimal.</p>
|
||||||
|
<p>Most users will want to configure extra components, such as a window</p>
|
||||||
|
<p>manager, or sound. See: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a> for more info.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
14
mkpage.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
printf "usage: ${0} NEW_PAGE_NAME\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "${1}" == "" ]; then
|
||||||
|
usage "$@"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
printf "Creating new page...\n"
|
||||||
|
cp -v template.html ${1}
|
||||||
|
printf "Done.\n"
|
||||||
64
packages.html
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Everest Linux - Home</title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/nord.css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<!-- Navbar -->
|
||||||
|
<div class="sidenav">
|
||||||
|
<img src="img/everest-nord.svg" alt="everest-logo">
|
||||||
|
<a href="index.html">Home</a>
|
||||||
|
<a href="about.html">About</a>
|
||||||
|
<a href="install.html">Install</a>
|
||||||
|
<a href="packages.html">Packages</a>
|
||||||
|
<a href="download.html">Downloads</a>
|
||||||
|
<a href="docs/home.html">Docs</a>
|
||||||
|
<a href="errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>Packages</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="main">
|
||||||
|
<h2>Package Database</h2>
|
||||||
|
<p>This page contains links to multiple Glacier package databases.</p>
|
||||||
|
<p>Packages should correspond to your system's profile. If you don't know what your system's profile is, it can be queried with the following command:</p>
|
||||||
|
<code>(user)$ echo $GLACIER_SYSTEM_PROFILE</code>
|
||||||
|
<p></p>
|
||||||
|
<script>
|
||||||
|
function myfunction() {
|
||||||
|
var input, filter, ul, li, a, i, txtValue;
|
||||||
|
input = document.getElementById('myInput');
|
||||||
|
filter = input.value.toUpperCase();
|
||||||
|
ul = document.getElementById("myUL");
|
||||||
|
li = ul.getElementsByTagName('li');
|
||||||
|
|
||||||
|
for (i = 0; i < li.length; i++) {
|
||||||
|
a = li[i].getElementsByTagName("a")[0];
|
||||||
|
txtValue = a.textContent || a.innerText;
|
||||||
|
if (txtValue.toUpperCase().indexOf(filter) > -1) {
|
||||||
|
li[i].style.displau = "";
|
||||||
|
} else {
|
||||||
|
li[i].style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<input type="text" id="myInput" onKeyup="myFunction()" placeholder="Search databases...">
|
||||||
|
<ul id="myUL">
|
||||||
|
<li><a href="https://git.everestlinux.org/EverestLinux/epkgs-x86-musl">x86-musl</a></li>
|
||||||
|
<li><a href="https://git.everestlinux.org/EverestLinux/epkgs-x86-glibc">x86-glibc</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
@@ -1,21 +1,35 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Everest Linux - Home</title>
|
<title>Everest Linux - Home</title>
|
||||||
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
|
<link type="text/css" rel="stylesheet" href="css/nord.css"/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Navbar -->
|
<!-- Navbar -->
|
||||||
<div class="sidenav">
|
<div class="sidenav">
|
||||||
|
<img src="img/everest-nord.svg" alt="everest-logo">
|
||||||
<a href="index.html">Home</a>
|
<a href="index.html">Home</a>
|
||||||
<a href="about.html">About</a>
|
<a href="about.html">About</a>
|
||||||
<a href="install.html">Install</a>
|
<a href="install.html">Install</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
|
<a href="packages.html">Packages</a>
|
||||||
<a href="download.html">Downloads</a>
|
<a href="download.html">Downloads</a>
|
||||||
<a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
|
<a href="docs/home.html">Docs</a>
|
||||||
<a href="https://git.everestlinux.org">Git</a>
|
<a href="errata.html">Errata</a>
|
||||||
|
<a href="https://git.everestlinux.org">Git ↗</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Rest of page -->
|
<!-- Rest of page -->
|
||||||
|
<div class="hero-image">
|
||||||
|
<div class="hero-text">
|
||||||
|
<h1>Template</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
</div>
|
</div>
|
||||||
|
<footer>
|
||||||
|
<p>Copyright (C) 2021-2025 Everest Linux</p>
|
||||||
|
<p>Linux (R) is a registered trademark of Linus Torvalds.</p>
|
||||||
|
<p>Everest Linux is provided AS IS, WITHOUT WARRANTY.</p>
|
||||||
|
</footer>
|
||||||
|
|||||||