This commit is contained in:
Liam Waldron 2023-01-26 17:27:05 -05:00
parent 52be2192ee
commit ed226cd692
23 changed files with 859 additions and 376 deletions

44
OLD/about.html Executable file
View File

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html>
<head>
<title>Everest Linux - About</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner-ab.jpg" alt="Everest Logo"/>
<h1>About Everest</h1>
<p>Everest Linux is a source based Linux meta-distribution.</p>
<p></p>
<h3>History of Everest</h3>
<p>2021 - The idea of a system that combines the simplicity of binary packaging with the flexibility of source based packaging was born</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>Mid 2022 - Glacier reaches a stable release point</p>
<p>Late June 2022 - everestlinux.org is registered and git.everestlinux.org goes online</p>
<p>September 2022 - Early prototypes of the ELIF (Everest Linux Installation Framework) are completed</p>
<p>October 2022 - Glacier v3 enters testing</p>
<p></p>
<h3>Design Principles</h3>
<p>Our design principles guide the development of Everest. You may notice we share most of these with Arch (because Arch is very cool).</p>
<p><strong>Simplicity</strong> - We provide packages with almost zero modifications from upstream, except when necessary.</p>
<p>The base Everest system only includes what you need to start building your system - UNIX tools, a C library, a C compiler, and Glacier.</p>
<p>The base Everest system also weighs in at around 100 MB (may vary with different images, such as GNU or systemd).</p>
<p><strong>Flexibility</strong> - Everest is designed with flexibility in mind. Any modification can be achieved if the user has enough knowledge</p>
<p>For example, it is possible to replace Busybox with sbase, or use runit as your init system, all without breaking the system.</p>
<p><strong>Functionality vs Ideology</strong> - The developers of Everest are strong advocates of free software, but understand that</p>
<p>it cannot be implemented 100% of the time, such as in the form of drivers. We also understand that some users may prefer proprietary</p>
<p>software over libre counterparts. We do not take steps to prevent proprietary software in our repositories,</p>
<p>only requiring it to be under the <strong>multiverse</strong> repository.</p>
<p>This is very different from heavily ideological distributions, such as Hyperbola, some of which don't even support many packages/features people may find useful,</p>
<p>such as systemd, dbus, rust, java, sudo, and most recently, bluetooth.</p>
<p><strong>User Centrality</strong> - We believe that instead of trying to make Everest beginner friendly, and work out of the box,</p>
<p>we should instead focus on users with a willingness to learn how to install and use Everest.</p>
</body>
</html>

110
OLD/css/everest.css Executable file
View File

@ -0,0 +1,110 @@
/* everest.css */
body {
color: white;
background-color: #2C2C2C;
border: 0px solid #2C2C2C;
/* border-radius: 16px; */
font-family: sans-serif;
margin: 0px;
min-height: 100%;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 0px;
padding-right: 0px;
}
html {
background: #1E1E1E;
background-size: 8px 8px;
margin: 0px;
min-height: 100%;
}
h1 {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}
h2 {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
}
h3 {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}
img {
padding: 0px;
width: 100%;
}
p {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}
/*code {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}*/
ul {
list-style-type: none;
margin: 0px;
padding: 0px;
overflow: hidden;
background-color: #1E1E1E;
position: fixed;
top: 0;
width: 100%;
}
li {
float: left;
border-right: 1px solid #bbb;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 24px;
text-decoration: none;
}
/* Change the link color to #111 (black) on hover */
li a:hover {
background-color: SteelBlue;
}
.active {
background-color: #2C2C2C;
}
mark {
background-color: #1E1E1E;
color: white;
}
/* Style buttons */
.btn {
background-color: #1E1E1E;
border: none;
color: white;
padding: 24px 30px;
cursor: pointer;
font-size: 20px;
margin: 16px;
}
/* Darker background on mouse-over */
.btn:hover {
background-color: SteelBlue;
}
button {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}

43
OLD/download.html Executable file
View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<hmtl>
<head>
<title>Everest Linux - Download</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner-dl.jpg" alt="Everest Logo"/>
<h1>Download Everest</h1>
<p>Most users will want to get the most recent release.</p>
<p>If for some reason you require an older release, it may be in the release archive.</p>
<p>Using a very old release is not recommended because many critical programs (such as the Linux kernel) are severely out of date.</p>
<p>It is for this reason that releases older than 2 years are removed from the archives.</p>
<p>There are multiple ways to get Everest.</p>
<h2>HTTPS</h2>
<!-- Add icon library -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Auto width -->
<button class="btn"><i class="fa fa-download"></i><a href="https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases"> Download</a></button>
<h2>Bittorrent</h2>
<p>Before torrenting, ensure doing so will not get you into trouble with local authorities.
The possibility of this happening is small, but not impossible. If you live in the United States, or Europe, this should not be an issue.</p>
<p>Verifying the checksum of a torrented tarball is not required, however it is still recommended to do so.</p>
<p>THe signature ofthe latest tarball should be:</p>
<p><code><mark>150dad224cb7e4244046b97170e0e01834ce07445bddb4be7ebc035b68b5221c everestlinux-summit-0.0.1-systemd-rc.tar.xz</mark></code></p>
<p><i>Note: if using a web seed capable torrent client, please leave it open once finished to seed back.</i></p>
<h2>wget</h2>
<p>If you wish to download an Everest tarball through the liveusb, wget allows you to quickly download it through the command line.</p>
<p>The following command will download Everest:</p>
<p><code><mark>$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/everestlinux-X.X.X-master.tar.xz</mark></code></p>
<p>Ensure you define which version you want.</p>
<h2>Installing Everest</h2>
<p>The Everest installation handbook should give you a pretty good idea of how to set up your installation. It can be found <a href="install.html">here</a>.</p>
</body>
</html>

