nuttx/Documentation/applications/system
Vinicius May f6ecf80ebb Documentation: brand new layout for NuttX documentation.
The documentation grew one page at a time, so the tree follows the
history of who wrote what and not the shape of NuttX. Scheduling is
spread over three places, a driver page can sit above the subsystem
that owns it, and the front page lists everything at the same level.
That is a lot to face when all you want to know is where the scheduler
lives.

This change files every page under the code it describes. It is a move,
not a rewrite: outside the ten pages named below, every page keeps the
text that is already in master, and no page's text is deleted.

What it does:

* Groups the table of contents into nine chapters.
* Moves the OS subsystems under os/: scheduling, memory, drivers,
  filesystem, networking, IPC, interrupts, libs, time.
* Renames the platform pages to the names the source tree uses, and
  derives their tags from the tree instead of by hand.
* Splits guides/ by subject.
* Adds Documentation/redirects.py, with a rule for every page that left
  its old path, so old URLs keep working. The redirect page also carries
  a link's #anchor across to the new page.

Ten pages have text that is new or rewritten. Nine of them are the
landing page of a chapter, which has to exist for the new structure:

    index                  the front page
    os/index               OS Design
    os/scheduling/index    Scheduling
    os/interrupts/index    Interrupts
    os/ipc/index           IPC
    os/time/index          Time and timers
    about/index            About
    developing/index       Developing NuttX
    ReleaseNotes/index     Release notes

The tenth is os/libs/libbuiltin, the only page here with technical
content: libs/libbuiltin/ had no page at all. Five SVG diagrams come
with these pages, hand-written XML with no editor metadata.

Nothing outside Documentation/ is touched.

How it was checked:

* Sphinx builds with -W: no warnings, and no document left outside a
  toctree.
* A script, offered in the PR, proves the narrow claim this rests on.
  For every page outside the ten named above it erases what a move
  touches -- link target, path, tag line, toctree block, table border --
  from the whole old text and the whole new text, and requires the two
  to be byte for byte identical. It also requires every sentence of a
  deleted page to turn up somewhere, and every page that left its old
  path to have a redirect, from a URL that existed, to where its content
  went. It exits non-zero and names the page if any of that is not true,
  and it tests added pages too, so forgetting to declare one cannot make
  it pass.
* An independent audit checked 133 factual claims on these ten pages
  against the tree, one shell command per claim: 130 confirmed, 1
  refuted and fixed here, 2 not checkable.
* tools/checkpatch.sh is clean over the range.

The diff is large because moving a page changes every link that points
to it. Most of it is pure renames, and board pages that gained one tag
line.

