update install.html and index.html

This commit is contained in:
Liam Waldron 2023-06-08 09:06:23 -04:00
parent 94d33791d5
commit 6d4f53bfb3
2 changed files with 64 additions and 35 deletions

View File

@ -26,23 +26,31 @@
<div class="main">
<h2>Everest Linux</h2>
<p>A highly flexible, general purpose meta-distribution, built off of the monolithic Linux kernel and Glacier package manager.</p>
<h2>Why Everest?</h2>
<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,</p>
<p>and tries to avoid including large programs in its base system.</p>
<h2>Advantages of Everest</h2>
<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>
<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>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</p>
<p>CFLAGS, CXXFLAGS, and MAKEFLAGS, and you're ready to go.</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>
<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>
<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</p>
<p>possible, and encouraged.</p>
<h2>Ready to try Everest?</h2>
<p><a href="install.html">Read the installation guide here.</a></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>
<h2>Try Everest</h2>
<button onclick="window.location.href='install.html';">
Installation Guide
</button>
<h2>News</h2>
<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>
<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>
<p></p>
<newshead><strong>2/1/23 - Manual intervention required for /etc/glacier.conf</strong></newshead>
@ -60,7 +68,7 @@
<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>
<p></p>
<newshead><strong>11/1/22 - System image builts have begun</strong></newshead>
<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>
@ -90,8 +98,30 @@
<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 compressing everything to a single executable,</p>
<p>and removing the whole "enter package name" scheme.</p>
<p>Glacier v2 has been released. This version provides several improvements to the codebase, such as condensing everything to a single executable.</p>
</div>
<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>
<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>
<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>
<p></p>
<newshead><strong>3/10/22 - Glacier v0.2rc</strong></newshead>
<div class="news">
<p>Added proper error handling.</p>
</div>
</div>
<footer>

View File

