docs - refresh man pages
This commit is contained in:
1 parent
7eda8b1a8d
commit
a463834e0a
21 files changed
+972
-524
No files matched your search
+47
-55
@@ -111,31 +111,22 @@
|
||||
<pre><code><strong>NAME</strong>
|
||||
intro - introduction to MontaukOS userspace
|
||||
|
||||
|
||||
<strong>DESCRIPTION</strong>
|
||||
MontaukOS is a hobbyist 64-bit operating system written in C++20,
|
||||
currently at version 0.1.7 (API version 8). Userspace programs
|
||||
MontaukOS is a 64-bit operating system written in C++20,
|
||||
currently at version 0.2.0 (API version 11). Userspace programs
|
||||
run in Ring 3, are loaded as static ELF64 binaries, and
|
||||
communicate with the kernel through the x86-64 SYSCALL/SYSRET
|
||||
mechanism (150 syscalls -- see syscalls(2)).
|
||||
mechanism (roughly 190 syscall numbers, 0-189 - see <a href="syscalls.html">syscalls(2)</a>).
|
||||
|
||||
Programs are built with the x86_64-montauk cross toolchain and
|
||||
linked at virtual address 0x400000. MontaukOS has its own C
|
||||
library along with the Montauk API (montauk:: wrappers).
|
||||
|
||||
Programs are compiled with a freestanding cross-compiler and
|
||||
linked at virtual address 0x400000. There is no standard C
|
||||
library for C++ programs -- all system interaction goes through
|
||||
the montauk:: syscall wrappers. A desktop environment with a
|
||||
window server, GUI apps, and Bluetooth/audio/networking stacks
|
||||
runs on top of the same syscall API.
|
||||
|
||||
<strong>GETTING STARTED</strong>
|
||||
To write a new system/CLI program, create a directory under
|
||||
programs/src/ with a main.cpp file. The entry point is:
|
||||
|
||||
extern "C" void _start() { ... }
|
||||
|
||||
There is no argc/argv. Use montauk::getargs() to retrieve any
|
||||
arguments passed by the parent process. Include <montauk/syscall.h>
|
||||
for the full typed syscall API. GUI apps additionally use
|
||||
win_create()/win_poll()/win_present() from montauk/Window.hpp
|
||||
(see framebuffer(2)).
|
||||
programs/src/ with a main.cpp file.
|
||||
|
||||
Build with:
|
||||
|
||||
@@ -144,64 +135,65 @@
|
||||
System/CLI binaries appear in programs/bin/os/; GUI app bundles
|
||||
(ELF + manifest.toml + icon) appear under programs/bin/apps/<name>/.
|
||||
|
||||
|
||||
<strong>RAMDISK LAYOUT</strong>
|
||||
The boot ramdisk is mounted as drive 0 with the following
|
||||
directory structure:
|
||||
|
||||
0:/os/ System/CLI binaries (shell, init, man, etc.),
|
||||
plus os-owned data: certs/, firmware/,
|
||||
licenses/, wallpapers/
|
||||
0:/apps/ GUI app bundles, one directory per app
|
||||
(<app>.elf + manifest.toml + icon)
|
||||
0:/os/ System/CLI binaries, os data
|
||||
0:/apps/ App bundles
|
||||
0:/config/ System-wide config TOMLs
|
||||
0:/users/<name>/ Per-user home directories (created at
|
||||
login), with Music/, Videos/, Pictures/,
|
||||
config/ subdirectories
|
||||
0:/users/<name>/ User home directories
|
||||
0:/state/ Mutable system runtime state
|
||||
0:/tmp/ Scratch space
|
||||
0:/fonts/ Shared fonts
|
||||
0:/icons/ Shared icons
|
||||
0:/man/ Manual pages
|
||||
0:/www/ Web server content
|
||||
0:/lib/ Lua and TinyCC toolchain payloads
|
||||
0:/sdk/ Montauk SDK (native gcc/binutils, TinyCC,
|
||||
Lua, headers and libraries), when installed
|
||||
0:/boot/ Kernel, bootloader, ramdisk image
|
||||
|
||||
There is no 0:/games/, 0:/common/, 0:/home/, or 0:/etc/ --
|
||||
these were used by earlier single-user releases and no longer
|
||||
exist. Games and other GUI programs (including doom) ship as
|
||||
bundles under 0:/apps/.
|
||||
|
||||
<strong>SHELL</strong>
|
||||
The interactive shell is the primary way to interact with
|
||||
The interactive shell can be used to interact with
|
||||
MontaukOS. Commands are resolved against the current directory
|
||||
first, then 0:/os/. Type 'help' at the shell prompt for a list
|
||||
first, then 0:/os/.
|
||||
|
||||
Type 'help' at the shell prompt for a list
|
||||
of commands. Use 'man shell' for detailed shell documentation.
|
||||
|
||||
|
||||
<strong>MAN PAGES</strong>
|
||||
The following man pages are available:
|
||||
|
||||
intro(1) This page
|
||||
shell(1) Shell commands reference
|
||||
init(1) Init system
|
||||
dhcp(1) DHCP client
|
||||
fetch(1) HTTP client
|
||||
ping(1) ICMP ping
|
||||
nslookup(1) DNS lookup
|
||||
fontscale(1) Terminal font scaling
|
||||
edit(1) Text editor
|
||||
man(1) The man command itself
|
||||
printctl(1) Printer control
|
||||
printd(1) Print spooler daemon
|
||||
wiki(1) Wikipedia article viewer
|
||||
legal(7) Copyright and legal information
|
||||
tls-errors(5) TLS/BearSSL error reference
|
||||
syscalls(2) Overview of all syscalls
|
||||
spawn(2) Process spawning
|
||||
file(2) File I/O syscalls
|
||||
framebuffer(2) Framebuffer access
|
||||
malloc(3) Memory allocation
|
||||
<a href="intro.html">intro(1)</a> This page
|
||||
<a href="shell.html">shell(1)</a> Shell commands reference
|
||||
<a href="init.html">init(1)</a> Init system
|
||||
<a href="dhcp.html">dhcp(1)</a> DHCP client
|
||||
<a href="fetch.html">fetch(1)</a> HTTP client
|
||||
<a href="ping.html">ping(1)</a> ICMP ping
|
||||
<a href="nslookup.html">nslookup(1)</a> DNS lookup
|
||||
<a href="wifi.html">wifi(1)</a> Wi-Fi configuration
|
||||
<a href="sshd.html">sshd(1)</a> SSH daemon
|
||||
<a href="fontscale.html">fontscale(1)</a> Terminal font scaling
|
||||
<a href="edit.html">edit(1)</a> Text editor
|
||||
<a href="man.html">man(1)</a> The man command itself
|
||||
<a href="printctl.html">printctl(1)</a> Printer control
|
||||
<a href="printd.html">printd(1)</a> Print spooler daemon
|
||||
<a href="wiki.html">wiki(1)</a> Wikipedia article viewer
|
||||
<a href="legal.html">legal(7)</a> Copyright and legal information
|
||||
<a href="tls-errors.html">tls-errors(5)</a> TLS/BearSSL error reference
|
||||
<a href="syscalls.html">syscalls(2)</a> Overview of all syscalls
|
||||
<a href="spawn.html">spawn(2)</a> Process spawning
|
||||
<a href="file.html">file(2)</a> File I/O syscalls
|
||||
<a href="framebuffer.html">framebuffer(2)</a> Framebuffer access
|
||||
<a href="malloc.html">malloc(3)</a> Memory allocation
|
||||
<a href="rtlsdr.html">rtlsdr(3)</a> RTL-SDR software radio API
|
||||
|
||||
|
||||
<strong>SEE ALSO</strong>
|
||||
shell(1), syscalls(2), malloc(3)</code></pre>
|
||||
|
||||
<a href="shell.html">shell(1)</a>, <a href="syscalls.html">syscalls(2)</a>, <a href="malloc.html">malloc(3)</a></code></pre>
|
||||
<hr>
|
||||
|
||||
<div class="center">
|
||||
|
||||
Reference in new issue
Block a user