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;

70
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>
<!-- Rest of page -->
<div class="main">
<h2>Download Everest</h2>
<p>Most users will want to get the most recent release.</p> <p>Most users will want to get the most recent release.</p>
<p>If for some reason you require an older release, it may be in the release archive.</p> <p>If for some reason you require an older release,</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 may be in the release archive, which contains all</p>
<p>It is for this reason that releases older than 2 years are removed from the archives.</p> <p>deprecated releases.</p>
<p>There are multiple ways to get Everest.</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> <h2>HTTPS</h2>
<!-- Add icon library --> <button onclick="window.location.href='https://git.everestlinux.org/EverestLinux/everest/src/branch/main/releases';">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> Download
<!-- Auto width --> </button>
<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>
<h2>Bittorrent</h2> <p>In some regions, using BitTorrent is illegal.</p>
<p>Before torrenting, ensure doing so will not get you into trouble with local authorities. <p>Please ensure accessing BitTorrent is safe to do.</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> <p>Everest Linux assumes no responsibility.</p>
<p>Verifying the checksum of a torrented tarball is not required, however it is still recommended to do so.</p> <p>If using a web seed capable client, please leave it open once finished,</p>
<p>THe signature ofthe latest tarball should be:</p> <p>in order to seed back.</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> <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>If you want to quickly download a system image, you can use wget.</p>
<p>The following command will download Everest:</p> <code>(user)$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/SYSTEM_IMAGE</code>
<p><code><mark>$ wget https://git.everestlinux.org/EverestLinux/everest/raw/branch/main/releases/everestlinux-X.X.X-master.tar.xz</mark></code></p> </div>
<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>