View File

Before

Width:  |  Height:  |  Size: 568 KiB

After

Width:  |  Height:  |  Size: 568 KiB

View File

Before

Width:  |  Height:  |  Size: 344 KiB

After

Width:  |  Height:  |  Size: 344 KiB

View File

Before

Width:  |  Height:  |  Size: 351 KiB

After

Width:  |  Height:  |  Size: 351 KiB

View File

Before

Width:  |  Height:  |  Size: 409 KiB

After

Width:  |  Height:  |  Size: 409 KiB

View File

Before

Width:  |  Height:  |  Size: 568 KiB

After

Width:  |  Height:  |  Size: 568 KiB

View File

Before

Width:  |  Height:  |  Size: 420 KiB

After

Width:  |  Height:  |  Size: 420 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

35
OLD/index.html Executable file
View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<hmtl>
<head>
<title>Everest Linux - Home</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner2.jpg" alt="Everest Logo"/>
<h1>Everest Linux</h1>
<p>A highly flexible, general purpose meta-distribution, built off of the monolithic Linux kernel and Glacier package manager.</p>
<h2>Why Everest?</h2>
<p><strong>Simple: </strong>Everest strives to be simple by design, coming with no pre-installed bloatware, or spyware. Everest follows the UNIX philosphy when possible, and attempts to avoid using large GNU programs in its base system.</p>
<p><strong>Stable: </strong>Everest is designed to be as stable as possible. All base system programs are statically linked, and Glacier will not operate on packages unless you tell it to.</p>
<p><strong>Fast: </strong>Glacier downloads program source code from the Everest Package Index, then compiles it locally on your system, resulting in an extremely optimized experience. Simply define the makeflags for your system and you're ready to go.</p>
<p><strong>Lightweight: </strong>Everest uses Busybox for its userland tools and init, and musl for its C library. All of these tools are designed to be as lightweight as possible.</p>
<p><strong>Flexible: </strong>Everest supports higly customized installations. Any part of Everest can be replaced.</p>
<h1>Ready to try Everest?</h1>
<p><a href="install.html">Read the installation guide here.</a></p>
<h1>News</h1>
<p>11/1/22 - System image builds begin</p>
<p>10/25/22 - Glacier v3 is released</p>
<p>10/7/22 - Glacier v3 enters testing</p>
<p>6/21/22 - everestlinux.org has been registered, all packages have been migrated to git.everestlinux.org.</p>
<p>6/9/22 - Glacier v2.1 has been released</p>
<p>5/31/22 - Glacier v2.0 has been released</p>
</body>
</html>

178
OLD/install.html Normal file
View File