@ -33,12 +33,12 @@
<p></p>
<warnhead><strong>WARNING:</strong></warnhead>
<div class="warning">
<p>Simply copy and pasting commands from this guide won't cut it, and you'll most likely end up with a broken installation. Ensure you know what each command does.</p>
<p>Simply copy and pasting commands from this guide won't cut it, and you'll most 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>
</div>
<p></p>
<warnhead><strong>WARNING:</strong></warnhead>
<div class="warning">
<p>Everest is not for the faint of heart. If you have never touched Linux in your life, Everest is most certainly not for you. Check out https://linuxmint.com if you want a great Linux experience that works out of the box.</p>
<p>Everest is not for the faint of heart. If you have never touched Linux in your life, Everest is most certainly not for you. Linux Mint is a great distribution that works out of the box, and is a great entry point into Linux.</p>
</div>
<p></p>
<warnhead><strong>WARNING:</strong></warnhead>
@ -65,8 +65,7 @@
<p>Run commands prefixed with <code>(chroot)#</code> inside the chroot environment.</p>
<h2>Set up the environment</h2>
<p>Everest needs a proper environment set up in order to install correctly.</p>
<p>A system mountpoint is where the new system's root (/) will be. Where you put this doesn't matter, as the host system used to build the system won't be included</p>
<p>in the final installation. In this example, we will use /mnt/everest.</p>
<p>A system mountpoint is where the new system's root (/) 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 /mnt/everest.</p>
<p>Create a system mountpoint:</p>
<code>(root)# mkdir -pv /mnt/everest</code>
<p>A variable pointing to the system mountpoint may be useful in the future, as it will save you a bit of typing.</p>
@ -95,13 +94,18 @@
<td>Root filesystem</td>
<td>Remainder of the drive</td>
</tr>
<table>
</table>
<p>Partition the target drive:</p>
<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 world/xfsprogs</code>
<p></p>
<warnhead><strong>WARNING:</strong></warnhead>
<div class="warning">
<p>Zfs is not officially supported by Everest, and requires a lot of configuration to work properly. Use Zfs at your own risk.</p>
</div>
<p>In this example, Ext4 will be used.</p>
<p>Create a filesystem:</p>
<code>(root)# mkfs.ext4 /dev/root</code>
@ -123,9 +127,8 @@
<p>Create remaining directories on /usr with mkusrskel:</p>
<code>(root)# mkusrskel -d /mnt/everest/usr</code>
<h2>Downloading a system image</h2>
<p>An Everest system image provides an incomplete root filesystem which users can build a system off of. Users should be careful of which</p>
<p>image they choose, as switching in the future is trivial, time consuming, and requires rebuilding a lot of packages. It's a lot better</p>
<p>to get it right the first time, rather than trying to get it right later.</p>
<p>An Everest system image provides an incomplete root filesystem which users can build a system off of. Users should be careful of which image they choose, as switching in the future is trivial, time consuming, and requires rebuilding a lot of packages.</p>
<p>It's a lot better to get it right the first time, rather than trying to get it right later.</p>
<p>Do some thorough planning to ensure you get the right system image. For instance, ask yourself a few questions, such as:</p>
<ol>
<li>Do I need 32 bit libraries?</li>
@ -144,29 +147,26 @@
<h2>Unpacking the system image</h2>
<p>Now that a system image has been downloaded, we can unpack it.</p>
<p>Ensure the system image is inside the system mountpoint, otherwise you may run into trouble.</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 `tar xf` will</p>
<p>result in a broken image. A couple extra flags are needed to preserve these permissions in the unpacked image.</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 `tar xf` will result in a broken image. A couple extra flags are needed to preserve these permissions in the unpacked image.</p>
<p>Unpack the system image:</p>
<code>(root)# tar -xpvf SYSTEM_IMAGE --xattrs-include='*.*' --numeric-owner</code>
<p>If this command was run correctly, you shouldn't need to edit any permissions manually.</p>
<p>In case permissions were changed, you can use the 'prep' command from everest-build-tools.</p>
<h2>Chrooting into the system mountpoint</h2>
<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,</p>
<p>the system is unable to boot. At this point, we must chroot into the new system. This will allow us to complete the system without booting.</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 without booting.</p>
<p>Chroot into the new system:</p>
<code>(root)# everest-chroot /mnt/everest</code>
<p>Change the shell prompt to differentiate the two environments:</p>
<code>(chroot)# echo "export PS1='(chroot) ${PS1}'" >> /etc/profile && source /etc/profile</code>
<h2>Install packages</h2>
<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</p>
<p>hours to compile on some hardware.</p>
<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>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>
<wiki>See: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/Introduction-to-Glacier">Introduction to Glacier</a></wiki>
<h2>Install the Linux kernel</h2>
<p>The most important part of the system, the kernel, which allows hardware to communicate with software, is ready to be installed.</p>
<p>If needed, merge the linux-firmware package, which provides device firmware:</p>
<code>(chroot)# gpkg -f world/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</p>
<p>source code, should you wish to compile your own.</p>
<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.</p>
<p>Download the kernel's source tree:</p>
@ -192,8 +192,7 @@
<p>Once the kernel is configured, compile it:</p>
<code>(chroot)# make && make modules install</code>
<p><strong>Option 2: Distribution kernel</strong></p>
<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</p>
<p>provides a binary kernel. However, there are a couple of pitfalls to this option:</p>
<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>
@ -208,8 +207,7 @@
<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,</p>
<p>while those who configured and compiled their own will usually not need one.</p>
<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>
@ -291,8 +289,8 @@
<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</p>
<p>will be unable to load the Linux kernel upon boot. This guide only mentions GRUB, however note that other bootloaders are supported.</p>
<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>Merge GRUB for BIOS:</p>
<code>(chroot)# gpkg -f world/grub-bios</code>
<p>Merge GRUB for UEFI:</p>
@ -320,7 +318,8 @@
<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>
</div>
<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-2023 Everest Linux</p>