Skip to content

Commit

Permalink
f unny
Browse files Browse the repository at this point in the history
  • Loading branch information
korewaChino committed Oct 23, 2023
1 parent c4cedd4 commit 33b3cc0
Show file tree
Hide file tree
Showing 15 changed files with 165 additions and 92 deletions.
3 changes: 1 addition & 2 deletions src/content/docs/en/development/anda.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
---
title: Using Andaman
description: 'Build and push packages with the Andaman toolchain.'
description: "Build and push packages with the Andaman toolchain."
---

To make package management easier for everyone, Ultramarine Linux developers and Fyra Labs have created the Andaman Toolchain, aka. [`anda`](https://github.com/FyraLabs/anda).

The latest version as of writing is `0.1.6`.


## Getting Started

Install Andaman with `dnf install anda`. Andaman is in the Terra repository.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ For cases where using a native build system does not fit the needs of the applic
- [Meson](https://mesonbuild.com/)
- [CMake](https://cmake.org/)
- [GNU Autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html)
- A standard makefile.
- A written makefile or simple shell script
13 changes: 6 additions & 7 deletions src/content/docs/en/development/ux-guide.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
title: UX Guidelines
description: 'Guidelines for how the Ultramarine Linux experience should be designed.'
description: "Guidelines for how the Ultramarine Linux experience should be designed."
---

import Alert from "../../../../components/Docs/Alert.astro";

<Alert type="info">

We recommend following the [Helium Human Interface Guidelines.](https://developer.fyralabs.com/helium/hig/introduction) This page includes our previous guidelines for posterity.

</Alert>

We recommend following the [Helium Human Interface
Guidelines.](https://developer.fyralabs.com/helium/hig/introduction) This page
includes our previous guidelines for posterity.
</Alert>

Ultramarine Linux is supposed to be a user-friendly desktop operating system, and stay out the way of the user. These guidelines are meant to be a reference for how to implement the UX of Ultramarine Linux.

Expand All @@ -34,7 +34,6 @@ There are a few things that should be kept in mind when creating an application

- Let the user know what they're doing, and don't try to get in their way if they really want to do something. Which means allowing the user to do risky changes to their system, with a warning.


## DE Choice

Unlike what most people think about Ultramarine Linux, Ultramarine is not just supposed to be Fedora with a bunch of Desktop Environments. One should not expect the team to ship Ultramarine with every single desktop environment that they want to support.
Expand Down
11 changes: 3 additions & 8 deletions src/content/docs/en/installation/getting-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ This guide will have you up and running in no time at all!
- Some computers with specific Broadcom or Realtek chipsets may require additional drivers to be installed. You may need to connect to the internet via Ethernet or USB tethering from your phone to install these drivers.
- For computers with a TPM (Trusted Platform Module), you can enable it in the BIOS settings. However driver and kernel support for TPM may not work as expected. We recommend you disable Secure boot before installing Ultramarine Linux, then experiment with enabling it after installation.


## Downloading

### Choosing your edition
Expand All @@ -40,14 +39,12 @@ Ultramarine Linux comes in 4 variants:
Ultramarine Linux supports 64bit Intel, AMD, and ARM computers.

<Alert type="warning">

Despite supporting ARM computers, Ultramarine Linux **_DOES NOT_** support M1 and M2 Macs.

Despite supporting ARM computers, Ultramarine Linux **_DOES NOT_** support M1
and M2 Macs.
</Alert>

Ultramarine Linux is distributed with ISO files available for download from [our website](https://ultramarine-linux.org).


#### Other variants

Ultramarine Linux also comes with OSTree versions, which works similarly to Fedora Silverblue, CoreOS and other OSTree-based operating systems. This variant is made for users who want a stable, immutable system that is easy to recover from.
Expand All @@ -64,10 +61,10 @@ Ultramarine ISO images have a matching `CHECKSUM` file that can be checked again

They can be downloaded by clicking the `View Checksum` button on the [download page](https://ultramarine-linux.org/download/).


### Verifying the checksum on Linux

You can use the following commands to check the integrity of the ISO image:

```bash
sha256sum -b /path/to/ultramarine.iso # Generate the checksum for the ISO image
cat /path/to/CHECKSUM # Check the checksum
Expand Down Expand Up @@ -98,7 +95,6 @@ You can use the Fedora Media Writer to create a bootable media from the ISO imag

![](/assets/fedoramediawriter.png)


## Booting the Installer

After flashing the image to your USB drive, you can boot to Ultramarine Linux by plugging in the drive and restarting your computer.
Expand All @@ -123,4 +119,3 @@ On Intel Macs, press power, then hold down the `Alt` or `Option` key until disk
- The Anaconda installer is very complex and hard to work with, we are working on a new installer that is easier to use and more reliable.
- Since Fedora 37, Fedora's official support for the Pantheon desktop environment has been dropped due to compatibility issues and the Pantheon port is now maintained by the Ultramarine Linux team. This means that the Pantheon desktop environment is only available through Ultramarine Linux, or Fedora with Terra enabled.
- Ultramarine's Budgie edition provides a close to stock Budgie experience, with a custom theme. Unlike Fedora's Budgie Spin, which provides a completely custom layout and experience.

12 changes: 8 additions & 4 deletions src/content/docs/en/installation/installation.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
title: Installation
description: 'A guide on how to install Ultramarine Linux'
description: "A guide on how to install Ultramarine Linux"
---

import Alert from "../../../../components/Docs/Alert.astro";

After booting into the live system, you will see a dialog box asking you to whether to start the installer, or continue with the live system.
Expand All @@ -14,7 +15,7 @@ To start the installation, click on the `Install to Hard Drive` button, or open

# The Anaconda Installer

Ultramarine currently uses the [Anaconda Installer](https://en.wikipedia.org/wiki/Anaconda_(installer)) (not to be confused with [The Python distribution](https://en.wikipedia.org/wiki/Anaconda_(Python_distribution))). This is a system installer similar to the likes of Ubuntu's Ubiquity, or Calamares.
Ultramarine currently uses the [Anaconda Installer](<https://en.wikipedia.org/wiki/Anaconda_(installer)>) (not to be confused with [The Python distribution](<https://en.wikipedia.org/wiki/Anaconda_(Python_distribution)>)). This is a system installer similar to the likes of Ubuntu's Ubiquity, or Calamares.

There has been progress to replace the installer with a custom installer, but it is very experimental and not yet ready for normal use.

Expand Down Expand Up @@ -116,12 +117,15 @@ If you type in a password that Anaconda deems insecure, it will have you confirm

</Alert>

-------
---

After completing your system configuration, press the `Begin Installation` button to continue. The installation process will start and may take a few minutes.

<Alert type="danger">
This process **IRREVERSIBLE**. If you manage to close down the installer before it finishes, you will end up with a corrupted system. <br /> To fix this, you will have to reinstall Ultramarine Linux or your preferred operating system, causing data loss.
This process **IRREVERSIBLE**. If you manage to close down the installer
before it finishes, you will end up with a corrupted system. <br /> To fix
this, you will have to reinstall Ultramarine Linux or your preferred operating
system, causing data loss.
</Alert>

After the installation process is complete, Anaconda will prompt you to reboot your system. Simply reboot your system to complete the installation.
Expand Down
14 changes: 8 additions & 6 deletions src/content/docs/en/installation/postinstall.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
title: Post-installation
description: 'Things to do after installing Ultramarine Linux.'
description: "Things to do after installing Ultramarine Linux."
---

import Alert from "../../../../components/Docs/Alert.astro";

After installing Ultramarine Linux, There are a few things you should do to make the most out of your new system.
Expand All @@ -14,13 +15,13 @@ If you have an NVIDIA Graphics Card, you must install the latest drivers for it
sudo dnf update # Update the system first, the drivers may not work right if you don't.
sudo dnf install akmod-nvidia # Install the NVIDIA kernel module.
```

Then, reboot your system.

<Alert type="warning">

You MUST wait until the process is finished before rebooting. Rebooting too early might result in a broken installation!

</Alert>
You MUST wait until the process is finished before rebooting. Rebooting too
early might result in a broken installation!
</Alert>

### Use NVIDIA Graphics Card as the primary card on Optimus Laptops

Expand All @@ -31,7 +32,7 @@ sudo cp -p /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/nvidia.co
sudo sed -i '10i\ Option "PrimaryGPU" "yes"' /etc/X11/xorg.conf.d/nvidia.conf # Add PrimaryGPU = yes to the 10th line of the file.
```

Then reboot your system.
Then reboot your system.

Make sure you're using the Xorg version of your desktop environment.

Expand All @@ -40,4 +41,5 @@ Make sure you're using the Xorg version of your desktop environment.
Ultramarine Linux includes codecs for most of the media you'll come across. You shouldn't need to install any additional codecs.

## Set up Snapper (Btrfs Snapshots)

Currently, RPM's architecture does not handle snapper properly. You might experience broken RPM transactions when doing rollbacks. This is a known issue and must be addressed upstream.
51 changes: 39 additions & 12 deletions src/content/docs/en/linux/devicefiles.mdx
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
---
title: Device Files
description: 'Overview of various device files in /dev'
description: "Overview of various device files in /dev"
---

import Alert from "../../../../components/Docs/Alert.astro";

<Alert type="info">
These files are an actual representation of all your hardware devices according to how your drivers see them.
Please do not modify or delete these files unless you know what you are doing.
These files are an actual representation of all your hardware devices
according to how your drivers see them. Please do not modify or delete these
files unless you know what you are doing.
</Alert>

Device files are special files that exist as an interface for your system to interact with hardware.
They are located in the `/dev` directory, which is a temporary virtual filesystem that is created by Linux on boot.

## Block Devices

Block devices are devices that store buffered data as [blocks](https://en.wikipedia.org/wiki/Block_(data_storage)).
Block devices are devices that store buffered data as [blocks](<https://en.wikipedia.org/wiki/Block_(data_storage)>).

These files are essentially the low-level interface to your storage devices. They are usually to be mounted to a directory in order to be used,
similarly to how Windows automatically assigns drive letters to storage devices.
Expand All @@ -31,7 +32,8 @@ There are various types of block devices, but the most common ones are:
- Device mappers (`/dev/mapper/*`) - A special feature of the Linux kernel that allows you to create virtual block devices from other block devices.
- Loop devices (`/dev/loop*`) - Virtual loopback devices that allow you to mount files as block devices.
- IDE or ATA disks (`/dev/hd*`) - Older hard disk interfaces that are used by older hardware.
- MMC devices (`/dev/mmcblk*`) - Devices that use the MultiMediaCard standard, such as SD cards.
- The `hdx` IDE driver is deprecated and is no longer used by modern Linux distributions since Linux 2.6.19. IDE disks will now be shown as `sd*` devices.
- MMC devices (`/dev/mmcblk*`) - Memory cards that use the MultiMediaCard standard, such as SD cards.

## Pseudo-Devices

Expand Down Expand Up @@ -62,33 +64,56 @@ cat /dev/urandom
This will output an infinite stream of random garbage to the terminal, which will make it unusable until you press `Ctrl+C` to stop the command. You might also need to restart your terminal emulator if it happens to output
a specific combination of characters that breaks it.


## Block devices

To list all block devices, you can use `lsblk` to list them in a tree-like format:

```sh
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 931.5G 0 disk
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 600M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 929.9G 0 part
└─sda3 8:3 0 929.9G 0 part
zram0 252:0 0 8G 0 disk [SWAP]
nvme0n1 259:0 0 119.2G 0 disk
nvme0n1 259:0 0 119.2G 0 disk
└─nvme0n1p1 259:1 0 119.2G 0 part /var/lib/docker/btrfs
/home
/var
/
```

And you can use `fdisk` to do various operations on block devices, such as creating partitions, formatting them and more.
## Explaining the output:

`sda*` is the main disk of the system, which is a 1TB SATA SSD. It has 3 partitions, `sda1`, `sda2` and `sda3`. `sda1` is the EFI partition, `sda2` is the boot partition and `sda3` is the root partition.

In this specific case, it is configured in a Btrfs spanned (JBOD) volume, which in this case combines both `sda3` and `nvme0n1p1` into a single volume.

<Alert type="info">
Ultramarine Linux's installer, *Anaconda* will automatically configure your
disks in a Btrfs spanned volume by default when multiple disks are selected.
</Alert>

`nvme0n1` is a 128GB NVMe SSD that is used as a cache for the Btrfs volume. It has a single partition, `nvme0n1p1`, which is mounted to `/var/lib/docker/btrfs`, `/home`, `/var` and `/`.

`zram0` is a special ramdisk that is used as a pagefile (swap) for the system. It makes uses of the [zram](https://en.wikipedia.org/wiki/Zram) kernel module to create a compressed RAM disk.


The mountpoints at `/boot` is used for storing Linux kernel images, and `/boot/efi` is used for storing EFI bootloaders.

`/var` stores extra variable data, `/home` is a dedicated partition for storing user data and `/` is the root partition, which can be compared to the `C:\` drive on Windows.

`/var/lib/docker/btrfs` is the directory where [Docker] stores its data. Docker is a containerization software that allows you to run applications in isolated environments.
Since we are using Btrfs, Docker will use Btrfs subvolumes to store its data. For other filesystems Docker will use other methods to store its data.

### Manipulating Block devices

You can use `fdisk` to do various operations on block devices, such as creating partitions, formatting them and more.

```sh
fdisk /dev/sda
```


As an example, you can use the following command to do a zero-filled format of a disk called `/dev/sda` by simply using a pipe

```sh
Expand All @@ -103,7 +128,7 @@ cat /dev/urandom > /dev/sda

All of these commands will do destructive operations on your disk, so please be careful when using them.

You can also use the [`dd`](https://en.wikipedia.org/wiki/Dd_(Unix)) tool to read and write data to block devices, create disk images and even clone disks directly.
You can also use the [`dd`](<https://en.wikipedia.org/wiki/Dd_(Unix)>) tool to read and write data to block devices, create disk images and even clone disks directly.

For example, you can create a backup image (ghost image) of your disk by using the following command:

Expand All @@ -119,3 +144,5 @@ dd if=/dev/sda of=/dev/sdb

You can find more information about `dd` [here](https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html).


[docker](https://en.wikipedia.org/wiki/Docker_(software))
Loading

0 comments on commit 33b3cc0

Please sign in to comment.