@ -0,0 +1,178 @@
<!DOCTYPE html>
<html>
<head>
<title>Everest Linux - Installation Handbook</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner-hb.jpg" alt="banner-hb"/>
<h1>Installation Handbook</h1>
<p>This guide will go into depth on how to install Everest Linux.</p>
<p>If you nedd assistance, feel free to 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 by creating proper mountpoints, users, and partitions</p>
<p> - Download the Everest Linux rootfs image</p>
<p> - Unpack the rootfs image onto the previously set up mountpoint</p>
<p> - Chroot into the new system</p>
<p> - Set up Glacier</p>
<p> - Install system software</p>
<p> - Install the Linux kernel</p>
<p> - Set up init scripts/services</p>
<p> - Reboot the system</p>
<p><i>Note: Everest is highly flexible, and every aspect of the system can be changed.</i></p>
<p><i>If you are changing anything, it is assumed you know exactly what you're doing.</i></p>
<p>Commands prefixed with <code><mark>(user)$</mark></code> should be run as an unprivileged user.</p>
<p>Commands prefixed with <code><mark>(root)#</mark></code> should be run as the root user.</p>
<p>Commands prefixed with <code><mark>(chroot)#</mark></code> should be run as the root user inside the chroot environment.</p>
<h2>Set up the environment</h2>
<p>Our environment needs to be set up correctly before any other steps can proceed.</p>
<p>Create the system mountpoint:</p>
<p><code><mark>(root)# mkdir -v /mnt/everest</mark></code></p>
<p>Assign the system mounpoint a variable for ease of use:</p>
<p><code><mark>(root)# export EVEREST=/mnt/everest</mark></code></p>
<p>Create any necessary partitions:</p>
<p>/boot - 256MB</p>
<p>(optional) swap - RAM * 2</p>
<p>/ - rest of the drive</p>
<p>Mount the root partition to the system mountpoint:</p>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest</mark></code></p>
<p>Create the boot directory:</p>
<p><code><mark>(root)# mkdir -pv /mnt/everest/boot</mark></code></p>
<p>Mount the boot partition:</p>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest/boot</mark></code></p>
<p>Our system is now set up for the installation.</p>
<h2>Downloading the Everest image</h2>
<p>An Everest Image is an uncomplete root filesystem image which provides a strong base to build off of.</p>
<p>Each image has slight differences to others, some differences may include:</p>
<p> - The init system</p>
<p> - The standard C library</p>
<p> - The architecture</p>
<p>Images are designated in the following ways:</p>
<p>everestlinux-X.X.X-INIT-ARCH(if not x86)-img.tar.xz</p>
<p>For instance, an image targeting x86_64, with the busybox init system would be called:</p>
<p>everestlinux-1.0.0-busybox-img.tar.xz</p>
<p>An image targeting arm64, with systemd would be called:</p>
<p>everestlinux-1.0.0-systemd-aarch64-img.tar.xz</p>
<p>Other designations may be used, such as:</p>
<p> - no_multilib</p>
<p>Ensure you download the correct image for your system. For most users, images targeting</p>
<p><strong>x86_64</strong> with the <strong>busybox</strong> init system are what you should use.</p>
<p>To get the image to our destination as easily as possible, use wget</p>
<p><code><mark>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/everestlinux-X.X.X-INIT-img.tar.xz</mark></code></p>
<p>With the image downloaded, the system can now be installed.</p>
<h2>Unpacking the Image</h2>
<p>The image can now be unpacked into the system mountpoint.</p>
<p>Ensure the image is located in <p><code><mark>/mnt/everest</mark></code></p></p>
<p>then run the following command to unpack it:</p>
<p><code><mark>(root)# tar -xpvf everestlinux-img.tar.xz --xattrs-include='*.*' --numeric-owner</mark></code></p>
<p>The following 2 options are very important. Without them, some binaries may refuse to run due to incorrect file ownership.</p>
<h2>Chrooting into the new installation</h2>
<p>Our system is now in a partially working state.</p>
<p>If we were to simply call it a day and try to boot into the system now, it would not be possible.</p>
<p>Many parts of the system are missing, including a bootloader and kernel.</p>
<p>Chrooting allows us to access the system to make modifications, without actually booting into it.</p>
<p>Before chrooting, we must mount some partitions.</p>
<p>Chroot into the system:</p>
<p><code><mark>(root)# everest-chroot /mnt/everest</mark></code></p>
<p>This program will check the following:</p>
<p> - /mnt/everest exists</p>
<p> - /bin/sh exists</p>
<p>Once in the chroot environment, run the following commands:</p>
<p><code><mark>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</mark></code></p>
<p>We are now fully set up for the rest of the installation.</p>
<h2>Set up Glacier</h2>
<p>Glacier is the package manager for Everest. It must be installed into the new system.</p>
<p>Download the Glacier release tarball:</p>
<p><code><mark>(chroot)# wget RELEASE_TARBALL</mark></code></p>
<p>Unpack the tarball and run the installation:</p>
<p><code><mark>(chroot)# tar xpvf glacier-release-X.X.X.tar.xz && glacierX.X.X/INSTALL.sh</mark></code></p>
<p>This script will check for the following, and make corrections if necessary:</p>
<p> - The C library is installed</p>
<p> - The C library headers are installed</p>
<p> - The C compiler is installed</p>
<p> - GNU Binutils are installed</p>
<p> - GNU Make is installed</p>
<p> - Python is installed</p>
<p>Edit <p><code><mark>/etc/make.conf</mark></code></p></p>
<p>and change any settings you wish.</p>
<h2>Install the Linux kernel</h2>
<p>The kernel can now be installed.</p>
<p>Install the linux-firmware package, which provides firmware for some devices:</p>
<p><code><mark>(chroot)# glacier -f linux-firmware</mark></code></p>
<p>Use Glacier to download the source tree:</p>
<p><code><mark>(chroot)# glacier -f linux</mark></code></p>
<p>Find the kernel source tree in <p><code><mark>/usr/src/linux</mark></code></p>
<p><i>Note: Alternatively, you can download a new kernel from kernel.org</i></p>
<p>Clean the kernel source tree:</p>
<p><code><mark>(chroot)# make mrproper</mark></code></p>
<p>Configure the kernel:</p>
<p><code><mark>(chroot)# make menuconfig</mark></code></p>
<p><i>Note: Recommended options for configuration are not provided. It is up to the user to decide what they want to enable.</i></p>
<p>Compile the kernel:</p>
<p><code><mark>(chroot)# make && make modules_install</mark></code></p>
<p>Copy the kernel image to /boot:</p>
<p><code><mark>(chroot)# make install</mark></code></p>
<p>(Optional) Build an initramfs</p>
<p>On some systems, an initramfs (initial ram filesystem) is required to boot properly.</p>
<p>Do some research and decide whether you need - or want - an initramfs.</p>
<p>Install dracut:</p>
<p><code><mark>(chroot)# glacier -f dracut</mark></code></p>
<p>Build an initramfs:</p>
<p><code><mark>(chroot)# dracut</mark></code></p>
<h2>Configure the system</h2>
<p>Some components of the system must be configured before we can boot.</p>
<p>Create an fstab file.</p>
<p>An example of a properly formatted fstab is below:</p>
<p>/dev/sda1 /boot vfat defaults,noatime 0 2</p>
<p>/dev/sda2 none swap sw 0 0</p>
<p>/dev/sda3 / ext4 noatime 0 1</p>
<p>Enable system services, such as a cron daemon, logger, etc:</p>
<p><code><mark>(chroot)# esv start cronie chronyd sysklogd # for busybox init</mark></code></p>
<p><code><mark>(chroot)# systemctl enable --now cronie chronyd sysklogd # for systemd</mark></code></p>
<p>Other things you might want to configure are:</p>
<p> - /etc/doas.conf</p>
<p> - /etc/inittab</p>
<h2>Configure the bootloader</h2>
<p>Our system needs one more component before it can be booted into: the bootloader</p>
<p>For most users, systemd-boot is recommended.</p>
<p>The standalone package for systemd-boot can be installed by running:</p>
<p><code><mark>(chroot)# glacier -f gummiboot</mark></code></p>
<p><strong>GRUB</strong></p>
<p>Install the GRUB package:</p>
<p><i>Note: GRUB is split into 2 packages, grub-bios and grub-uefi.</i></p>
<p><i>Ensure you install the correct package.</i></p>
<p><code><mark>(chroot)# glacier -f grub-{bios,uefi}</mark></code></p>
<p>Install GRUB:</p>
<p><code><mark>(chroot)# grub-install /dev/sdX # for BIOS</mark></code></p>
<p><code><mark>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # for UEFI</mark></code></p>
<p>Create a GRUB configuration file:</p>
<p><code><mark>(chroot)# grub-mkconfig -o /boot/grub/grub.cfg</mark></code></p>
<p><strong>systemd-boot</strong></p>
<p><i>Note: systemd-boot only supports UEFI.</i></p>
<p><i>Use GRUB if your system is incompatible with UEFI.</i></p>
<p>Systemd-boot is included with systemd.</p>
<p>Install systemd-boot:</p>
<p><code><mark>(chroot)# bootctl install</mark></code></p>
<p>Edit /boot/loader/loader.conf and create a boot entry at /boot/loader/entries/everest.conf</p>
<h2>Finishing the Installation</h2>
<p>Every component of the system has been configured, and we can now boot into it.</p>
<p>Exit the chroot environment:</p>
<p><code><mark>(chroot)# exit</mark></code></p>
<p>Unmount all partitions from /mnt/everest:</p>
<p><code><mark>(root)# umount -R /mnt/everest</mark></code></p>
<p>Power off the system:</p>
<p><code><mark>(root)# poweroff</mark></code></p>
<p>Ensure you remove the installation media or you will not boot into the new system.</p>
<h2>Post-installation</h2>
<p>A base Everest system is pretty minimal. Most users will need to configure extra components,</p>
<p>such as a window manager, sound, or networking.</p>
<p>See page: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a></p>

