Merge branch 'main' of github.com:PhyllomeOS/wiki

This commit is contained in:
lukas 2021-11-15 16:29:17 +01:00
commit bb8bf0d877
13 changed files with 53 additions and 127 deletions

View File

@ -2,13 +2,13 @@
This repository contains the articles that together make up the [**Phyllome OS wiki**](https://wiki.phyllo.me). This repository contains the articles that together make up the [**Phyllome OS wiki**](https://wiki.phyllo.me).
A two-ways sync is setup between this repository and the wiki solution, based on [wiki.js](https://js.wiki/). A two-way sync is setup between this repository and the wiki solution, based on [wiki.js](https://js.wiki/).
> Contributions through the wiki web interface are currently only open to [core contributors](https://wiki.phyllo.me/project/join). > Contributions through the wiki web interface are currently only open to [core contributors](https://wiki.phyllo.me/project/join).
## How to contribute ## How to contribute
> **Attention please**: Do *not* create new files, as they are not taken into account by `wiki.js` (Or, more precisely, I haven't figured that out yet). Please create an issue if you wish to create new pages. > **Attention please**: Do *not* create new files, as they are not taken into account by `wiki.js` (Or more precisely, I haven't figured that out yet). Please create an issue if you wish to create new pages.
1. **Clone the repository**: 1. **Clone the repository**:
@ -31,14 +31,14 @@ dateCreated: 2021-11-12T15:31:49.655Z
[*You may add some poetry here*] [*You may add some poetry here*]
``` ```
Do not modify this header, but only the content bellow. Do not modify this header, but only the content below.
2. **Add or modify content** 2. **Add or modify content**
Add or modify the content of an *existing page* using your favorite text editor Add or modify the content of an *existing page* using your favorite text editor
> Please follow the [CommonMark Spec syntax](https://spec.commonmark.org/). Have a look [here](https://docs.requarks.io/editors/markdown) to see what can be done and how. > Please follow the [CommonMark Spec syntax](https://spec.commonmark.org/). Take a look [here](https://docs.requarks.io/editors/markdown) to see what can be done and how.
3. **Create a pull request** 3. **Create a pull request**
@ -46,7 +46,7 @@ When you are done, please create a pull request, sit back, and relax.
Thank you! Thank you!
## Licence ## License
Contributions are made under a [CC BY 4.0 Licence](https://creativecommons.org/licenses/by/4.0/), for the Phyllome OS Project. Contributions are made under a [CC BY 4.0 Licence](https://creativecommons.org/licenses/by/4.0/), for the Phyllome OS Project.

View File

@ -2,7 +2,7 @@
title: On some ways to deploy Phyllome OS title: On some ways to deploy Phyllome OS
description: description:
published: true published: true
date: 2021-11-13T17:21:20.498Z date: 2021-11-14T16:19:40.778Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-13T11:19:53.459Z dateCreated: 2021-11-13T11:19:53.459Z
@ -17,7 +17,7 @@ dateCreated: 2021-11-13T11:19:53.459Z
* **Install** * **Install**
* [Prepare](/deploy/prepare) * [Prepare](/deploy/prepare)
* [Create an installation medium](/deploy/medium) * [Create an installation medium](/deploy/medium)
* [Install from a live medium](/deploy/live) * [Install from a live medium](/deploy/install)
* [Deploy in a virtual machine](/deploy/vm) * [Deploy in a virtual machine](/deploy/vm)
* [From source](/deploy/source) * [From source](/deploy/source)
--- ---

12
deploy/install.md Normal file
View File

@ -0,0 +1,12 @@
---
title: Install Phyllome OS
description:
published: true
date: 2021-11-14T16:19:00.348Z
tags:
editor: markdown
dateCreated: 2021-11-14T16:19:00.348Z
---
# Header
Your content here

View File

@ -1,13 +0,0 @@
---
title: Install Phyllome from a USB key
description:
published: true
date: 2021-11-13T11:34:24.392Z
tags:
editor: markdown
dateCreated: 2021-11-13T11:34:24.392Z
---
# Headless header
`to be done`

View File

@ -1,75 +0,0 @@
---
title: Checkbox your system
description:
published: true
date: 2021-11-13T17:20:09.745Z
tags:
editor: markdown
dateCreated: 2021-11-13T10:47:33.615Z
---
# Prepare the host computer
## Requirements
`To-do`
These instructions are valid for x86-64 computers that do ship with Linux or Windows
Phyllome OS targets x86 systems with hardware-assisted virtualization,
with a strong preference for those providing IOMMU as well. It may
support ARM[^49]- or RISC-V-based platforms in the future.
It is expected that Phyllome OS will consume approximately 1 CPU core
and 1 GB of RAM[^50], which should be enough to accommodate a few
virtual machines. For instance, on a system with a CPU with 4 cores and
8 GB of RAM, a guest virtual machine will be able to be assigned up to 3
cores and 7 GB of RAM.
### []{#anchor-43}Minimum requirements for Phyllome OS Desktop
- x86 computer that supports the first generation of hardware-assisted
virtualization extensions
- For AMD-based configurations, it means that AMD V is available
and enabled
- For Intel-based configurations, it means that Intel VT-x is
available and enabled
- 2-core processor
- 8 GB of RAM
- SSD-based storage device to store disk images and Phyllome OS
- Any graphics card (Linux or macOS guests only)
### []{#anchor-44}Recommended requirements for Phyllome OS Desktop
- x86 computer that supports the second generation of
hardware-assisted virtualization extensions
- For AMD-based configurations, it means that AMD Vi is available
and enabled
- For Intel-based configurations, it means that Intel VT-d is
available and enabled
- 8-core processor
- 16 GB of RAM
- NVME-based storage device to store disk images and Phyllome OS
- Two graphics cards or a graphics card that supports vfio-mdev or
SR-IOV
## Enable IOMMU
### Access the firmware
### Modify the firmware configuration
*Now that you are done, you can go to the next section to [create an installation medium](/deploy/medium).*

View File

@ -2,7 +2,7 @@
title: Understand what you are signing up for title: Understand what you are signing up for
description: description:
published: true published: true
date: 2021-11-13T17:18:28.519Z date: 2021-11-15T11:35:47.325Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-13T11:19:38.215Z dateCreated: 2021-11-13T11:19:38.215Z
@ -13,7 +13,7 @@ dateCreated: 2021-11-13T11:19:38.215Z
> Phyllome OS is not production-ready. > Phyllome OS is not production-ready.
{.is-warning} {.is-warning}
Phyllome OS makes a few assumptions, including the following ones: Phyllome OS makes a few assumptions, including the following :
* **Virtual machines have become viable personal computing environments, including for desktop computing** * **Virtual machines have become viable personal computing environments, including for desktop computing**
* Due to their software-based nature, virtual machines are extremely flexible, and can for instance emulate features that their physical host may lack. * Due to their software-based nature, virtual machines are extremely flexible, and can for instance emulate features that their physical host may lack.
@ -24,9 +24,9 @@ Some limitations directly result from these assumptions.
## Limitations ## Limitations
Relying on a virtual machine as its primarily personal environment has key advantages, some as the ability to more easily migrate to a new host computer or the ability to create multiple virtual computers out of a single physical computer. However, it also comes with several limitations in comparison to using a bare-metal operating system. Relying on a virtual machine as its primarily personal environment has key advantages, such as the ability to more easily migrate to a new host computer or the ability to create multiple virtual computers out of a single physical computer. However, it also comes with several limitations in comparison to using a bare-metal operating system.
Some of these limitations will be tackled or greatly reduced one day, others might not. Let's list some of these. Some of these limitations will be tackled or greatly reduced one day, others might not:
### Performance-related ### Performance-related
@ -53,12 +53,14 @@ How to read this table? For instance: *If you care most about virtualization and
| *Virtualization* | [Qubes OS](https://www.qubes-os.org/) or [Spectrum](https://spectrum-os.org/) | **Phyllome OS Desktop** | | *Virtualization* | [Qubes OS](https://www.qubes-os.org/) or [Spectrum](https://spectrum-os.org/) | **Phyllome OS Desktop** |
| *Bare-metal* | [Sculpt](https://en.wikipedia.org/wiki/Genode#Sculpt) or [Fuchsia](https://en.wikipedia.org/wiki/Fuchsia_(operating_system)) | [Linux](https://en.wikipedia.org/wiki/List_of_Linux_distributions) or [BSD distro](https://en.wikipedia.org/wiki/List_of_BSD_operating_systems), [macOS](https://en.wikipedia.org/wiki/MacOS), [Windows](https://en.wikipedia.org/wiki/Microsoft_Windows) or [Chrome OS](https://en.wikipedia.org/wiki/Chrome_OS) | | *Bare-metal* | [Sculpt](https://en.wikipedia.org/wiki/Genode#Sculpt) or [Fuchsia](https://en.wikipedia.org/wiki/Fuchsia_(operating_system)) | [Linux](https://en.wikipedia.org/wiki/List_of_Linux_distributions) or [BSD distro](https://en.wikipedia.org/wiki/List_of_BSD_operating_systems), [macOS](https://en.wikipedia.org/wiki/MacOS), [Windows](https://en.wikipedia.org/wiki/Microsoft_Windows) or [Chrome OS](https://en.wikipedia.org/wiki/Chrome_OS) |
> In general, the vast majority of users will stick to the bottom-right corner of the table. > In general, the vast majority of users will stick to the bottom-right corner of the table, because that is the operating system that ships with their hardware.
{.is-info} {.is-info}
This table is not meant to be clear-cut. Phyllome OS is intended to be easy-to-use, but still isn't. Out of the box, Chrome OS [^1], or even Windows [^2], might be considered more secure than most Linux desktop-oriented distributions [^3], at the price of greatly limiting user freedom and privacy, however. Due to their tight integration, some BSD distributions might be considered more secure than some Linux distributions. Finally, just as Phyllome OS, Qubes OS is compatible with running Windows-based guest systems. In other words, using virtualization, a user might be able to access more usable operating systems, and in the case of Phyllome OS, one may even host Qubes OS inside Phyllome OS. This table is not meant to be clear-cut, or definitive. Pull requests are welcome.
Also note that macOS or Windows can also be used to host virtual machines, just as any Linux or BSD distributions. Phyllome OS is intended to be easy-to-use, but still isn't. Out of the box, Chrome OS [^1], or even Windows [^2], might be considered more secure than most Linux desktop-oriented distributions [^3], at the price of greatly limiting user freedom and privacy, however. Due to their tight integration, some BSD distributions might be considered more secure than some Linux distributions. People might find Windows easier to use than, say, Ubuntu. Finally, just as Phyllome OS, Qubes OS is compatible with running Windows-based guest systems. In other words, using virtualization, a user might be able to access more usable operating systems, and in the case of Phyllome OS, one may even host Qubes OS inside Phyllome OS, for instance to test out Qubes OS.
Also note that macOS or Windows can also be used to host virtual machines, just as any Linux or BSD distributions.
[^1]: See for instance the paper [*Security of Google Chromebook* (PDF)](http://dhanus.mit.edu/docs/ChromeOSSecurity.pdf) by Katherine Fang, Deborah Hanus, Yuzhi Zheng. [^1]: See for instance the paper [*Security of Google Chromebook* (PDF)](http://dhanus.mit.edu/docs/ChromeOSSecurity.pdf) by Katherine Fang, Deborah Hanus, Yuzhi Zheng.

View File

@ -2,7 +2,7 @@
title: Darwin family title: Darwin family
description: description:
published: true published: true
date: 2021-11-13T16:48:09.330Z date: 2021-11-14T18:41:52.601Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-13T16:29:34.112Z dateCreated: 2021-11-13T16:29:34.112Z
@ -10,7 +10,7 @@ dateCreated: 2021-11-13T16:29:34.112Z
# Darwin-based operating systems # Darwin-based operating systems
> Phyllome OS **strongly** discourage users from virtualizing proprietary, darwin-based operating systems on non-Apple hardware. The Phyllome OS Project will take any possible measures to shutdown threads that mention such setup on platforms it has control over. > Phyllome OS **strongly** discourages users from virtualizing proprietary, darwin-based operating systems on non-Apple hardware. The Phyllome OS Project will take any possible measures to shutdown threads that mention such setup on platforms it has control over.
{.is-danger} {.is-danger}
> That being said, it is perfectly legal to virtualize open-source, darwin-based operating systems surch as [PureDarwin](https://www.puredarwin.org/), even on non-Apple hardware. As a result, Phyllome OS **strongly** encourage users to do so. > That being said, it is perfectly legal to virtualize open-source, darwin-based operating systems surch as [PureDarwin](https://www.puredarwin.org/), even on non-Apple hardware. As a result, Phyllome OS **strongly** encourage users to do so.

View File

@ -2,7 +2,7 @@
title: Netboot for all title: Netboot for all
description: description:
published: true published: true
date: 2021-11-13T17:07:02.233Z date: 2021-11-14T18:40:21.600Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-13T11:43:58.697Z dateCreated: 2021-11-13T11:43:58.697Z
@ -12,7 +12,7 @@ dateCreated: 2021-11-13T11:43:58.697Z
## Forewords ## Forewords
As a now, `netboot.xyz` is the main way to install a guest operating system inside Phyllome OS. It is compatible with most but not all guest operating systems. As of now, `netboot.xyz` is the main way to install a guest operating system inside Phyllome OS. It is compatible with most (but not all) guest operating systems.
## Preparation ## Preparation
@ -24,7 +24,7 @@ wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso -P /var/lib/libvirt/iso/
## Create a virtual machine using `virt-install` ## Create a virtual machine using `virt-install`
The command bellow will create a virtual machine without a disk. The command below will create a virtual machine without a disk.
``` ```
virt-install \ virt-install \

View File

@ -2,7 +2,7 @@
title: Linux title: Linux
description: description:
published: true published: true
date: 2021-11-13T12:56:26.763Z date: 2021-11-14T18:41:11.183Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-13T11:50:48.789Z dateCreated: 2021-11-13T11:50:48.789Z
@ -10,7 +10,7 @@ dateCreated: 2021-11-13T11:50:48.789Z
## Go further ## Go further
*The section is meant to introduce how to execute particular taks on Phyllome OS, including deploying certain guest systems. Some of these tasks will be rendered obsolete with newer Phyllome OS version.* *This section is meant to introduce how to execute particular taks on Phyllome OS, including deployment of certain guest systems. Some of these tasks will be rendered obsolete with newer Phyllome OS versions.*
### Tasks related to Phyllome OS ### Tasks related to Phyllome OS
@ -26,7 +26,7 @@ dateCreated: 2021-11-13T11:50:48.789Z
### Tasks related to your guest OS ### Tasks related to your guest OS
*Although Phyllome OS thrives to pick good defaults that will work for many guest systems, further optimizations may be needed.* *Although Phyllome OS strives to choose defaults that will work for many guest systems, further optimizations may be needed.*
> By design, Phyllome OS only supports modern UEFI-based guests operating systems compatible with virtio devices and that haven't reached their end of life. > By design, Phyllome OS only supports modern UEFI-based guests operating systems compatible with virtio devices and that haven't reached their end of life.
{.is-info} {.is-info}

18
home.md
View File

@ -2,7 +2,7 @@
title: Homepage title: Homepage
description: description:
published: true published: true
date: 2021-11-13T19:32:55.887Z date: 2021-11-14T18:34:35.464Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-06-19T09:29:20.593Z dateCreated: 2021-06-19T09:29:20.593Z
@ -10,7 +10,7 @@ dateCreated: 2021-06-19T09:29:20.593Z
# Phyllome OS wiki # Phyllome OS wiki
`Welcome to the Phyllome's OS wiki! ` `Welcome to the Phyllome OS wiki! `
*In this wiki, you will find guides about how to install, use and hack Phyllome OS, as well as more general information about open-source virtualization and the project behind this specialized OS.* *In this wiki, you will find guides about how to install, use and hack Phyllome OS, as well as more general information about open-source virtualization and the project behind this specialized OS.*
@ -26,26 +26,26 @@ If you want to learn more about it, its goal and the context around it, have a l
## Deploy ## Deploy
*The section is meant to help users prepare their computer to host Phyllome OS, to pick the right version that will suit their needs, to understand its limitations, and to install it.* *This section is meant to help users prepare their computers to host Phyllome OS, pick the version that will suit their needs, understand Phyllome OS' limitations, and install it.*
* **Choose** * **Choose**
* [Is Phyllome OS right for you?](/deploy/rightforyou) * [Is Phyllome OS right for you?](/deploy/rightforyou)
* **Install** * **Install**
* [Prepare your computer](/deploy/prepare) * [Prepare your computer](/deploy/prepare)
* [Create an installation medium](/deploy/medium) * [Create an installation medium](/deploy/medium)
* [Install from a thumb drive](/deploy/live) (*default method*) * [Install from a thumb drive](/deploy/install) (*default method*)
* ...and [**more**](https://wiki.phyllo.me/en/deploy) * ...and [**more**](https://wiki.phyllo.me/en/deploy)
## Get started ## Get started
*The section is meant to introduce how to use Phyllome OS in a general way.* *This section is meant to introduce uses of Phyllome OS in a general way.*
* [Use it as a live system](/getstarted/live) (*to test it*) * [Use it as a live system](/getstarted/live) (*to test it*)
* [Use it as an installed system](/getstarted/disk) (*for daily use*) * [Use it as an installed system](/getstarted/disk) (*for daily use*)
## Go further ## Go further
*The section is meant to introduce how to execute particular taks on Phyllome OS, including deploying certain guest systems. Some of these tasks will be rendered obsolete with newer Phyllome OS versions.* *This section is meant to introduce the execution of particular taks on Phyllome OS, including deployment of certain guest systems. Some of these tasks will be rendered obsolete with newer Phyllome OS versions.*
### Tasks related to Phyllome OS ### Tasks related to Phyllome OS
@ -56,7 +56,7 @@ If you want to learn more about it, its goal and the context around it, have a l
### Tasks related to your guest OS ### Tasks related to your guest OS
*Although Phyllome OS thrives to pick good defaults that will work for many guest systems, further optimizations may be needed.* *Although Phyllome OS strives to choose defaults that will work for many guest systems, further optimizations may be needed.*
* [Linux family](/gofurther/linux) * [Linux family](/gofurther/linux)
* [Darwin family](/gofurther/darwin) * [Darwin family](/gofurther/darwin)
@ -65,7 +65,7 @@ If you want to learn more about it, its goal and the context around it, have a l
## About Phyllome OS ## About Phyllome OS
*In this section, the context around Phyllome OS is set and its internals are described* *In this section, the context around Phyllome OS is explained and its internals are described*
* [Context](/phyllomeos/context) * [Context](/phyllomeos/context)
* [Purpose](/phyllomeos/purpose) * [Purpose](/phyllomeos/purpose)
@ -74,7 +74,7 @@ If you want to learn more about it, its goal and the context around it, have a l
### On open-source virtualization ### On open-source virtualization
*In this section, the focus is on KVM virtualization, and its associated tools, including QEMU, the Linux kernel, libvirt, etc., mostly in the context of Phyllome OS.* *In this section, the focus is on KVM virtualization and its associated tools, including QEMU, the Linux kernel, libvirt, etc., mostly in the context of Phyllome OS.*
* [Anatomy of a virtual machine](/virt/vm) * [Anatomy of a virtual machine](/virt/vm)
* [Lexicon](/virt/lexicon) * [Lexicon](/virt/lexicon)

View File

@ -2,7 +2,7 @@
title: Illustrations or what you may do with Phyllome OS title: Illustrations or what you may do with Phyllome OS
description: description:
published: true published: true
date: 2021-11-13T17:37:13.798Z date: 2021-11-14T18:42:27.448Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-11T19:07:41.722Z dateCreated: 2021-11-11T19:07:41.722Z
@ -11,4 +11,4 @@ dateCreated: 2021-11-11T19:07:41.722Z
# Use cases # Use cases
Your content here Your content here
In example, a virtual display in a virtual machine can be set to a resolution that exceeds what the underling physical display is capable of, and such a virtual display may be accessible remotely, over the network. For example, a virtual display in a virtual machine can be set to a resolution that exceeds what the underling physical display is capable of, and such a virtual display may be accessible remotely, over the network.

View File

@ -2,7 +2,7 @@
title: Infrastructure title: Infrastructure
description: description:
published: true published: true
date: 2021-11-13T12:49:11.558Z date: 2021-11-14T18:44:52.262Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-13T12:10:04.658Z dateCreated: 2021-11-13T12:10:04.658Z
@ -16,7 +16,7 @@ Most services are self-hosted in a virtual machine, on a Fedora Server host.
## Platform-as-a-Service (PaaS) ## Platform-as-a-Service (PaaS)
* **Description**: [Cloudron.io](https://www.cloudron.io/) is used to deploy web applications consumed by the Phyllome OS project * **Description**: [Cloudron.io](https://www.cloudron.io/) is used to deploy web applications consumed by the Phyllome OS project.
* **Location**: https://my.phyllo.me * **Location**: https://my.phyllo.me
* **Maintainer** : lukas@phyllo.me * **Maintainer** : lukas@phyllo.me
@ -24,7 +24,7 @@ Cloudron.io is a PaaS used to deploy and keep web applications up-do-date. It is
OpenLDAP is made through so you can access most applications using a single account. OpenLDAP is made through so you can access most applications using a single account.
Alas, there is no SSO, so you will have to login to each applications at first. Alas, there is no SSO, so you will have to login to each application at first.
## Website ## Website
@ -42,7 +42,7 @@ Learn about Grav by checking out the dedicated [Learn Grav](http://learn.getgrav
* **Maintainer**: lukas@phyllo.me * **Maintainer**: lukas@phyllo.me
* **Access**: Core team only * **Access**: Core team only
## Files hosting ## File hosting
* **Description**: [Nextcloud](https://nextcloud.com/) is used for hosting files * **Description**: [Nextcloud](https://nextcloud.com/) is used for hosting files
* **Location**: https://files.phyllo.me/ * **Location**: https://files.phyllo.me/

View File

@ -2,7 +2,7 @@
title: How to join title: How to join
description: description:
published: true published: true
date: 2021-11-13T17:54:51.006Z date: 2021-11-14T18:43:40.530Z
tags: tags:
editor: markdown editor: markdown
dateCreated: 2021-11-13T12:51:05.446Z dateCreated: 2021-11-13T12:51:05.446Z
@ -12,7 +12,7 @@ dateCreated: 2021-11-13T12:51:05.446Z
## Introduction ## Introduction
This page intends to support onboarding of new contributors to the Phyllome OS Project. This page supports the onboarding of new contributors to the Phyllome OS Project.
## Getting started ## Getting started