Assisted-by: Claude:claude-opus-5
2026-10-08 01:40:54 +08:00
..
adb
adcscope Documentation: update nxscope doc 2026-03-24 09:39:42 +08:00
argtable3
cdcacm
cfgdata
cle Documentation: document cle library. 2026-05-27 10:03:54 -03:00
composite
conntrack Documentation/applications/system/conntrack: add conntrack man page 2026-06-11 22:52:33 -03:00
coredump
critmon Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
cu Documentation: system: cu: document the cu serial terminal 2026-07-13 09:35:18 -04:00
curl boards/linum-stm32h753bi: add curl config and document the curl command 2026-07-21 14:36:23 +08:00
dd Documentation: Document dd command. 2026-05-27 12:48:02 +02:00
debugpoint
dhcp6c
dhcpc
dumpstack docs/dumpstack: improve documentation 2026-01-23 16:33:01 +08:00
expat Documentation: add S2OPC documentation 2026-09-14 18:30:38 -03:00
fastboot Documentation/applications/system/fastboot: add multi-transport info 2026-08-28 16:51:20 -03:00
fdt
flash_eraseall
flatbuffers Documentation,drivers/aie: align machine learning docs with current code 2026-09-19 15:16:18 -03:00
gcov
gdbstub
gprof Documentation: document gprof command. 2026-05-28 02:20:42 +02:00
grep Documentation/grep: Add grep command documentation 2026-08-29 00:07:50 +08:00
hex2bin Documentation: document hex2bin command. 2026-05-27 21:46:38 +08:00
hexed
hostname Documentation: Document hostname command. 2026-05-27 10:04:35 -03:00
i2c doc/i2ctool: Add missing -z paramenter 2026-08-06 09:28:08 -04:00
input
ip6tables fix: remove extra backtick in See Also doc reference 2026-06-10 08:55:23 -03:00
iptables fix: remove cross-reference to ip6tables doc not yet in tree 2026-06-10 08:57:15 -03:00
kbd Documentation: follow the keyboard change in the application docs 2026-08-02 18:37:12 +08:00
libuv
lm75 Documentation: document lm75 temperature command. 2026-05-27 10:03:04 -03:00
lzf Documentation: document lzf command. 2026-05-28 15:43:13 +08:00
mdio
microros doc/system: Add documentation for micro-ROS integration. 2026-05-24 09:10:01 +08:00
netdb
nsh
ntpc Documentation/ntpc: document DHCP NTP server support 2026-04-18 19:14:20 -03:00
nxcamera Documentation: add nxcamera documentation 2026-05-08 19:51:39 +08:00
nxcodec
nxdiag
nxinit Documentation/applications/system/nxinit: document the "console" option 2026-09-10 09:26:33 +02:00
nxlooper
nxmbclient boards/nucleo-c071rb: add nxmodbus examples to jumbo 2026-04-21 09:39:04 +08:00
nxpkg Documentation: Update nxpkg and add nxstore guide. 2026-08-24 09:53:50 +08:00
nxplayer
nxrecorder
nxstore Documentation: Add NXStore hardware screenshot. 2026-08-24 09:53:50 +08:00
ofloader
ping docs: add ICMP ping guide (usage, options, examples) 2025-12-29 22:41:40 +08:00
ping6 Documentation: document ping6 command. 2026-05-28 09:43:31 -03:00
popen
psmq
ptpd Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
readline
sched_note
sensorscope Documentation: update nxscope doc 2026-03-24 09:39:42 +08:00
sensortest Documentation: document sensortest command 2026-06-08 10:04:48 +02:00
setlogmask Documentation: document setlogmask command 2026-05-25 10:30:16 -03:00
smf docs/applications/smf: added state machine framework example documentation 2026-01-05 09:47:23 +08:00
spi
stackmonitor Documentation: Document stackmonitor command. 2026-05-27 12:29:35 +08:00
stty Documentation/applications/system: Add stty command documentation 2026-08-14 13:47:04 +02:00
syslogd Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
system
taskset Documentation: Document taskset command. 2026-05-26 23:15:36 +08:00
tcpdump Documentation: document tcpdump command. 2026-06-07 22:55:03 +08:00
tee Documentation: Document tee command. 2026-05-26 09:04:57 -04:00
telnet
telnetd
termcurses
toybox Documentation: add apps/system/toybox entry 2026-08-14 10:20:52 +08:00
trace
ubloxmodem
uniqueid Documentation: document uniqueid command. 2026-05-26 09:05:19 -04:00
uorb Documentation/uorb: Fix command references in uORB docs. 2026-05-22 00:42:48 +08:00
usbmsc !arch/stm32: move stm32l1 and finalize the directory split 2026-06-24 14:54:44 -03:00
vi
vncviewer boards/lckfb-szpi-esp32s3: add vncviewer defconfig and documentation 2026-04-27 22:19:31 +02:00
xipfs Documentation: brand new layout for NuttX documentation. 2026-10-08 01:40:54 +08:00
ymodem
zbus zbus: Add linker support and documentation for the zbus port 2026-09-21 08:40:14 -03:00
zlib
zmodem style: Fix "the the" typo across the codebase. 2026-03-23 11:07:49 +01:00
index.rst