95
about.html Executable file → Normal file
View File

@ -5,40 +5,61 @@
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner-ab.jpg" alt="Everest Logo"/>
<h1>About Everest</h1>
<p>Everest Linux is a source based Linux meta-distribution.</p>
<p></p>
<h3>History of Everest</h3>
<p>2021 - The idea of a system that combines the simplicity of binary packaging with the flexibility of source based packaging was born</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>Mid 2022 - Glacier reaches a stable release point</p>
<p>Late June 2022 - everestlinux.org is registered and git.everestlinux.org goes online</p>
<p>September 2022 - Early prototypes of the ELIF (Everest Linux Installation Framework) are completed</p>
<p>October 2022 - Glacier v3 enters testing</p>
<p></p>
<h3>Design Principles</h3>
<p>Our design principles guide the development of Everest. You may notice we share most of these with Arch (because Arch is very cool).</p>
<p><strong>Simplicity</strong> - We provide packages with almost zero modifications from upstream, except when necessary.</p>
<p>The base Everest system only includes what you need to start building your system - UNIX tools, a C library, a C compiler, and Glacier.</p>
<p>The base Everest system also weighs in at around 100 MB (may vary with different images, such as GNU or systemd).</p>
<p><strong>Flexibility</strong> - Everest is designed with flexibility in mind. Any modification can be achieved if the user has enough knowledge</p>
<p>For example, it is possible to replace Busybox with sbase, or use runit as your init system, all without breaking the system.</p>
<p><strong>Functionality vs Ideology</strong> - The developers of Everest are strong advocates of free software, but understand that</p>
<p>it cannot be implemented 100% of the time, such as in the form of drivers. We also understand that some users may prefer proprietary</p>
<p>software over libre counterparts. We do not take steps to prevent proprietary software in our repositories,</p>
<p>only requiring it to be under the <strong>multiverse</strong> repository.</p>
<p>This is very different from heavily ideological distributions, such as Hyperbola, some of which don't even support many packages/features people may find useful,</p>
<p>such as systemd, dbus, rust, java, sudo, and most recently, bluetooth.</p>
<p><strong>User Centrality</strong> - We believe that instead of trying to make Everest beginner friendly, and work out of the box,</p>
<p>we should instead focus on users with a willingness to learn how to install and use Everest.</p>
</body>
</html>
<!-- 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>About Everest</h2>
<p>Everest Linux is a source based Linux meta-distribution,</p>
<p>with a focus on simplicity and flexibility.</p>
<h2>History</h2>
<p>2021 - The idea of a packaging system that combined</p>
<p>the simplicity of binary based packaging with the power of source</p>
<p>based packaging was proposed.</p>
<p>Early 2022 - Early prototypes of Glacier were created. These</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>September 2022 - Different ways of bootstrapping a base system</p>
<p>are tested by the development team.</p>
<p>October 2022 - Glacier v3 is released.</p>
<p>December 2022 - System image builds done by the development team.</p>
<h2>Design Principles</h2>
<p>Our design principles heavily influence and guide development.</p>
<p>You may notice we share many of these with Arch.</p>
<strong>Simplicity</strong>
<p>We follow the UNIX philosphy when possible. Programs should do one thing,</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>
<p>Everest is designed with flexibility in mind. Any modification can</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>
<p>The developers of Everest are strong advocates of free software, but</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>
<p>We believe that instead of trying to make Everest easy</p>
<p>to use out-of-the-box, we should instead focus on improving</p>
<p>functionality for experienced users.</p>
</div>

