Skip to content

Commit 53615e2

Browse files
authored
Merge pull request #81 from AerynOS/spelling
Spelling: Correct and standardize around US English
2 parents c0feb4a + 617f2ab commit 53615e2

28 files changed

Lines changed: 98 additions & 183 deletions

src/content/docs/AerynOS/contribute.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ We currently accept donations via [Ko-Fi](https://ko-fi.com/aerynos).
1818

1919
## Contributing to our codebases
2020

21-
AerynOS utilizes GitHub to manage code changes, including updates our our websites. Each repository will have its own Readme that will include instructions on how to make updates to it. They can be found [here](https://github.com/orgs/AerynOS/repositories). To specifically make contributions to our websites, you can visit the following repositories:
21+
AerynOS utilizes GitHub to manage code changes, including updates to our websites. Each repository will have its own Readme that will include instructions on how to make updates to it. They can be found [here](https://github.com/orgs/AerynOS/repositories). To specifically make contributions to our websites, you can visit the following repositories:
2222

2323
- AerynOS.com site [repo](https://github.com/AerynOS/dotdev)
2424
- AerynOS.dev site [repo](https://github.com/AerynOS/dotcom)

src/content/docs/AerynOS/faq.mdx

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { Aside } from "@astrojs/starlight/components";
1414

1515
### What does AerynOS mean and how do I pronounce it?
1616

17-
AerynOS is a stylised spelling of "Erin", alluding to the project's Irish roots. It is pronounced exactly the same as "Erin" - "AIR-in" OS. It's also a play on "aer" and the phonetic "air" sound, indicative of our desire to produce an open, trusted and high-performance operating system.
17+
AerynOS is a stylized spelling of "Erin", alluding to the project's Irish roots. It is pronounced exactly the same as "Erin" - "AIR-in" OS. It's also a play on "aer" and the phonetic "air" sound, indicative of our desire to produce an open, trusted and high-performance operating system.
1818

1919
It's pronounced as "AIR-in" OS.
2020

@@ -36,7 +36,7 @@ Checking the currently supported x86_64 psABI feature level of a system can be d
3636

3737
### Does AerynOS offer NVIDIA GPU support?
3838

39-
Due to the way NVIDIA distributes its drivers, maintaining them in a distro is labour intensive and frustrating when they do not work as advertised.
39+
Due to the way NVIDIA distributes its drivers, maintaining them in a distro is labor-intensive and frustrating when they do not work as advertised.
4040

4141
Given AerynOS is in the Alpha development stage, only limited, best effort NVIDIA enablement related to cards supported by the so-called nvidia-open-gpu-kernel-modules is currently offered.
4242

@@ -55,12 +55,12 @@ You have been warned.
5555
In practice, we recommend that you install AerynOS to a separate drive with:
5656

5757
- A >=256MB ESP FAT32 partition (type 1 in fdisk).
58-
- This must be manually formatted for the installer to recognise it.
58+
- This must be manually formatted for the installer to recognize it.
5959
- A 4GB XBOOTLDR FAT32 partition (type 142 in fdisk, bls_boot in gparted).
60-
- This must be manually formatted for the installer to recognise it.
60+
- This must be manually formatted for the installer to recognize it.
6161
- This partition is large, because it is where the AerynOS kernel+initramfs and (in the future) rescue image files will be saved.
6262
- A >20 GB system xfs partition
63-
- This must be manually formatted for the installer to recognise it.
63+
- This must be manually formatted for the installer to recognize it.
6464
- The larger the xfs system (/ or root) partition is, the more OS /usr directory rollback states it can support in /.moss/.
6565

6666
```
@@ -88,7 +88,7 @@ nvme1n1
8888
ermo@virgil:~
8989
```
9090

91-
NB: Remember, there is nothing stopping you from creating an extra partition, formatting it with a filesystem of your choice, and then configuring /etc/fstab to mount it as /home after AerynOS has been installed, if you want to use a different filesystem than xfs for your /home folders for whatever reason.
91+
NB: Remember, there is nothing stopping you from creating an extra partition, formatting it with a filesystem of your choice, and then configuring /etc/fstab to mount it as /home after AerynOS has been installed. You can do this if you want to use a different filesystem than xfs for your /home folders for whatever reason.
9292

9393
### Why do you recommend the xfs filesystem for the root partition?
9494

@@ -163,19 +163,19 @@ Tack on ```--help``` to see the options for prune.
163163

164164
See the [blsforme repo readme](https://github.com/AerynOS/blsforme/?tab=readme-ov-file#filesystem-layout) for the expected format.
165165

166-
Typically, it is necessary to change the installed system state with ```moss``` for command-line snippets to take effect.
166+
Typically, it is necessary to change the installed system state with `moss` for command-line snippets to take effect.
167167

168-
One way of doing that is to do a ```sudo moss remove nano -y && sudo moss install nano -y```, followed by ```sudo moss boot status``` to check if the new cmdline snippet is now active.
168+
One way of doing that is to do a `sudo moss remove nano -y && sudo moss install nano -y`, followed by `sudo moss boot status` to check if the new cmdline snippet is now active.
169169

170170
# Package Questions
171171

172172
### How come your package repository is so small?
173173

174-
We are still in heavy development ("Alpha") and are developing our back end and associated automated rebuild processes.
174+
We are still in heavy development ("Alpha") and are developing our backend and associated automated rebuild processes.
175175

176176
If we discover that it is necessary for us to rebuild our entire repository, we would like the ability to do so in the span of an afternoon (using multiple builders in parallel).
177177

178-
Once our back end story and our automated rebuild process story are both further advanced, we will begin scaling out the repository to contain more packages.
178+
Once our backend story and our automated rebuild process story are both further advanced, we will begin scaling out the repository to contain more packages.
179179

180180
### Could you package (...) please?
181181

@@ -210,17 +210,17 @@ AerynOS has been bootstrapped and built from scratch and is not based on any oth
210210

211211
This implies that AerynOS has its own:
212212

213-
- package manager (```moss```)
214-
- package build tool (```boulder```)
213+
- package manager (`moss`)
214+
- package build tool (`boulder`)
215215
- build pipeline consisting of:
216-
- the package build dashboard and controller (```summit```)
217-
- the builder-as-a-service middleware (```avalanche```)
218-
- the package repository manager (```vessel```)
216+
- the package build dashboard and controller (`summit`)
217+
- the builder-as-a-service middleware (`avalanche`)
218+
- the package repository manager (`vessel`)
219219

220220
This also implies that AerynOS does NOT build upon or use either:
221221

222-
- ```.rpm``` related tooling from Red Hat
223-
- ```.deb``` related tooling from the Debian Project
222+
- `.rpm` related tooling from Red Hat
223+
- `.deb` related tooling from the Debian Project
224224
- Arch-related tooling
225225

226226
### When will AerynOS be considered stable?
@@ -229,4 +229,4 @@ AerynOS is taking on the ambitious task of creating a distribution from scratch,
229229

230230
As such, there is no official ETA.
231231

232-
Now that the project has hit alpha status, you will see more frequent updates and progress reports.
232+
Now that the project has hit alpha status, you will see frequent updates and progress reports.

src/content/docs/AerynOS/index.mdx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ description: Documentation about the project and its technologies
55
---
66
import DirectoryList from '@components/DirectoryList.astro';
77

8-
AerynOS is an independent Linux-based operating system that diverges significantly from traditional
9-
distributions whilst still aiming to provide a familiar and comfortable environment. In this section
10-
of the documentation, you can find high level information about the project itself and what sets it
11-
apart from other distributions.
8+
AerynOS is an independent Linux-based operating system that diverges significantly from traditional distributions whilst still aiming to provide a familiar and comfortable environment. In this section of the documentation, you can find high level information about the project itself and what sets it apart from other distributions.
129

1310
<DirectoryList/>

src/content/docs/AerynOS/overview.mdx

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,14 @@ description: Overview of the AerynOS project and its technologies
66

77
import { Aside } from '@astrojs/starlight/components';
88

9-
AerynOS is a Linux-based operating system designed to eliminate years of technical baggage. It is an engineering
10-
led effort in that the distribution is produced entirely by the tooling we have developed. Every new feature,
11-
technology or enabling is carefully considered, drawing on our own experiences and by studying the impact in similar
12-
decision spaces in other projects.
9+
AerynOS is a Linux-based operating system designed to eliminate years of technical baggage. It is an engineering led effort in that the distribution is produced entirely by the tooling we have developed. Every new feature, technology, or enabling is carefully considered, drawing on our own experiences and by studying the impact in similar decision spaces in other projects.
1310

14-
Despite being heavily engineering led, we are not averse to design. We aim to provide the best in class user experience
15-
atop a solid, innovative foundation, whilst ensuring we have the scope and scalability to meet the needs of the future.
11+
Despite being heavily engineering led, we are not averse to design. We aim to provide the best in class user experience atop a solid, innovative foundation, whilst ensuring we have the scope and scalability to meet the needs of the future.
1612

17-
In essence, we're producing a distribution based on sound technical principles, in order to deliver a "daily driver"
18-
that truly looks after itself, getting out of the way when you need it to, and providing the tools you need when you
19-
need them.
13+
In essence, we're producing a distribution based on sound technical principles, in order to deliver a "daily driver" that truly looks after itself. Its aim is to get out of the way when you need it to, and provide the tools you need when you need them.
2014

21-
If anything, AerynOS is "operating-system-as-infrastructure", providing a solid foundation for your daily computing
22-
needs. We're not just a distribution, we're a platform for the future.
15+
If anything, AerynOS is "operating-system-as-infrastructure", providing a solid foundation for your daily computing needs. We're not just a distribution, we're a platform for the future.
2316

2417
<Aside type="caution">
25-
Remember, AerynOS is still in development. Despite our goals, we must be clear
26-
that we've deemed ourselves to be alpha quality software.
18+
Remember, AerynOS is still in development. Despite our goals, we must be clear that we've deemed ourselves to be alpha quality software.
2719
</Aside>

src/content/docs/AerynOS/philosophy.mdx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,32 +28,32 @@ System triggers do not run in an isolated container, but instead are run in the
2828

2929
## Atomic updates
3030

31-
An atomic update is a series of changes to a system that are treated as a single, indivisible operation. If any part of this update fails, then the entire update is cancelled with all prior parts of the incomplete update being rolled back. This means that either an update completes fully as intended, or the system is left in the state it was in before the update was attempted. This is important because partial updates often cause significant issues such as bricked installs.
31+
An atomic update is a series of changes to a system that are treated as a single, indivisible operation. If any part of this update fails, then the entire update is canceled with all prior parts of the incomplete update being rolled back. This means that either an update completes fully as intended, or the system is left in the state it was in before the update was attempted. This is important because partial updates often cause significant issues such as bricked installs.
3232

33-
AerynOS's approach to atomic updates is fairly different to the approach taken by other Linux distributions, which mostly use an A/B switch model using specific read-only filesystems to swap the whole system upon reboot. Atomic updates in AerynOS are managed by its package manager `moss` (which we also refer to as a `system state manager`). As such, AerynOS is not tied to using read-only filesystems and this allows for the use of XFS, ext4 and F2FS.
33+
AerynOS' approach to atomic updates is fairly different to the approach taken by other Linux distributions, which mostly use an A/B switch model using specific read-only filesystems to swap the whole system upon reboot. Atomic updates in AerynOS are managed by its package manager `moss` (which we also refer to as a `system state manager`). As such, AerynOS is not tied to using read-only filesystems and this allows for the use of XFS, ext4 and F2FS.
3434

35-
As mentioned above, AerynOS utilises a stateless design where packages can only be installed to the `/usr` directory. The knowledge that packages can only be installed to this directory allows AerynOS to innovate in its approach to atomic updates.
35+
As mentioned above, AerynOS utilizes a stateless design where packages can only be installed to the `/usr` directory. The knowledge that packages can only be installed to this directory allows AerynOS to innovate in its approach to atomic updates.
3636

3737
AerynOS packages are packaged up as bespoke `.stone` moss-format files. Hence, AerynOS does not use or rely on e.g. Debian `.deb` format package files or Fedora/RHEL `.rpm` format package files. These `.stone` files contain a deduplicated set of hashed files compressed using zstd. When a `.stone` file is installed via `moss`, the files are decompressed and stored into a global, deduplicated content addressable store under`/.moss/`. Relevant metadata about these files is also stored in a database under `/.moss/`.
3838

39-
As part of the final stages of an atomic transaction, `moss` creates (or "blits") a new `/usr` directory based on [hardlinks](https://www.virtualcuriosities.com/articles/4507/how-hard-links-and-inodes-work-on-linux) to the global content addressable store, and swaps this new `/usr` directory into place using the `renameat2` Linux kernel syscall with the `RENAME_EXCHANGE` flag, which allows for atomically exchanging an old path for a new path.
39+
As part of the final stages of an atomic transaction, `moss` creates (or "blits") a new `/usr` directory based on [hardlinks](https://www.virtualcuriosities.com/articles/4507/how-hard-links-and-inodes-work-on-linux) to the global content addressable store. It then swaps this new `/usr` directory into place using the `renameat2` Linux kernel syscall with the `RENAME_EXCHANGE` flag, which allows for atomically exchanging an old path for a new path.
4040

4141
As hardlinks do not take up any significant additional space on disk, and since the global content addressable store is always deduplicated as part of every transaction, `moss` stores every `/usr` directory from every transaction. This allows for retaining system snapshots with minimal overhead and provides the ability to perform atomic rollbacks to earlier states so long as the user does not prune those.
4242

4343
## Self healing
4444

45-
As part of our boot management solution, every moss transaction ID is encoded into the kernel command line and is picked up during early boot into our initramfs, before `/sysroot` is pivoted to. Every kernel is correctly synchronised with the right rootfs based on the moss transaction it was associated to. Given that every transaction creates a new bootloader entry, AerynOS prunes all but the last 5 transactions from the bootloader list to keep it manageable.
45+
As part of our boot management solution, every moss transaction ID is encoded into the kernel command line and is picked up during early boot into our initramfs, before `/sysroot` is pivoted to. Every kernel is correctly synchronized with the right rootfs based on the moss transaction it was associated to. Given that every transaction creates a new bootloader entry, AerynOS prunes all but the last 5 transactions from the bootloader list to keep it manageable.
4646

4747
### What are the implications of this?
4848

49-
On a Gnome based system, if you were to delete `gtk3`, `GDM`, and `gnome-shell` you would not be able to log back into the gnome session (as you've just deleted some really important part of the gnome session!). In this case, on boot you would be greeted by a linux console login prompt, which would only let you log into your user's command line shell, which is less than ideal.
49+
On a Gnome based system, if you were to delete `gtk3`, `GDM`, and `gnome-shell` you would not be able to log back into the gnome session (as you've just deleted some really important part of the gnome session!). In this case, on boot you would be greeted by a Linux console login prompt, which would only let you log into your user's command line shell, which is less than ideal.
5050

51-
In AerynOS, instead of this scenario, you can enter the bootloader (by mashing your spacebar) on reboot, and in the bootloader, you can select the second to last entry and this will automatically switch to the `/usr` filesystem transaction where `gtk3`, `GDM` and `gnome-shell` had not yet been deleted. On activating this entry with the Enter key, you will boot back into a working GDM for a graphical user experience.
51+
In AerynOS, instead of this scenario, you can enter the bootloader (by mashing your spacebar) on reboot, and in the bootloader. Select the second to last entry and this will automatically switch to the `/usr` filesystem transaction where `gtk3`, `GDM` and `gnome-shell` had not yet been deleted. On activating this entry with the Enter key, you will boot back into a working GDM for a graphical user experience.
5252

53-
Taking this a step further, if you were to remove `glibc`, given how integral it is to the functioning of AerynOS and how it specifically includes the `renameat2` function used by `moss` to complete transactions, the system would be left in a state where the atomic update did not complete and the whole system would be broken. In a traditional Linux distribution, this will be very difficult, if not impossible to resolve without resorting to a fresh re-install.
53+
Taking this a step further, if you were to remove `glibc`, given how integral it is to the functioning of AerynOS and how it specifically includes the `renameat2` function used by `moss` to complete transactions, the system would be left in a state where the atomic update did not complete and the whole system would be broken. In a traditional Linux distribution, this will be very difficult, or impossible to resolve without resorting to a fresh reinstall.
5454

55-
In AerynOS, however, upon trying to boot into this last transaction, the system will discover that there is an issue with the transaction and will atomically roll back to the prior bootloader entry with the associated correct `/usr` directory that works. This rollback process only takes around a second (or a couple seconds, depending on your hardware) and you will automatically be dropped back into a live working AerynOS system.
55+
In AerynOS, however, upon trying to boot into this last transaction, the system will discover that there is an issue with the transaction and will atomically roll back to the prior bootloader entry with the associated correct `/usr` directory that works. This rollback process only takes around a second (or a couple of seconds, depending on your hardware) and you will automatically be dropped back into a live working AerynOS system.
5656

5757
### Could this happen?
5858

59-
Whilst it is unlikely that a user would ever knowingly delete these very important packages (though it could happen), the more likely scenario on traditional Linux distributions is that there is a partial update that may have deleted very important aspects for a functioning system with the newer versions not having been yet installed before the update stopped. By the design features mentioned above, this is impossible on AerynOS.
59+
Whilst it is unlikely that a user would ever knowingly delete these very important packages (though it could happen). The more likely scenario on traditional Linux distributions is that there is a partial update that may have deleted very important aspects for a functioning system with the newer versions not having been yet installed before the update stopped. By the design features mentioned above, this is impossible on AerynOS.

0 commit comments

Comments
 (0)