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"/> <link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head> </head>
<body> <body>
<ul> <!-- Navbar -->
<li><a href="index.html">Home</a></li> <div class="sidenav">
<li><a href="about.html">About</a></li> <a href="index.html">Home</a>
<li><a href="install.html">Handbook</a></li> <a href="about.html">About</a>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li> <a href="install.html">Install</a>
<li><a href="download.html">Downloads</a></li> <a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
<li><a href="https://git.everestlinux.org">Git</a></li> <a href="download.html">Downloads</a>
</ul> <a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
<img src="img/banner-ab.jpg" alt="Everest Logo"/> <a href="https://git.everestlinux.org">Git</a>
<h1>About Everest</h1> </div>
<p>Everest Linux is a source based Linux meta-distribution.</p>
<p></p> <!-- Rest of page -->
<h3>History of Everest</h3> <div class="main">
<p>2021 - The idea of a system that combines the simplicity of binary packaging with the flexibility of source based packaging was born</p> <h2>About Everest</h2>
<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>Everest Linux is a source based Linux meta-distribution,</p>
<p>Mid 2022 - Glacier reaches a stable release point</p> <p>with a focus on simplicity and flexibility.</p>
<p>Late June 2022 - everestlinux.org is registered and git.everestlinux.org goes online</p> <h2>History</h2>
<p>September 2022 - Early prototypes of the ELIF (Everest Linux Installation Framework) are completed</p> <p>2021 - The idea of a packaging system that combined</p>
<p>October 2022 - Glacier v3 enters testing</p> <p>the simplicity of binary based packaging with the power of source</p>
<p></p> <p>based packaging was proposed.</p>
<h3>Design Principles</h3> <p>Early 2022 - Early prototypes of Glacier were created. These</p>
<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>versions came with no multi-repository support, caching, or logging</p>
<p><strong>Simplicity</strong> - We provide packages with almost zero modifications from upstream, except when necessary.</p> <p>of any kind.</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>Mid 2022 - Glacier v1 releases. This was the first stable release</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>of Glacier.</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>Early June 2022 - Glacier v2 is released.
<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>Late June 2022 - everestlinux.org is registered.</p>
<p><strong>Functionality vs Ideology</strong> - The developers of Everest are strong advocates of free software, but understand that</p> <p>September 2022 - Different ways of bootstrapping a base system</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>are tested by the development team.</p>
<p>software over libre counterparts. We do not take steps to prevent proprietary software in our repositories,</p> <p>October 2022 - Glacier v3 is released.</p>
<p>only requiring it to be under the <strong>multiverse</strong> repository.</p> <p>December 2022 - System image builds done by the development team.</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> <h2>Design Principles</h2>
<p>such as systemd, dbus, rust, java, sudo, and most recently, bluetooth.</p> <p>Our design principles heavily influence and guide development.</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>You may notice we share many of these with Arch.</p>
<p>we should instead focus on users with a willingness to learn how to install and use Everest.</p> <strong>Simplicity</strong>
</body> <p>We follow the UNIX philosphy when possible. Programs should do one thing,</p>
</html> <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>

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