170
css/everest.css Executable file → Normal file
View File

@ -1,110 +1,80 @@
/* everest.css */
body {
color: white;
background-color: #2C2C2C;
border: 0px solid #2C2C2C;
/* border-radius: 16px; */
font-family: sans-serif;
margin: 0px;
min-height: 100%;
padding-top: 8px;
padding-bottom: 8px;
padding-left: 0px;
padding-right: 0px;
}
html {
background: #1E1E1E;
background-size: 8px 8px;
margin: 0px;
min-height: 100%;
}
h1 {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}
h2 {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
}
h3 {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}
img {
padding: 0px;
width: 100%;
}
p {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}
/*code {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}*/
ul {
list-style-type: none;
margin: 0px;
padding: 0px;
overflow: hidden;
background-color: #1E1E1E;
/* 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;
width: 100%;
left: 0;
background-color; #1E1E1E;
overflow-x: hidden;
padding-top: 20px;
}
li {
float: left;
border-right: 1px solid #bbb;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 24px;
/* Menu links */
.sidenav a {
padding: 6px 8px 6px 16px;
text-decoration: none;
}
/* Change the link color to #111 (black) on hover */
li a:hover {
background-color: SteelBlue;
}
.active {
background-color: #2C2C2C;
}
mark {
background-color: #1E1E1E;
color: white;
}
/* Style buttons */
.btn {
background-color: #1E1E1E;
border: none;
color: white;
padding: 24px 30px;
cursor: pointer;
font-size: 20px;
margin: 16px;
color: #818181;
display: block;
}
/* Darker background on mouse-over */
.btn:hover {
background-color: SteelBlue;
.sidenav a:hover {
color: #4a86e8ff;
}
.main {
margin-left: 160px;
padding: 0px 10px;
}
@media screen and (max-height: 450px) {
.sidenav {padding-top: 15px;}
.sidenav a{font-size: 18px;}
}
body {
font-family: sans-serif;
}
code {
font-family: monospace;
background-color: black;
border-left-style: solid;
border-left-width: 4px;
border-radius: 2px;
padding: 2px;
}
h2 {
border-left-style: solid;
border-color: #4a86e8ff;
padding-left: 4px;
border-width: 8px;
border-radius: 5px;
}
button {
padding-left: 16px;
padding-right: 16px;
padding-top: 2px;
padding-bottom: 2px;
}
font-size: 24px;
border-style: none;
border-left-style: solid;
border-width: 8px;
padding: 12px 28px;
border-color: #4a86e8ff;
border-radius: 5px;
}
hr.dotted {
border-top: 3px dotted #bbb;

76
download.html Executable file → Normal file
View File

@ -1,43 +1,43 @@
<!DOCTYPE html>
<hmtl>
<html>
<head>
<title>Everest Linux - Download</title>
<title>Everest Linux - Home</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner-dl.jpg" alt="Everest Logo"/>
<h1>Download Everest</h1>
<p>Most users will want to get the most recent release.</p>
<p>If for some reason you require an older release, it may be in the release archive.</p>
<p>Using a very old release is not recommended because many critical programs (such as the Linux kernel) are severely out of date.</p>
<p>It is for this reason that releases older than 2 years are removed from the archives.</p>
<p>There are multiple ways to get Everest.</p>
<h2>HTTPS</h2>
<!-- Add icon library -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Auto width -->
<button class="btn"><i class="fa fa-download"></i><a href="https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases"> Download</a></button>
<h2>Bittorrent</h2>
<p>Before torrenting, ensure doing so will not get you into trouble with local authorities.
The possibility of this happening is small, but not impossible. If you live in the United States, or Europe, this should not be an issue.</p>
<p>Verifying the checksum of a torrented tarball is not required, however it is still recommended to do so.</p>
<p>THe signature ofthe latest tarball should be:</p>
<p><code><mark>150dad224cb7e4244046b97170e0e01834ce07445bddb4be7ebc035b68b5221c everestlinux-summit-0.0.1-systemd-rc.tar.xz</mark></code></p>
<p><i>Note: if using a web seed capable torrent client, please leave it open once finished to seed back.</i></p>
<h2>wget</h2>
<p>If you wish to download an Everest tarball through the liveusb, wget allows you to quickly download it through the command line.</p>
<p>The following command will download Everest:</p>
<p><code><mark>$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/everestlinux-X.X.X-master.tar.xz</mark></code></p>
<p>Ensure you define which version you want.</p>
<h2>Installing Everest</h2>
<p>The Everest installation handbook should give you a pretty good idea of how to set up your installation. It can be found <a href="install.html">here</a>.</p>
</body>
</html>
<!-- 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>Download Everest</h2>
<p>Most users will want to get the most recent release.</p>
<p>If for some reason you require an older release,</p>
<p>it may be in the release archive, which contains all</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>
<h2>HTTPS</h2>
<button onclick="window.location.href='https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases';">
Download
</button>
<h2>BitTorrent</h2>
<p>In some regions, using BitTorrent is illegal.</p>
<p>Please ensure accessing BitTorrent is safe to do.</p>
<p>Everest Linux assumes no responsibility.</p>
<p>If using a web seed capable client, please leave it open once finished,</p>
<p>in order to seed back.</p>
<h2>wget</h2>
<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>
</div>

111
index.html Executable file → Normal file
View File

@ -1,35 +1,88 @@
<!DOCTYPE html>
<hmtl>
<html>
<head>
<title>Everest Linux - Home</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner2.jpg" alt="Everest Logo"/>
<h1>Everest Linux</h1>
<p>A highly flexible, general purpose meta-distribution, built off of the monolithic Linux kernel and Glacier package manager.</p>
<h2>Why Everest?</h2>
<p><strong>Simple: </strong>Everest strives to be simple by design, coming with no pre-installed bloatware, or spyware. Everest follows the UNIX philosphy when possible, and attempts to avoid using large GNU programs in its base system.</p>
<p><strong>Stable: </strong>Everest is designed to be as stable as possible. All base system programs are statically linked, and Glacier will not operate on packages unless you tell it to.</p>
<p><strong>Fast: </strong>Glacier downloads program source code from the Everest Package Index, then compiles it locally on your system, resulting in an extremely optimized experience. Simply define the makeflags for your system and you're ready to go.</p>
<p><strong>Lightweight: </strong>Everest uses Busybox for its userland tools and init, and musl for its C library. All of these tools are designed to be as lightweight as possible.</p>
<p><strong>Flexible: </strong>Everest supports higly customized installations. Any part of Everest can be replaced.</p>
<h1>Ready to try Everest?</h1>
<p><a href="install.html">Read the installation guide here.</a></p>
<h1>News</h1>
<p>11/1/22 - System image builds begin</p>
<p>10/25/22 - Glacier v3 is released</p>
<p>10/7/22 - Glacier v3 enters testing</p>
<p>6/21/22 - everestlinux.org has been registered, all packages have been migrated to git.everestlinux.org.</p>
<p>6/9/22 - Glacier v2.1 has been released</p>
<p>5/31/22 - Glacier v2.0 has been released</p>
</body>
</html>
<!-- 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>Everest Linux</h2>
<p>A highly flexible, general purpose meta-distribution,</p>
<p>built off of the monolithic Linux kernel and Glacier</p>
<p>package manager.</p>
<h2>Why Everest?</h2>
<strong>Simple: </strong><p>Everest strives to be simple by design,</p>
<p>coming with no pre-installed bloatware or spyware.</p>
<p>Everest follows the UNIX philosophy whenever possible,</p>
<p>and tries to avoid including large programs in its base system.</p>
<strong>Stable: </strong><p>Everest is designed to be as stable</p>
<p>as possible. All base system programs are statically linked,</p>
<p>and can be updated with git-controlled root filesystems.</p>
<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>
<p>1/26/23 - Website overhaul</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>

View File

@ -1,178 +1,186 @@
<!DOCTYPE html>
<html>
<head>
<title>Everest Linux - Installation Handbook</title>
<title>Everest Linux - Install</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head>
<body>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="about.html">About</a></li>
<li><a href="install.html">Handbook</a></li>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li>
<li><a href="download.html">Downloads</a></li>
<li><a href="https://git.everestlinux.org">Git</a></li>
</ul>
<img src="img/banner-hb.jpg" alt="banner-hb"/>
<h1>Installation Handbook</h1>
<p>This guide will go into depth on how to install Everest Linux.</p>
<p>If you nedd assistance, feel free to 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 by creating proper mountpoints, users, and partitions</p>
<p> - Download the Everest Linux rootfs image</p>
<p> - Unpack the rootfs image onto the previously set up mountpoint</p>
<p> - Chroot into the new system</p>
<p> - Set up Glacier</p>
<p> - Install system software</p>
<p> - Install the Linux kernel</p>
<p> - Set up init scripts/services</p>
<p> - Reboot the system</p>
<p><i>Note: Everest is highly flexible, and every aspect of the system can be changed.</i></p>
<p><i>If you are changing anything, it is assumed you know exactly what you're doing.</i></p>
<p>Commands prefixed with <code><mark>(user)$</mark></code> should be run as an unprivileged user.</p>
<p>Commands prefixed with <code><mark>(root)#</mark></code> should be run as the root user.</p>
<p>Commands prefixed with <code><mark>(chroot)#</mark></code> should be run as the root user inside the chroot environment.</p>
<h2>Set up the environment</h2>
<p>Our environment needs to be set up correctly before any other steps can proceed.</p>
<p>Create the system mountpoint:</p>
<p><code><mark>(root)# mkdir -v /mnt/everest</mark></code></p>
<p>Assign the system mounpoint a variable for ease of use:</p>
<p><code><mark>(root)# export EVEREST=/mnt/everest</mark></code></p>
<p>Create any necessary partitions:</p>
<p>/boot - 256MB</p>
<p>(optional) swap - RAM * 2</p>
<p>/ - rest of the drive</p>
<p>Mount the root partition to the system mountpoint:</p>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest</mark></code></p>
<p>Create the boot directory:</p>
<p><code><mark>(root)# mkdir -pv /mnt/everest/boot</mark></code></p>
<p>Mount the boot partition:</p>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest/boot</mark></code></p>
<p>Our system is now set up for the installation.</p>
<h2>Downloading the Everest image</h2>
<p>An Everest Image is an uncomplete root filesystem image which provides a strong base to build off of.</p>
<p>Each image has slight differences to others, some differences may include:</p>
<p> - The init system</p>
<p> - The standard C library</p>
<p> - The architecture</p>
<p>Images are designated in the following ways:</p>
<p>everestlinux-X.X.X-INIT-ARCH(if not x86)-img.tar.xz</p>
<p>For instance, an image targeting x86_64, with the busybox init system would be called:</p>
<p>everestlinux-1.0.0-busybox-img.tar.xz</p>
<p>An image targeting arm64, with systemd would be called:</p>
<p>everestlinux-1.0.0-systemd-aarch64-img.tar.xz</p>
<p>Other designations may be used, such as:</p>
<p> - no_multilib</p>
<p>Ensure you download the correct image for your system. For most users, images targeting</p>
<p><strong>x86_64</strong> with the <strong>busybox</strong> init system are what you should use.</p>
<p>To get the image to our destination as easily as possible, use wget</p>
<p><code><mark>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/everestlinux-X.X.X-INIT-img.tar.xz</mark></code></p>
<p>With the image downloaded, the system can now be installed.</p>
<h2>Unpacking the Image</h2>
<p>The image can now be unpacked into the system mountpoint.</p>
<p>Ensure the image is located in <p><code><mark>/mnt/everest</mark></code></p></p>
<p>then run the following command to unpack it:</p>
<p><code><mark>(root)# tar -xpvf everestlinux-img.tar.xz --xattrs-include='*.*' --numeric-owner</mark></code></p>
<p>The following 2 options are very important. Without them, some binaries may refuse to run due to incorrect file ownership.</p>
<h2>Chrooting into the new installation</h2>
<p>Our system is now in a partially working state.</p>
<p>If we were to simply call it a day and try to boot into the system now, it would not be possible.</p>
<p>Many parts of the system are missing, including a bootloader and kernel.</p>
<p>Chrooting allows us to access the system to make modifications, without actually booting into it.</p>
<p>Before chrooting, we must mount some partitions.</p>
<p>Chroot into the system:</p>
<p><code><mark>(root)# everest-chroot /mnt/everest</mark></code></p>
<p>This program will check the following:</p>
<p> - /mnt/everest exists</p>
<p> - /bin/sh exists</p>
<p>Once in the chroot environment, run the following commands:</p>
<p><code><mark>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</mark></code></p>
<p>We are now fully set up for the rest of the installation.</p>
<h2>Set up Glacier</h2>
<p>Glacier is the package manager for Everest. It must be installed into the new system.</p>
<p>Download the Glacier release tarball:</p>
<p><code><mark>(chroot)# wget RELEASE_TARBALL</mark></code></p>
<p>Unpack the tarball and run the installation:</p>
<p><code><mark>(chroot)# tar xpvf glacier-release-X.X.X.tar.xz && glacierX.X.X/INSTALL.sh</mark></code></p>
<p>This script will check for the following, and make corrections if necessary:</p>
<p> - The C library is installed</p>
<p> - The C library headers are installed</p>
<p> - The C compiler is installed</p>
<p> - GNU Binutils are installed</p>
<p> - GNU Make is installed</p>
<p> - Python is installed</p>
<p>Edit <p><code><mark>/etc/make.conf</mark></code></p></p>
<p>and change any settings you wish.</p>
<h2>Install the Linux kernel</h2>
<p>The kernel can now be installed.</p>
<p>Install the linux-firmware package, which provides firmware for some devices:</p>
<p><code><mark>(chroot)# glacier -f linux-firmware</mark></code></p>
<p>Use Glacier to download the source tree:</p>
<p><code><mark>(chroot)# glacier -f linux</mark></code></p>
<p>Find the kernel source tree in <p><code><mark>/usr/src/linux</mark></code></p>
<p><i>Note: Alternatively, you can download a new kernel from kernel.org</i></p>
<p>Clean the kernel source tree:</p>
<p><code><mark>(chroot)# make mrproper</mark></code></p>
<p>Configure the kernel:</p>
<p><code><mark>(chroot)# make menuconfig</mark></code></p>
<p><i>Note: Recommended options for configuration are not provided. It is up to the user to decide what they want to enable.</i></p>
<p>Compile the kernel:</p>
<p><code><mark>(chroot)# make && make modules_install</mark></code></p>
<p>Copy the kernel image to /boot:</p>
<p><code><mark>(chroot)# make install</mark></code></p>
<p>(Optional) Build an initramfs</p>
<p>On some systems, an initramfs (initial ram filesystem) is required to boot properly.</p>
<p>Do some research and decide whether you need - or want - an initramfs.</p>
<p>Install dracut:</p>
<p><code><mark>(chroot)# glacier -f dracut</mark></code></p>
<p>Build an initramfs:</p>
<p><code><mark>(chroot)# dracut</mark></code></p>
<h2>Configure the system</h2>
<p>Some components of the system must be configured before we can boot.</p>
<p>Create an fstab file.</p>
<p>An example of a properly formatted fstab is below:</p>
<p>/dev/sda1 /boot vfat defaults,noatime 0 2</p>
<p>/dev/sda2 none swap sw 0 0</p>
<p>/dev/sda3 / ext4 noatime 0 1</p>
<p>Enable system services, such as a cron daemon, logger, etc:</p>
<p><code><mark>(chroot)# esv start cronie chronyd sysklogd # for busybox init</mark></code></p>
<p><code><mark>(chroot)# systemctl enable --now cronie chronyd sysklogd # for systemd</mark></code></p>
<p>Other things you might want to configure are:</p>
<p> - /etc/doas.conf</p>
<p> - /etc/inittab</p>
<h2>Configure the bootloader</h2>
<p>Our system needs one more component before it can be booted into: the bootloader</p>
<p>For most users, systemd-boot is recommended.</p>
<p>The standalone package for systemd-boot can be installed by running:</p>
<p><code><mark>(chroot)# glacier -f gummiboot</mark></code></p>
<p><strong>GRUB</strong></p>
<p>Install the GRUB package:</p>
<p><i>Note: GRUB is split into 2 packages, grub-bios and grub-uefi.</i></p>
<p><i>Ensure you install the correct package.</i></p>
<p><code><mark>(chroot)# glacier -f grub-{bios,uefi}</mark></code></p>
<p>Install GRUB:</p>
<p><code><mark>(chroot)# grub-install /dev/sdX # for BIOS</mark></code></p>
<p><code><mark>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # for UEFI</mark></code></p>
<p>Create a GRUB configuration file:</p>
<p><code><mark>(chroot)# grub-mkconfig -o /boot/grub/grub.cfg</mark></code></p>
<p><strong>systemd-boot</strong></p>
<p><i>Note: systemd-boot only supports UEFI.</i></p>
<p><i>Use GRUB if your system is incompatible with UEFI.</i></p>
<p>Systemd-boot is included with systemd.</p>
<p>Install systemd-boot:</p>
<p><code><mark>(chroot)# bootctl install</mark></code></p>
<p>Edit /boot/loader/loader.conf and create a boot entry at /boot/loader/entries/everest.conf</p>
<h2>Finishing the Installation</h2>
<p>Every component of the system has been configured, and we can now boot into it.</p>
<p>Exit the chroot environment:</p>
<p><code><mark>(chroot)# exit</mark></code></p>
<p>Unmount all partitions from /mnt/everest:</p>
<p><code><mark>(root)# umount -R /mnt/everest</mark></code></p>
<p>Power off the system:</p>
<p><code><mark>(root)# poweroff</mark></code></p>
<p>Ensure you remove the installation media or you will not boot into the new system.</p>
<h2>Post-installation</h2>
<p>A base Everest system is pretty minimal. Most users will need to configure extra components,</p>
<p>such as a window manager, sound, or networking.</p>
<p>See page: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a></p>
<!-- 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>

21
template.html Normal file
View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<title>Everest Linux - Home</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">
</div>