103
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>
<!-- 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> <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> <strong>Simple: </strong><p>Everest strives to be simple by design,</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>coming with no pre-installed bloatware or spyware.</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>Everest follows the UNIX philosophy whenever possible,</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>and tries to avoid including large programs in its base system.</p>
<p><strong>Flexible: </strong>Everest supports higly customized installations. Any part of Everest can be replaced.</p> <strong>Stable: </strong><p>Everest is designed to be as stable</p>
<h1>Ready to try Everest?</h1> <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> <p><a href="install.html">Read the installation guide here.</a></p>
<h1>News</h1> <h2>News</h2>
<p>11/1/22 - System image builds begin</p> <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>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>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>Glacier v3 is now available for testing. Please note that</p>
<p>6/9/22 - Glacier v2.1 has been released</p> <p>this release is not stable and therefore should not be run</p>
<p>5/31/22 - Glacier v2.0 has been released</p> <p>on a production machine.</p>
</body> <p>----------------------------------------</p>
</html> <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 -->
<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> <h2>Prerequisites</h2>
<p>The following steps will be used to complete the installation:</p> <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> - Set up the environment</p>
<p> - Download the Everest Linux rootfs image</p> <p> - Download the Everest Linux system image</p>
<p> - Unpack the rootfs image onto the previously set up mountpoint</p> <p> - Unpack the system image</p>
<p> - Chroot into the new system</p> <p> - Chroot into the new system</p>
<p> - Set up Glacier</p> <p> - Install desired programs</p>
<p> - Install system software</p> <p> - Install the Linux kernel
<p> - Install the Linux kernel</p>
<p> - Set up init scripts/services</p> <p> - Set up init scripts/services</p>
<p> - Reboot the system</p> <p> - Reboot the system</p>
<p><i>Note: Everest is highly flexible, and every aspect of the system can be changed.</i></p> <i>Note: Everest is highly flexible.</i>
<p><i>If you are changing anything, it is assumed you know exactly what you're doing.</i></p> <i>If you are changing anything in this guide, it is assumed</i>
<p>Commands prefixed with <code><mark>(user)$</mark></code> should be run as an unprivileged user.</p> <i>you know exactly what to do.</i>
<p>Commands prefixed with <code><mark>(root)#</mark></code> should be run as the root user.</p> <p>Run <code>(user)$</code> commands as an unprivileged user.</p>
<p>Commands prefixed with <code><mark>(chroot)#</mark></code> should be run as the root user inside the chroot environment.</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> <h2>Set up the environment</h2>
<p>Our environment needs to be set up correctly before any other steps can proceed.</p> <p>Our environment needs to be set up correctly for the installation.</p>
<p>Create the system mountpoint:</p> <p>Create the system mountpoint:</p>
<p><code><mark>(root)# mkdir -v /mnt/everest</mark></code></p> <code>(root)# mkdir -pv /mnt/everest</code>
<p>Assign the system mounpoint a variable for ease of use:</p> <p>Although it may not be used, assign the system mountpoint a variable:</p>
<p><code><mark>(root)# export EVEREST=/mnt/everest</mark></code></p> <code>(root)# export SYS_MNT=/mnt/everest</code>
<p>Create any necessary partitions:</p> <p>Partition your drive:</p>
<p>/boot - 256MB</p> <code>(root)# cfdisk /dev/sdX</code>
<p>(optional) swap - RAM * 2</p>
<p>/ - rest of the drive</p>
<p>Mount the root partition to the system mountpoint:</p> <p>Mount the root partition to the system mountpoint:</p>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest</mark></code></p> <code>(root)# mount /dev/sdX /mnt/everest</code>
<p>Create the boot directory:</p> <p>If needed, create the boot directory:</p>
<p><code><mark>(root)# mkdir -pv /mnt/everest/boot</mark></code></p> <code>(root)# mkdir -pv /mnt/everest/boot</code>
<p>Mount the boot partition:</p> <p>Mount the boot partition:</p>
<p><code><mark>(root)# mount /dev/sdX /mnt/everest/boot</mark></code></p> <code>(root)# mount /dev/sdX /mnt/everest/boot</code>
<p>Our system is now set up for the installation.</p> <h2>Downloading the Everest system image</h2>
<h2>Downloading the Everest image</h2> <p>An Everest system image is an incomplete root filesystem, which</p>
<p>An Everest Image is an uncomplete root filesystem image which provides a strong base to build off of.</p> <p>provides a strong base to build off of</p>
<p>Each image has slight differences to others, some differences may include:</p> <p>Not all system images are the same. Some differences are:</p>
<p> - The init system</p> <p> - The init system</p>
<p> - The standard C library</p> <p> - The standard C library</p>
<p> - The architecture</p> <p> - The architecture</p>
<p>Images are designated in the following ways:</p> <p> - SELinux support</p>
<p>everestlinux-X.X.X-INIT-ARCH(if not x86)-img.tar.xz</p> <p> - Multilib support</p>
<p>For instance, an image targeting x86_64, with the busybox init system would be called:</p> <p>Ensure you download the image you want. Migrating in the future</p>
<p>everestlinux-1.0.0-busybox-img.tar.xz</p> <p>is not officially supported or even recommended.</p>
<p>An image targeting arm64, with systemd would be called:</p> <p>Download an image with <code>wget</code>:</p>
<p>everestlinux-1.0.0-systemd-aarch64-img.tar.xz</p> <code>(user)$ wget SYSTEM_IMAGE_LINK</code>
<p>Other designations may be used, such as:</p> <h2>Unpacking the system image</h2>
<p> - no_multilib</p> <p>The system image can now be unpacked.</p>
<p>Ensure you download the correct image for your system. For most users, images targeting</p> <p>Ensure the system image is located under the system mountpoint.</p>
<p><strong>x86_64</strong> with the <strong>busybox</strong> init system are what you should use.</p> <p>Note that a simple <code>tar -xvf</code> will cause errors with</p>
<p>To get the image to our destination as easily as possible, use wget</p> <p>permissions. Therefore, a few extra flags are needed.</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>Unpack the system image:</p>
<p>With the image downloaded, the system can now be installed.</p> <code>(root)# tar -xpvf SYSTEM_IMAGE --xattrs-include='*.*' --numeric-owner</code>
<h2>Unpacking the Image</h2> <p>This will ensure all file ownership is compliant.</p>
<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> <h2>Chrooting into the new installation</h2>
<p>Our system is now in a partially working state.</p> <p>The system is 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>If we were to call it a day and reboot now, it wouldn't be possible.</p>
<p>Many parts of the system are missing, including a bootloader and kernel.</p> <p>Many critical parts of the system are missing, including the</p>
<p>Chrooting allows us to access the system to make modifications, without actually booting into it.</p> <p>bootloader and kernel. Chrooting allows us to make modifications</p>
<p>Before chrooting, we must mount some partitions.</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> <p>Chroot into the system:</p>
<p><code><mark>(root)# everest-chroot /mnt/everest</mark></code></p> <code>(root)# chroot --userspec=0:0 /mnt/everest /bin/sh</code>
<p>This program will check the following:</p> <p>Change the shell prompt to avoid confusion:</p>
<p> - /mnt/everest exists</p> <code>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</code>
<p> - /bin/sh exists</p> <h2>Install programs</h2>
<p>Once in the chroot environment, run the following commands:</p> <p>Any programs you wish to install should be installed now.</p>
<p><code><mark>(chroot)# export PS1="(chroot) ${PS1}" && source /etc/profile</mark></code></p> <p>This is because the Linux kernel takes multiple hours to compile.</p>
<p>We are now fully set up for the rest of the installation.</p> <p>See <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a> for ideas. Note that some</p>
<h2>Set up Glacier</h2> <p>programs assume the system is installed, so use caution.</p>
<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> <h2>Install the Linux kernel</h2>
<p>The kernel can now be installed.</p> <p>The most important part of the system, the kernel, is ready to be installed.</p>
<p>Install the linux-firmware package, which provides firmware for some devices:</p> <p>Install the linux-firmware package, which provides device firmware:</p>
<p><code><mark>(chroot)# glacier -f linux-firmware</mark></code></p> <code>(chroot)# glacier -f linux-firmware</code>
<p>Use Glacier to download the source tree:</p> <p>Download the kernel's source tree:</p>
<p><code><mark>(chroot)# glacier -f linux</mark></code></p> <code>(chroot)# glacier -f linux</code>
<p>Find the kernel source tree in <p><code><mark>/usr/src/linux</mark></code></p> <p>Change directory to the kernel's source tree:</p>
<p><i>Note: Alternatively, you can download a new kernel from kernel.org</i></p> <code>(chroot)# cd /usr/src/linux</code>
<p>Clean the kernel source tree:</p> <p>Ensure the kernel source tree is clean:</p>
<p><code><mark>(chroot)# make mrproper</mark></code></p> <code>(chroot)# make mrproper</code>
<p>Configure the kernel:</p> <p>Configure the kernel:</p>
<p><code><mark>(chroot)# make menuconfig</mark></code></p> <code>(chroot)# ARCH="your-arch-here" make defconfig && make menuconfig</code>
<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>Compile the kernel:</p>
<p><code><mark>(chroot)# make && make modules_install</mark></code></p> <code>(chroot)# make && make modules_install</code>
<p>Copy the kernel image to /boot:</p> <p>Install the kernel:</p>
<p><code><mark>(chroot)# make install</mark></code></p> <code>(chroot)# make install</code>
<p>(Optional) Build an initramfs</p> <p>On some systems, an initial RAM filesystem (initramfs)</p>
<p>On some systems, an initramfs (initial ram filesystem) is required to boot properly.</p> <p>may be needed to ensure proper booting.</p>
<p>Do some research and decide whether you need - or want - an initramfs.</p> <p>If you want an initramfs, install dracut:</p>
<p>Install dracut:</p> <code>(chroot)# glacier -f dracut</code>
<p><code><mark>(chroot)# glacier -f dracut</mark></code></p>
<p>Build an initramfs:</p> <p>Build an initramfs:</p>
<p><code><mark>(chroot)# dracut</mark></code></p> <code>(chroot)# dracut</code>
<h2>Configure the system</h2> <h2>Configure the system</h2>
<p>Some components of the system must be configured before we can boot.</p> <p>Some components of the system mus be configured.</p>
<p>Create an fstab file.</p> <p>Create <code>/etc/fstab</code>.</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>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> <code>(chroot)# /etc/init.d/{cronie,chronyd,sysklogd} start</code>
<p><code><mark>(chroot)# systemctl enable --now cronie chronyd sysklogd # for systemd</mark></code></p> <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>Other things you might want to configure are:</p>
<p> - /etc/doas.conf</p> <p> - /etc/doas.conf or /etc/sudoers</p>
<p> - /etc/inittab</p> <p> - /etc/inittab</p>
<h2>Configure the bootloader</h2> <h2>Configure the bootloader</h2>
<p>Our system needs one more component before it can be booted into: the bootloader</p> <p>One more critical component is needed: the bootloader</p>
<p>For most users, systemd-boot is recommended.</p> <p>While any bootloader can be installed, this guide recommends</p>
<p>The standalone package for systemd-boot can be installed by running:</p> <p><code>systemd-boot</code> and <code>grub</code>.</p>
<p><code><mark>(chroot)# glacier -f gummiboot</mark></code></p> <p>For systemd-boot/gummiboot:</p>
<p><strong>GRUB</strong></p> <p>Install the standalone package for systemd-boot if systemd is not installed:</p>
<p>Install the GRUB package:</p> <code>(chroot)# glacier -f gummiboot</code>
<p><i>Note: GRUB is split into 2 packages, grub-bios and grub-uefi.</i></p> <p>Install the bootloader:</p>
<p><i>Ensure you install the correct package.</i></p> <code>(chroot)# bootctl install</code>
<p><code><mark>(chroot)# glacier -f grub-{bios,uefi}</mark></code></p> <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> <p>Install GRUB:</p>
<p><code><mark>(chroot)# grub-install /dev/sdX # for BIOS</mark></code></p> <code>(chroot)# grub-install /dev/sdX # for BIOS</code>
<p><code><mark>(chroot)# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub # for UEFI</mark></code></p> <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> <p>Create a GRUB configuration file:</p>
<p><code><mark>(chroot)# grub-mkconfig -o /boot/grub/grub.cfg</mark></code></p> <code>(chroot)# grub-mkconfibg -o /boot/grub/grub.cfg</code>
<p><strong>systemd-boot</strong></p> <h2>Finishing the installation</h2>
<p><i>Note: systemd-boot only supports UEFI.</i></p> <p>Every component of the system has been configured, and we can now</p>
<p><i>Use GRUB if your system is incompatible with UEFI.</i></p> <p>boot into it.</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>Exit the chroot environment:</p>
<p><code><mark>(chroot)# exit</mark></code></p> <code>(chroot)# exit</code>
<p>Unmount all partitions from /mnt/everest:</p> <p>Unmount all partitions from the system mountpoint:</p>
<p><code><mark>(root)# umount -R /mnt/everest</mark></code></p> <code>(root)# umount -R /mnt/everest</code>
<p>Power off the system:</p> <p>Power off the system:</p>
<p><code><mark>(root)# poweroff</mark></code></p> <code>(root)# poweroff</code>
<p>Ensure you remove the installation media or you will not boot into the new system.</p> <p>Ensure you remove the installation media or you</p>
<h2>Post-installation</h2> <p>will not boot into the new system.</p>
<p>A base Everest system is pretty minimal. Most users will need to configure extra components,</p> <h2>Post installation</h2>
<p>such as a window manager, sound, or networking.</p> <p>A base Everest system is very minimal.</p>
<p>See page: <a href="https://git.everestlinux.org/EverestLinux/wiki/wiki/General-Recommendations">General Recommendations</a></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>