ladybird/Documentation
Liav A ed67a877a3 Kernel+SystemServer+Base: Introduce the RAMFS filesystem
This filesystem is based on the code of the long-lived TmpFS. It differs
from that filesystem in one keypoint - its root inode doesn't have a
sticky bit on it.

Therefore, we mount it on /dev, to ensure only root can modify files on
that directory. In addition to that, /tmp is mounted directly in the
SystemServer main (start) code, so it's no longer specified in the fstab
file. We ensure that /tmp has a sticky bit and has the value 0777 for
root directory permissions, which is certainly a special case when using
RAM-backed (and in general other) filesystems.

Because of these 2 changes, it's no longer needed to maintain the TmpFS
filesystem, hence it's removed (renamed to RAMFS), because the RAMFS
represents the purpose of this filesystem in a much better way - it
relies on being backed by RAM "storage", and therefore it's easy to
conclude it's temporary and volatile, so its content is gone on either
system shutdown or unmounting of the filesystem.
2023-02-04 15:32:45 -07:00
..
Browser Documentation: Update AddNewIDLFile for GC and Exposed changes 2022-10-09 10:14:57 +02:00
Kernel Kernel+SystemServer+Base: Introduce the RAMFS filesystem 2023-02-04 15:32:45 -07:00
AdvancedBuildInstructions.md Documentation: Remove i686 support 2022-12-28 11:53:41 +01:00
BareMetalInstallation.md Documentation: Remove references to the removed NE2000 driver 2023-01-08 21:51:59 +01:00
BuildInstructions.md Documentation: Add how to update build to use SerenityOS-provided CMake 2023-01-04 09:02:13 +00:00
BuildInstructionsMacOS.md Documentation: Fix a few typos 2022-12-27 15:58:39 -08:00
BuildInstructionsOther.md Documentation: Add instructions for building images without root 2022-04-04 12:49:32 +02:00
BuildInstructionsWindows.md Documentation: Update WSL QEMU Installation Requirements 2022-12-03 16:04:38 -07:00
BuildProfilingInstructions.md Documentation: Add BuildProfilingInstructions.md 2021-07-30 20:51:11 +02:00
CLion_Add_Configuration.png Documentation: Add Kernel/Userland quick switch to CLion configuration 2022-04-01 17:39:15 +01:00
CLion_Add_Configuration_Existing.png Documentation: Add Kernel/Userland quick switch to CLion configuration 2022-04-01 17:39:15 +01:00
CLionCodeStyleSettings.xml Documentation: Recommend CLion code style settings over manual steps 2022-12-03 23:54:48 +00:00
CLionConfiguration.md Documentation: Fix typo in CLionConfiguration.md 2023-01-08 20:39:59 +01:00
CodingStyle.md AK: Move Stream and SeekableStream from LibCore 2023-01-29 19:16:44 -07:00
EmacsConfiguration.md Documentation: Remove i686 support 2022-12-28 11:53:41 +01:00
EventLoop.md Everywhere: Fix a variety of typos 2022-09-14 04:46:49 +00:00
FAQ.md Documentation: Remove i686 support 2022-12-28 11:53:41 +01:00
HardwareCompatibility.md Documentation: Remove references to the removed NE2000 driver 2023-01-08 21:51:59 +01:00
HighDPI.md Playground: Rename the application to GMLPlayground 2022-06-28 21:10:10 +01:00
LadybirdBuildInstructions.md Documentation: Reorganize Ladybird build docs to put easy path first 2023-02-04 12:30:36 +01:00
Links.md Documentation: Add a link list 2023-01-24 19:51:13 +00:00
NetworkBoot.md Kernel: Make i8042 controller initialization sequence more robust 2023-01-06 11:09:56 +01:00
NvimConfiguration.md Documentation: Add Neovim configuration documentation 2023-01-03 17:59:08 +01:00
Patterns.md Documentation: Document the "Fallible Constructor" pattern 2023-01-26 20:24:16 +00:00
QEMU_Components.png Documentation: Suggest using x86_64 QEMU on Windows 2021-07-10 23:24:45 +02:00
QtCreatorConfiguration.md Documentation: Update QtCreator setup instructions 2023-01-05 13:20:54 +01:00
README.md Documentation: Add a link list 2023-01-24 19:51:13 +00:00
RunningOnRaspberryPi.md Documentation: Tweak RunningOnRaspberryPi a bit 2021-10-21 20:01:34 +01:00
RunningTests.md Documentation: Remove i686 support 2022-12-28 11:53:41 +01:00
SelfHostedRunners.md Meta: Switch to clang-format-15 as the standard formatter 2022-12-03 23:52:23 +00:00
SmartPointers.md AK: Convert the try_make<T> factory function to use ErrorOr 2022-02-03 23:33:20 +01:00
StringFormatting.md AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
Tftpd32_Dhcp.png Documentation: Add RunningOnRaspberryPi page 2021-10-16 00:36:51 +01:00
Tftpd32_Serving.png Documentation: Add RunningOnRaspberryPi page 2021-10-16 00:36:51 +01:00
Tftpd32_Tftp.png Documentation: Add RunningOnRaspberryPi page 2021-10-16 00:36:51 +01:00
TransferringFiles.md Documentation: Rename WebServer_localhost to .jpg 2023-02-01 13:40:37 +00:00
Troubleshooting.md Documentation: Add troubleshooting note regarding KVM GDB 2023-02-02 02:02:23 -07:00
VimConfiguration.md Meta: Add configuration file for YouCompleteMe 2022-10-27 20:52:39 +01:00
VirtualBox.md Documentation: Update VirtualBox docs memory section 2023-01-06 11:08:58 -07:00
VirtualBox_Creation_Reference.png Documentation: Remove execute bit from image file 2022-08-24 07:29:13 +00:00
VMware.md Documentation: Update VMWare docs memory section 2023-01-06 11:08:58 -07:00
VSCodeConfiguration.md Documentation: Remove i686 support 2022-12-28 11:53:41 +01:00
WebServer_localhost.jpg Documentation: Rename WebServer_localhost to .jpg 2023-02-01 13:40:37 +00:00
WHPX_Feature.png Documentation: Add screenshot for WHPX 2021-07-10 23:24:45 +02:00

SerenityOS Documentation

Serenity development moves quickly, so some of these might be out of date. Please let us know if something here is wrong, or submit a PR with any additions or corrections! If you have any questions that are not answered here or in the FAQ, you are welcome to ask on Discord.

A list of useful pages across the web can be found on the link list.

Building and Running

OS-specific

Make sure to read the basic Build Instructions first.

Running on Hardware

Configuring Editors

Development

File and Data Formats

Browser/LibWeb

Kernel

Applications

Documentation for SerenityOS applications and utilities can be found in the man pages.