@ -1,110 +1,80 @@
/* everest.css */ /* css/everest.css - stylesheet for everest-web */
body { /*
color: white; Copyright (C) 2023 Everest Linux.
background-color: #2C2C2C; Permission is granted to copy, distribute and/or modify this document
border: 0px solid #2C2C2C; under the terms of the GNU Free Documentation License, Version 1.3
/* border-radius: 16px; */ or any later version published by the Free Software Foundation;
font-family: sans-serif; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
margin: 0px; A copy of the license is included in the section entitled "GNU
min-height: 100%; Free Documentation License".
padding-top: 8px; */
padding-bottom: 8px;
padding-left: 0px; /* Sidebar menu */
padding-right: 0px; .sidenav {
} height: 100%;
html { width: 160px;
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; position: fixed;
z-index: 1;
top: 0; top: 0;
width: 100%; left: 0;
background-color; #1E1E1E;
overflow-x: hidden;
padding-top: 20px;
} }
li { /* Menu links */
float: left; .sidenav a {
border-right: 1px solid #bbb; padding: 6px 8px 6px 16px;
}
li a {
display: block;
color: white;
text-align: center;
padding: 14px 24px;
text-decoration: none; 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; font-size: 20px;
margin: 16px; color: #818181;
display: block;
} }
/* Darker background on mouse-over */ .sidenav a:hover {
.btn:hover { color: #4a86e8ff;
background-color: SteelBlue;
} }
.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 { button {
padding-left: 16px; font-size: 24px;
padding-right: 16px; border-style: none;
padding-top: 2px; border-left-style: solid;
padding-bottom: 2px; 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> <!DOCTYPE html>
<hmtl> <html>
<head> <head>
<title>Everest Linux - Download</title> <title>Everest Linux - Home</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/> <link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head> </head>
<body> <body>
<ul> <!-- Navbar -->
<li><a href="index.html">Home</a></li> <div class="sidenav">
<li><a href="about.html">About</a></li> <a href="index.html">Home</a>
<li><a href="install.html">Handbook</a></li> <a href="about.html">About</a>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li> <a href="install.html">Install</a>
<li><a href="download.html">Downloads</a></li> <a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
<li><a href="https://git.everestlinux.org">Git</a></li> <a href="download.html">Downloads</a>
</ul> <a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
<img src="img/banner-dl.jpg" alt="Everest Logo"/> <a href="https://git.everestlinux.org">Git</a>
<h1>Download Everest</h1> </div>
<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> <!-- Rest of page -->
<p>Using a very old release is not recommended because many critical programs (such as the Linux kernel) are severely out of date.</p> <div class="main">
<p>It is for this reason that releases older than 2 years are removed from the archives.</p> <h2>Download Everest</h2>
<p>There are multiple ways to get Everest.</p> <p>Most users will want to get the most recent release.</p>
<h2>HTTPS</h2> <p>If for some reason you require an older release,</p>
<!-- Add icon library --> <p>it may be in the release archive, which contains all</p>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <p>deprecated releases.</p>
<!-- Auto width --> <p>Using a very old release is not recommended as many critical</p>
<button class="btn"><i class="fa fa-download"></i><a href="https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases"> Download</a></button> <p>programs will likely have security vulnerabilities.</p>
<h2>Bittorrent</h2> <p>ALWAYS verify checksums of system images.</p>
<p>Before torrenting, ensure doing so will not get you into trouble with local authorities. <p>There are multiple ways of getting Everest:</p>
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> <h2>HTTPS</h2>
<p>Verifying the checksum of a torrented tarball is not required, however it is still recommended to do so.</p> <button onclick="window.location.href='https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases';">
<p>THe signature ofthe latest tarball should be:</p> Download
<p><code><mark>150dad224cb7e4244046b97170e0e01834ce07445bddb4be7ebc035b68b5221c everestlinux-summit-0.0.1-systemd-rc.tar.xz</mark></code></p> </button>
<p><i>Note: if using a web seed capable torrent client, please leave it open once finished to seed back.</i></p> <h2>BitTorrent</h2>
<h2>wget</h2> <p>In some regions, using BitTorrent is illegal.</p>
<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>Please ensure accessing BitTorrent is safe to do.</p>
<p>The following command will download Everest:</p> <p>Everest Linux assumes no responsibility.</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>If using a web seed capable client, please leave it open once finished,</p>
<p>Ensure you define which version you want.</p> <p>in order to seed back.</p>
<h2>Installing Everest</h2> <h2>wget</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> <p>If you want to quickly download a system image, you can use wget.</p>
</body> <code>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/SYSTEM_IMAGE</code>
</html> </div>

111
index.html Executable file → Normal file
View File

@ -1,35 +1,88 @@
<!DOCTYPE html> <!DOCTYPE html>
<hmtl> <html>
<head> <head>
<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/everest.css"/>
</head> </head>
<body> <body>
<ul> <!-- Navbar -->
<li><a href="index.html">Home</a></li> <div class="sidenav">
<li><a href="about.html">About</a></li> <a href="index.html">Home</a>
<li><a href="install.html">Handbook</a></li> <a href="about.html">About</a>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li> <a href="install.html">Install</a>
<li><a href="download.html">Downloads</a></li> <a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
<li><a href="https://git.everestlinux.org">Git</a></li> <a href="download.html">Downloads</a>
</ul> <a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
<img src="img/banner2.jpg" alt="Everest Logo"/> <a href="https://git.everestlinux.org">Git</a>
<h1>Everest Linux</h1> </div>
<p>A highly flexible, general purpose meta-distribution, built off of the monolithic Linux kernel and Glacier package manager.</p>
<h2>Why Everest?</h2> <!-- Rest of page -->
<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> <div class="main">
<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> <h2>Everest Linux</h2>
<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>A highly flexible, general purpose meta-distribution,</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>built off of the monolithic Linux kernel and Glacier</p>
<p><strong>Flexible: </strong>Everest supports higly customized installations. Any part of Everest can be replaced.</p> <p>package manager.</p>
<h1>Ready to try Everest?</h1> <h2>Why Everest?</h2>
<p><a href="install.html">Read the installation guide here.</a></p> <strong>Simple: </strong><p>Everest strives to be simple by design,</p>
<h1>News</h1> <p>coming with no pre-installed bloatware or spyware.</p>
<p>11/1/22 - System image builds begin</p> <p>Everest follows the UNIX philosophy whenever possible,</p>
<p>10/25/22 - Glacier v3 is released</p> <p>and tries to avoid including large programs in its base system.</p>
<p>10/7/22 - Glacier v3 enters testing</p> <strong>Stable: </strong><p>Everest is designed to be as stable</p>
<p>6/21/22 - everestlinux.org has been registered, all packages have been migrated to git.everestlinux.org.</p> <p>as possible. All base system programs are statically linked,</p>
<p>6/9/22 - Glacier v2.1 has been released</p> <p>and can be updated with git-controlled root filesystems.</p>
<p>5/31/22 - Glacier v2.0 has been released</p> <strong>Fast: </strong><p>Glacier downloads program source</p>
</body> <p>code and compiles it locally on your system. The end result</p>
</html> <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> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>Everest Linux - Installation Handbook</title> <title>Everest Linux - Install</title>
<link type="text/css" rel="stylesheet" href="css/everest.css"/> <link type="text/css" rel="stylesheet" href="css/everest.css"/>
</head> </head>
<body> <body>
<ul> <!-- Navbar -->
<li><a href="index.html">Home</a></li> <div class="sidenav">
<li><a href="about.html">About</a></li> <a href="index.html">Home</a>
<li><a href="install.html">Handbook</a></li> <a href="about.html">About</a>
<li><a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a></li> <a href="install.html">Install</a>
<li><a href="download.html">Downloads</a></li> <a href="https://git.everestlinux.org/EverestLinux/glacier-pkgs">Packages</a>
<li><a href="https://git.everestlinux.org">Git</a></li> <a href="download.html">Downloads</a>
</ul> <a href="https://git.everestlinux.org/EverestLinux/wiki">Wiki</a>
<img src="img/banner-hb.jpg" alt="banner-hb"/> <a href="https://git.everestlinux.org">Git</a>
<h1>Installation Handbook</h1> </div>
<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> <!-- Rest of page -->
<h2>Prerequisites</h2> <div class="main">
<p>The following steps will be used to complete the installation:</p> <h2>Installation Handbook</h2>
<p> - Set up the environment by creating proper mountpoints, users, and partitions</p> <p>This is the official installation guide for Everest Linux.</p>
<p> - Download the Everest Linux rootfs image</p> <p>Using unofficial guides is not recommended as they may be</p>
<p> - Unpack the rootfs image onto the previously set up mountpoint</p> <p>out of date.</p>
<p> - Chroot into the new system</p> <p>Simply following this guide blindly is a great way to end up</p>
<p> - Set up Glacier</p> <p>with a broken installation. Ensure you have a rough idea of</p>
<p> - Install system software</p> <p>what each command does.</p>
<p> - Install the Linux kernel</p> <p>If you need assistance, reach out on IRC (#everestlinux) or Discord.</p>
<p> - Set up init scripts/services</p> <h2>Prerequisites</h2>
<p> - Reboot the system</p> <p>The following steps will be used to complete the installation:</p>
<p><i>Note: Everest is highly flexible, and every aspect of the system can be changed.</i></p> <p> - Set up the environment</p>
<p><i>If you are changing anything, it is assumed you know exactly what you're doing.</i></p> <p> - Download the Everest Linux system image</p>
<p>Commands prefixed with <code><mark>(user)$</mark></code> should be run as an unprivileged user.</p> <p> - Unpack the system image</p>
<p>Commands prefixed with <code><mark>(root)#</mark></code> should be run as the root user.</p> <p> - Chroot into the new system</p>
<p>Commands prefixed with <code><mark>(chroot)#</mark></code> should be run as the root user inside the chroot environment.</p> <p> - Install desired programs</p>
<h2>Set up the environment</h2> <p> - Install the Linux kernel
<p>Our environment needs to be set up correctly before any other steps can proceed.</p> <p> - Set up init scripts/services</p>
<p>Create the system mountpoint:</p> <p> - Reboot the system</p>
<p><code><mark>(root)# mkdir -v /mnt/everest</mark></code></p> <i>Note: Everest is highly flexible.</i>
<p>Assign the system mounpoint a variable for ease of use:</p> <i>If you are changing anything in this guide, it is assumed</i>
<p><code><mark>(root)# export EVEREST=/mnt/everest</mark></code></p> <i>you know exactly what to do.</i>
<p>Create any necessary partitions:</p> <p>Run <code>(user)$</code> commands as an unprivileged user.</p>
<p>/boot - 256MB</p> <p>Run <code>(root)#</code> commands as the root user.</p>
<p>(optional) swap - RAM * 2</p> <p>Run <code>(chroot)#</code> commands inside the chroot environment.</p>
<p>/ - rest of the drive</p> <h2>Set up the environment</h2>
<p>Mount the root partition to the system mountpoint:</p> <p>Our environment needs to be set up correctly for the installation.</p>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest</mark></code></p> <p>Create the system mountpoint:</p>
<p>Create the boot directory:</p> <code>(root)# mkdir -pv /mnt/everest</code>
<p><code><mark>(root)# mkdir -pv /mnt/everest/boot</mark></code></p> <p>Although it may not be used, assign the system mountpoint a variable:</p>
<p>Mount the boot partition:</p> <code>(root)# export SYS_MNT=/mnt/everest</code>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest/boot</mark></code></p> <p>Partition your drive:</p>
<p>Our system is now set up for the installation.</p> <code>(root)# cfdisk /dev/sdX</code>
<h2>Downloading the Everest image</h2> <p>Mount the root partition to the system mountpoint:</p>
<p>An Everest Image is an uncomplete root filesystem image which provides a strong base to build off of.</p> <code>(root)# mount /dev/sdX /mnt/everest</code>
<p>Each image has slight differences to others, some differences may include:</p> <p>If needed, create the boot directory:</p>
<p> - The init system</p> <code>(root)# mkdir -pv /mnt/everest/boot</code>
<p> - The standard C library</p> <p>Mount the boot partition:</p>
<p> - The architecture</p> <code>(root)# mount /dev/sdX /mnt/everest/boot</code>
<p>Images are designated in the following ways:</p> <h2>Downloading the Everest system image</h2>
<p>everestlinux-X.X.X-INIT-ARCH(if not x86)-img.tar.xz</p> <p>An Everest system image is an incomplete root filesystem, which</p>
<p>For instance, an image targeting x86_64, with the busybox init system would be called:</p> <p>provides a strong base to build off of</p>
<p>everestlinux-1.0.0-busybox-img.tar.xz</p> <p>Not all system images are the same. Some differences are:</p>
<p>An image targeting arm64, with systemd would be called:</p> <p> - The init system</p>
<p>everestlinux-1.0.0-systemd-aarch64-img.tar.xz</p> <p> - The standard C library</p>
<p>Other designations may be used, such as:</p> <p> - The architecture</p>
<p> - no_multilib</p> <p> - SELinux support</p>
<p>Ensure you download the correct image for your system. For most users, images targeting</p> <p> - Multilib support</p>
<p><strong>x86_64</strong> with the <strong>busybox</strong> init system are what you should use.</p> <p>Ensure you download the image you want. Migrating in the future</p>
<p>To get the image to our destination as easily as possible, use wget</p> <p>is not officially supported or even recommended.</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>Download an image with <code>wget</code>:</p>
<p>With the image downloaded, the system can now be installed.</p> <code>(user)$ wget SYSTEM_IMAGE_LINK</code>
<h2>Unpacking the Image</h2> <h2>Unpacking the system image</h2>
<p>The image can now be unpacked into the system mountpoint.</p> <p>The system image can now be unpacked.</p>
<p>Ensure the image is located in <p><code><mark>/mnt/everest</mark></code></p></p> <p>Ensure the system image is located under the system mountpoint.</p>
<p>then run the following command to unpack it:</p> <p>Note that a simple <code>tar -xvf</code> will cause errors with</p>
<p><code><mark>(root)# tar -xpvf everestlinux-img.tar.xz --xattrs-include='*.*' --numeric-owner</mark></code></p> <p>permissions. Therefore, a few extra flags are needed.</p>
<p>The following 2 options are very important. Without them, some binaries may refuse to run due to incorrect file ownership.</p> <p>Unpack the system image:</p>
<h2>Chrooting into the new installation</h2> <code>(root)# tar -xpvf SYSTEM_IMAGE --xattrs-include='*.*' --numeric-owner</code>
<p>Our system is now in a partially working state.</p> <p>This will ensure all file ownership is compliant.</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> <h2>Chrooting into the new installation</h2>
<p>Many parts of the system are missing, including a bootloader and kernel.</p> <p>The system is in a partially working state.</p>
<p>Chrooting allows us to access the system to make modifications, without actually booting into it.</p> <p>If we were to call it a day and reboot now, it wouldn't be possible.</p>
<p>Before chrooting, we must mount some partitions.</p> <p>Many critical parts of the system are missing, including the</p>
<p>Chroot into the system:</p> <p>bootloader and kernel. Chrooting allows us to make modifications</p>
<p><code><mark>(root)# everest-chroot /mnt/everest</mark></code></p> <p>to the target system, without actually booting into it.</p>
<p>This program will check the following:</p> <p>Before chrooting, additional filesystems must be mounted.</p>
<p> - /mnt/everest exists</p> <p>Mount these filesystems:</p>
<p> - /bin/sh exists</p> <code>(root)# mount --types proc /proc /mnt/everest/proc</code>
<p>Once in the chroot environment, run the following commands:</p> <p></p>
<p><code><mark>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</mark></code></p> <code>(root)# mount --rbind /sys /mnt/everest/sys</code>
<p>We are now fully set up for the rest of the installation.</p> <p></p>
<h2>Set up Glacier</h2> <code>(root)# mount --make-rslave /mnt/everest/sys</code>
<p>Glacier is the package manager for Everest. It must be installed into the new system.</p> <p></p>
<p>Download the Glacier release tarball:</p> <code>(root)# mount --rbind /dev/ /mnt/everest/dev</code>
<p><code><mark>(chroot)# wget RELEASE_TARBALL</mark></code></p> <p></p>
<p>Unpack the tarball and run the installation:</p> <code>(root)# mount --make-rslave /mnt/everest/dev</code>
<p><code><mark>(chroot)# tar xpvf glacier-release-X.X.X.tar.xz && glacierX.X.X/INSTALL.sh</mark></code></p> <p></p>
<p>This script will check for the following, and make corrections if necessary:</p> <code>(root)# mount --bind /run /mnt/everest/run</code>
<p> - The C library is installed</p> <p></p>
<p> - The C library headers are installed</p> <code>(root)# mount --make-slave /mnt/everest/run</code>
<p> - The C compiler is installed</p> <p>Chroot into the system:</p>
<p> - GNU Binutils are installed</p> <code>(root)# chroot --userspec=0:0 /mnt/everest /bin/sh</code>
<p> - GNU Make is installed</p> <p>Change the shell prompt to avoid confusion:</p>
<p> - Python is installed</p> <code>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</code>
<p>Edit <p><code><mark>/etc/make.conf</mark></code></p></p> <h2>Install programs</h2>
<p>and change any settings you wish.</p> <p>Any programs you wish to install should be installed now.</p>
<h2>Install the Linux kernel</h2> <p>This is because the Linux kernel takes multiple hours to compile.</p>
<p>The kernel can now be installed.</p> <p>See <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a> for ideas. Note that some</p>
<p>Install the linux-firmware package, which provides firmware for some devices:</p> <p>programs assume the system is installed, so use caution.</p>
<p><code><mark>(chroot)# glacier -f linux-firmware</mark></code></p> <h2>Install the Linux kernel</h2>
<p>Use Glacier to download the source tree:</p> <p>The most important part of the system, the kernel, is ready to be installed.</p>
<p><code><mark>(chroot)# glacier -f linux</mark></code></p> <p>Install the linux-firmware package, which provides device firmware:</p>
<p>Find the kernel source tree in <p><code><mark>/usr/src/linux</mark></code></p> <code>(chroot)# glacier -f linux-firmware</code>
<p><i>Note: Alternatively, you can download a new kernel from kernel.org</i></p> <p>Download the kernel's source tree:</p>
<p>Clean the kernel source tree:</p> <code>(chroot)# glacier -f linux</code>
<p><code><mark>(chroot)# make mrproper</mark></code></p> <p>Change directory to the kernel's source tree:</p>
<p>Configure the kernel:</p> <code>(chroot)# cd /usr/src/linux</code>
<p><code><mark>(chroot)# make menuconfig</mark></code></p> <p>Ensure the kernel source tree is clean:</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> <code>(chroot)# make mrproper</code>
<p>Compile the kernel:</p> <p>Configure the kernel:</p>
<p><code><mark>(chroot)# make && make modules_install</mark></code></p> <code>(chroot)# ARCH="your-arch-here" make defconfig && make menuconfig</code>
<p>Copy the kernel image to /boot:</p> <p>Compile the kernel:</p>
<p><code><mark>(chroot)# make install</mark></code></p> <code>(chroot)# make && make modules_install</code>
<p>(Optional) Build an initramfs</p> <p>Install the kernel:</p>
<p>On some systems, an initramfs (initial ram filesystem) is required to boot properly.</p> <code>(chroot)# make install</code>
<p>Do some research and decide whether you need - or want - an initramfs.</p> <p>On some systems, an initial RAM filesystem (initramfs)</p>
<p>Install dracut:</p> <p>may be needed to ensure proper booting.</p>
<p><code><mark>(chroot)# glacier -f dracut</mark></code></p> <p>If you want an initramfs, install dracut:</p>
<p>Build an initramfs:</p> <code>(chroot)# glacier -f dracut</code>
<p><code><mark>(chroot)# dracut</mark></code></p> <p>Build an initramfs:</p>
<h2>Configure the system</h2> <code>(chroot)# dracut</code>
<p>Some components of the system must be configured before we can boot.</p> <h2>Configure the system</h2>
<p>Create an fstab file.</p> <p>Some components of the system mus be configured.</p>
<p>An example of a properly formatted fstab is below:</p> <p>Create <code>/etc/fstab</code>.</p>
<p>/dev/sda1 /boot vfat defaults,noatime 0 2</p> <p>Enable system services, such as a cron daemon, logger, etc:</p>
<p>/dev/sda2 none swap sw 0 0</p> <code>(chroot)# /etc/init.d/{cronie,chronyd,sysklogd} start</code>
<p>/dev/sda3 / ext4 noatime 0 1</p> <p></p>
<p>Enable system services, such as a cron daemon, logger, etc:</p> <code>(chroot)# systemctl enable --now cronie chronyd sysklogd</code>
<p><code><mark>(chroot)# esv start cronie chronyd sysklogd # for busybox init</mark></code></p> <p>Set the timezone:</p>
<p><code><mark>(chroot)# systemctl enable --now cronie chronyd sysklogd # for systemd</mark></code></p> <code>(chroot)# ln -svf /usr/share/zoneinfo/Region/City /etc/localtime</code>
<p>Other things you might want to configure are:</p> <p>Configure the locale:</p>
<p> - /etc/doas.conf</p> <code>(chroot)# echo "LANG=en_US.UTF-8" > /etc/locale.conf</code>
<p> - /etc/inittab</p> <p>Set the system hostname:</p>
<h2>Configure the bootloader</h2> <code>(chroot)# echo "my_hostname" > /etc/hostname</code>
<p>Our system needs one more component before it can be booted into: the bootloader</p> <p>Other things you might want to configure are:</p>
<p>For most users, systemd-boot is recommended.</p> <p> - /etc/doas.conf or /etc/sudoers</p>
<p>The standalone package for systemd-boot can be installed by running:</p> <p> - /etc/inittab</p>
<p><code><mark>(chroot)# glacier -f gummiboot</mark></code></p> <h2>Configure the bootloader</h2>
<p><strong>GRUB</strong></p> <p>One more critical component is needed: the bootloader</p>
<p>Install the GRUB package:</p> <p>While any bootloader can be installed, this guide recommends</p>
<p><i>Note: GRUB is split into 2 packages, grub-bios and grub-uefi.</i></p> <p><code>systemd-boot</code> and <code>grub</code>.</p>
<p><i>Ensure you install the correct package.</i></p> <p>For systemd-boot/gummiboot:</p>
<p><code><mark>(chroot)# glacier -f grub-{bios,uefi}</mark></code></p> <p>Install the standalone package for systemd-boot if systemd is not installed:</p>
<p>Install GRUB:</p> <code>(chroot)# glacier -f gummiboot</code>
<p><code><mark>(chroot)# grub-install /dev/sdX # for BIOS</mark></code></p> <p>Install the bootloader:</p>
<p><code><mark>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # for UEFI</mark></code></p> <code>(chroot)# bootctl install</code>
<p>Create a GRUB configuration file:</p> <p>Edit <code>/boot/loader/loader.conf</code> to your liking.</p>
<p><code><mark>(chroot)# grub-mkconfig -o /boot/grub/grub.cfg</mark></code></p> <p>Create a boot entry at <code>/boot/loader/entries/everest.conf</code>.</p>
<p><strong>systemd-boot</strong></p> <p>For GRUB:</p>
<p><i>Note: systemd-boot only supports UEFI.</i></p> <p>Install the GRUB package that corresponds to your system:</p>
<p><i>Use GRUB if your system is incompatible with UEFI.</i></p> <code>(chroot)# glacier -f grub-bios</code>
<p>Systemd-boot is included with systemd.</p> <p></p>
<p>Install systemd-boot:</p> <code>(chroot)# glacier -f grub-uefi</code>
<p><code><mark>(chroot)# bootctl install</mark></code></p> <p>Install GRUB:</p>
<p>Edit /boot/loader/loader.conf and create a boot entry at /boot/loader/entries/everest.conf</p> <code>(chroot)# grub-install /dev/sdX # for BIOS</code>
<h2>Finishing the Installation</h2> <p></p>
<p>Every component of the system has been configured, and we can now boot into it.</p> <code>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # for UEFI</code>
<p>Exit the chroot environment:</p> <p>Create a GRUB configuration file:</p>
<p><code><mark>(chroot)# exit</mark></code></p> <code>(chroot)# grub-mkconfibg -o /boot/grub/grub.cfg</code>
<p>Unmount all partitions from /mnt/everest:</p> <h2>Finishing the installation</h2>
<p><code><mark>(root)# umount -R /mnt/everest</mark></code></p> <p>Every component of the system has been configured, and we can now</p>
<p>Power off the system:</p> <p>boot into it.</p>
<p><code><mark>(root)# poweroff</mark></code></p> <p>Exit the chroot environment:</p>
<p>Ensure you remove the installation media or you will not boot into the new system.</p> <code>(chroot)# exit</code>
<h2>Post-installation</h2> <p>Unmount all partitions from the system mountpoint:</p>
<p>A base Everest system is pretty minimal. Most users will need to configure extra components,</p> <code>(root)# umount -R /mnt/everest</code>
<p>such as a window manager, sound, or networking.</p> <p>Power off the system:</p>
<p>See page: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a></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>