You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gi...@apache.org on 2024/11/12 00:38:57 UTC

(nuttx-website) branch asf-site updated: Publishing web: b0df2aeab6e41e7f7f2ff29ca7dee29d2f62f031 docs: 2464b3207d3819a0ab98e493e8a76b163e3c193a

This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/nuttx-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 9775aed49 Publishing web: b0df2aeab6e41e7f7f2ff29ca7dee29d2f62f031 docs: 2464b3207d3819a0ab98e493e8a76b163e3c193a
9775aed49 is described below

commit 9775aed49d847023c8713ea5d8beb6e44b189452
Author: Alin Jerpelea <al...@sony.com>
AuthorDate: Tue Nov 12 00:25:56 2024 +0000

    Publishing web: b0df2aeab6e41e7f7f2ff29ca7dee29d2f62f031 docs: 2464b3207d3819a0ab98e493e8a76b163e3c193a
---
 content/docs/10.0.0/index.html                     |   2 +-
 content/docs/10.0.1/index.html                     |   2 +-
 content/docs/10.1.0/index.html                     |   2 +-
 content/docs/10.2.0/index.html                     |   2 +-
 content/docs/10.3.0/index.html                     |   2 +-
 content/docs/11.0.0/index.html                     |   2 +-
 content/docs/12.0.0/index.html                     |   2 +-
 content/docs/12.0.0/searchindex.js                 |   2 +-
 content/docs/12.1.0/index.html                     |   2 +-
 content/docs/12.1.0/searchindex.js                 |   2 +-
 content/docs/12.2.0/index.html                     |   2 +-
 content/docs/12.2.0/searchindex.js                 |   2 +-
 content/docs/12.2.1/index.html                     |   2 +-
 content/docs/12.2.1/searchindex.js                 |   2 +-
 content/docs/12.3.0/index.html                     |   2 +-
 content/docs/12.3.0/searchindex.js                 |   2 +-
 content/docs/12.4.0/index.html                     |   2 +-
 content/docs/12.4.0/searchindex.js                 |   2 +-
 content/docs/12.5.0/index.html                     |   2 +-
 content/docs/12.5.0/searchindex.js                 |   2 +-
 content/docs/12.5.1/index.html                     |   2 +-
 content/docs/12.5.1/searchindex.js                 |   2 +-
 content/docs/12.6.0/index.html                     |   2 +-
 content/docs/12.6.0/searchindex.js                 |   2 +-
 content/docs/12.7.0/index.html                     |   2 +-
 content/docs/12.7.0/searchindex.js                 |   2 +-
 content/docs/latest/_images/nuttxfs_page_0.png     | Bin 0 -> 280813 bytes
 content/docs/latest/_images/nuttxfs_page_1.png     | Bin 0 -> 147162 bytes
 content/docs/latest/_images/nuttxfs_page_2.png     | Bin 0 -> 748533 bytes
 content/docs/latest/_images/nxffs_page_0.png       | Bin 0 -> 265564 bytes
 content/docs/latest/_images/nxffs_page_1.png       | Bin 0 -> 384072 bytes
 content/docs/latest/_images/nxffs_page_2.png       | Bin 0 -> 382602 bytes
 content/docs/latest/_images/nxflat-addressing.png  | Bin 0 -> 74104 bytes
 .../components/filesystem/how_nxffs_works.rst.txt  |  11 +
 .../_sources/components/filesystem/index.rst.txt   |   4 +
 .../_sources/components/filesystem/nuttxfs.rst.txt |  11 +
 .../_sources/components/filesystem/nxffs.rst.txt   |   7 +
 .../_sources/components/filesystem/nxflat.rst.txt  | 180 +++++++++
 .../components/filesystem/pseudofs.rst.txt         | 211 ++++++++++
 .../filesystem/special_files_dev_num.rst.txt       | 122 ++++++
 content/docs/latest/components/filesystem/aio.html |   4 +
 .../docs/latest/components/filesystem/binfs.html   |   4 +
 .../docs/latest/components/filesystem/cromfs.html  |   4 +
 content/docs/latest/components/filesystem/fat.html |   4 +
 .../docs/latest/components/filesystem/hostfs.html  |   4 +
 .../{tmpfs.html => how_nxffs_works.html}           |  50 ++-
 .../docs/latest/components/filesystem/index.html   |   8 +
 .../docs/latest/components/filesystem/inotify.html |   8 +-
 .../latest/components/filesystem/littlefs.html     |   4 +
 .../docs/latest/components/filesystem/mmap.html    |   4 +
 .../docs/latest/components/filesystem/mnemofs.html |   4 +
 content/docs/latest/components/filesystem/nfs.html |   4 +
 .../filesystem/{nfs.html => nuttxfs.html}          |  33 +-
 .../docs/latest/components/filesystem/nxffs.html   |  17 +-
 .../docs/latest/components/filesystem/nxflat.html  | 409 ++++++++++++++++++++
 .../latest/components/filesystem/partition.html    |   8 +-
 .../docs/latest/components/filesystem/procfs.html  |   4 +
 .../latest/components/filesystem/pseudofs.html     | 424 +++++++++++++++++++++
 .../docs/latest/components/filesystem/romfs.html   |   4 +
 .../docs/latest/components/filesystem/rpmsgfs.html |   4 +
 .../docs/latest/components/filesystem/shmfs.html   |   4 +
 .../docs/latest/components/filesystem/smartfs.html |   4 +
 .../{zipfs.html => special_files_dev_num.html}     | 155 ++++++--
 .../docs/latest/components/filesystem/spiffs.html  |   4 +
 .../docs/latest/components/filesystem/tmpfs.html   |   4 +
 .../docs/latest/components/filesystem/unionfs.html |   4 +
 .../docs/latest/components/filesystem/userfs.html  |   4 +
 .../docs/latest/components/filesystem/zipfs.html   |   4 +
 content/docs/latest/components/libs/index.html     |   4 +-
 content/docs/latest/index.html                     |   2 +-
 content/docs/latest/objects.inv                    | Bin 129331 -> 129901 bytes
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 73 files changed, 1695 insertions(+), 103 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index e4663b6b6..531674c7c 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -207,7 +207,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:13</p>
+<p>Last Updated: 12 November 24 at 00:12</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index b1d4adeb4..df3a5cd80 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -239,7 +239,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller environments, the primary governing standards in NuttX are Posix and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:13</p>
+<p>Last Updated: 12 November 24 at 00:12</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 5023a5b48..b0d9b4ce0 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -239,7 +239,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:13</p>
+<p>Last Updated: 12 November 24 at 00:13</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index e7a8ae177..ec770b2d7 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -240,7 +240,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:14</p>
+<p>Last Updated: 12 November 24 at 00:13</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index e7a8ae177..ec770b2d7 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -240,7 +240,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:14</p>
+<p>Last Updated: 12 November 24 at 00:13</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index e7a8ae177..d33f83826 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -240,7 +240,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:14</p>
+<p>Last Updated: 12 November 24 at 00:14</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.0.0/index.html b/content/docs/12.0.0/index.html
index 5e2a7d467..b425d7a22 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -165,7 +165,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:15</p>
+<p>Last Updated: 12 November 24 at 00:14</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.0.0/searchindex.js b/content/docs/12.0.0/searchindex.js
index 38aa7fcd3..4c7583071 100644
--- a/content/docs/12.0.0/searchindex.js
+++ b/content/docs/12.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/12.1.0/index.html b/content/docs/12.1.0/index.html
index 5cd9ee72b..52488de68 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -165,7 +165,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:15</p>
+<p>Last Updated: 12 November 24 at 00:14</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.1.0/searchindex.js b/content/docs/12.1.0/searchindex.js
index 88d363ffc..d79fb3269 100644
--- a/content/docs/12.1.0/searchindex.js
+++ b/content/docs/12.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/12.2.0/index.html b/content/docs/12.2.0/index.html
index 7088de0d1..03736c786 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -166,7 +166,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this heading"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:15</p>
+<p>Last Updated: 12 November 24 at 00:15</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.2.0/searchindex.js b/content/docs/12.2.0/searchindex.js
index 844b781b3..ce5b5f46d 100644
--- a/content/docs/12.2.0/searchindex.js
+++ b/content/docs/12.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", "applications/nsh/builtin", "applications/nsh/commands", "applications/nsh/config", "applications/nsh/customizing", "applications/nsh/index", "applications/nsh/installation", "applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", "applications/nxdiag/index", "applications/wapi/commands", "applications/wapi/index", "applications/wapi/wireless", "components/binfmt", "components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", "applications/nsh/builtin", "applications/nsh/commands", "applications/nsh/config", "applications/nsh/customizing", "applications/nsh/index", "applications/nsh/installation", "applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", "applications/nxdiag/index", "applications/wapi/commands", "applications/wapi/index", "applications/wapi/wireless", "components/binfmt", "components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.2.1/index.html b/content/docs/12.2.1/index.html
index b68678cd7..03736c786 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -166,7 +166,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this heading"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:16</p>
+<p>Last Updated: 12 November 24 at 00:15</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.2.1/searchindex.js b/content/docs/12.2.1/searchindex.js
index ad021c154..5632b89a6 100644
--- a/content/docs/12.2.1/searchindex.js
+++ b/content/docs/12.2.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", "applications/nsh/builtin", "applications/nsh/commands", "applications/nsh/config", "applications/nsh/customizing", "applications/nsh/index", "applications/nsh/installation", "applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", "applications/nxdiag/index", "applications/wapi/commands", "applications/wapi/index", "applications/wapi/wireless", "components/binfmt", "components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", "applications/nsh/builtin", "applications/nsh/commands", "applications/nsh/config", "applications/nsh/customizing", "applications/nsh/index", "applications/nsh/installation", "applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", "applications/nxdiag/index", "applications/wapi/commands", "applications/wapi/index", "applications/wapi/wireless", "components/binfmt", "components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.3.0/index.html b/content/docs/12.3.0/index.html
index a44d0e4b4..ab96cb924 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -166,7 +166,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <section id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this heading"></a></h1>
 <p>NuttX is a real-time operating system (RTOS) with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller environments, the primary governing standards in NuttX are POSIX and ANSI standards. Additional standard APIs from Unix and other common RTOS’s (such as VxWorks) are adopted for functionality not available under these standards, or for functionality that is not appropriate for deeply-embedded environments (such as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:16</p>
+<p>Last Updated: 12 November 24 at 00:16</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.3.0/searchindex.js b/content/docs/12.3.0/searchindex.js
index d959dec10..ecad84345 100644
--- a/content/docs/12.3.0/searchindex.js
+++ b/content/docs/12.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", "applications/nsh/builtin", "applications/nsh/commands", "applications/nsh/config", "applications/nsh/customizing", "applications/nsh/index", "applications/nsh/installation", "applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", "applications/nxdiag/index", "applications/wapi/commands", "applications/wapi/index", "applications/wapi/wireless", "components/binfmt", "components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", "applications/nsh/builtin", "applications/nsh/commands", "applications/nsh/config", "applications/nsh/customizing", "applications/nsh/index", "applications/nsh/installation", "applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config", "applications/nxdiag/index", "applications/wapi/commands", "applications/wapi/index", "applications/wapi/wireless", "components/binfmt", "components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.4.0/index.html b/content/docs/12.4.0/index.html
index 93b920dfd..84776793d 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -173,7 +173,7 @@ standards. Additional standard APIs from Unix and other common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments (such
 as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:17</p>
+<p>Last Updated: 12 November 24 at 00:16</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.4.0/searchindex.js b/content/docs/12.4.0/searchindex.js
index b5a9b423a..ba7dae214 100644
--- a/content/docs/12.4.0/searchindex.js
+++ b/content/docs/12.4.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.0/index.html b/content/docs/12.5.0/index.html
index 47327fc4d..8b0791569 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -173,7 +173,7 @@ standards. Additional standard APIs from Unix and other common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments (such
 as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:18</p>
+<p>Last Updated: 12 November 24 at 00:18</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.5.0/searchindex.js b/content/docs/12.5.0/searchindex.js
index 08bdfbf6f..7fb0513f2 100644
--- a/content/docs/12.5.0/searchindex.js
+++ b/content/docs/12.5.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.1/index.html b/content/docs/12.5.1/index.html
index cf42990f2..730179e43 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -173,7 +173,7 @@ standards. Additional standard APIs from Unix and other common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments (such
 as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:20</p>
+<p>Last Updated: 12 November 24 at 00:19</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.5.1/searchindex.js b/content/docs/12.5.1/searchindex.js
index b4e168624..74220a2fd 100644
--- a/content/docs/12.5.1/searchindex.js
+++ b/content/docs/12.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.6.0/index.html b/content/docs/12.6.0/index.html
index 715b1923e..f73877b96 100644
--- a/content/docs/12.6.0/index.html
+++ b/content/docs/12.6.0/index.html
@@ -174,7 +174,7 @@ standards. Additional standard APIs from Unix and other common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments (such
 as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:21</p>
+<p>Last Updated: 12 November 24 at 00:20</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.6.0/searchindex.js b/content/docs/12.6.0/searchindex.js
index 2082c73c3..330fd2a72 100644
--- a/content/docs/12.6.0/searchindex.js
+++ b/content/docs/12.6.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/12.7.0/index.html b/content/docs/12.7.0/index.html
index 8036b9e26..2505d2416 100644
--- a/content/docs/12.7.0/index.html
+++ b/content/docs/12.7.0/index.html
@@ -173,7 +173,7 @@ standards. Additional standard APIs from Unix and other common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments (such
 as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:22</p>
+<p>Last Updated: 12 November 24 at 00:22</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.7.0/searchindex.js b/content/docs/12.7.0/searchindex.js
index 8837c9925..bd142e657 100644
--- a/content/docs/12.7.0/searchindex.js
+++ b/content/docs/12.7.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...]
\ No newline at end of file
diff --git a/content/docs/latest/_images/nuttxfs_page_0.png b/content/docs/latest/_images/nuttxfs_page_0.png
new file mode 100644
index 000000000..2c22481f1
Binary files /dev/null and b/content/docs/latest/_images/nuttxfs_page_0.png differ
diff --git a/content/docs/latest/_images/nuttxfs_page_1.png b/content/docs/latest/_images/nuttxfs_page_1.png
new file mode 100644
index 000000000..4d2351326
Binary files /dev/null and b/content/docs/latest/_images/nuttxfs_page_1.png differ
diff --git a/content/docs/latest/_images/nuttxfs_page_2.png b/content/docs/latest/_images/nuttxfs_page_2.png
new file mode 100644
index 000000000..a22ae8e0c
Binary files /dev/null and b/content/docs/latest/_images/nuttxfs_page_2.png differ
diff --git a/content/docs/latest/_images/nxffs_page_0.png b/content/docs/latest/_images/nxffs_page_0.png
new file mode 100644
index 000000000..48e354738
Binary files /dev/null and b/content/docs/latest/_images/nxffs_page_0.png differ
diff --git a/content/docs/latest/_images/nxffs_page_1.png b/content/docs/latest/_images/nxffs_page_1.png
new file mode 100644
index 000000000..47db25512
Binary files /dev/null and b/content/docs/latest/_images/nxffs_page_1.png differ
diff --git a/content/docs/latest/_images/nxffs_page_2.png b/content/docs/latest/_images/nxffs_page_2.png
new file mode 100644
index 000000000..ade6107f2
Binary files /dev/null and b/content/docs/latest/_images/nxffs_page_2.png differ
diff --git a/content/docs/latest/_images/nxflat-addressing.png b/content/docs/latest/_images/nxflat-addressing.png
new file mode 100644
index 000000000..e3a4764e2
Binary files /dev/null and b/content/docs/latest/_images/nxflat-addressing.png differ
diff --git a/content/docs/latest/_sources/components/filesystem/how_nxffs_works.rst.txt b/content/docs/latest/_sources/components/filesystem/how_nxffs_works.rst.txt
new file mode 100644
index 000000000..6afb00482
--- /dev/null
+++ b/content/docs/latest/_sources/components/filesystem/how_nxffs_works.rst.txt
@@ -0,0 +1,11 @@
+===============
+How NXFFS works
+===============
+
+.. warning:: 
+    Migrated from: 
+    https://cwiki.apache.org/confluence/display/NUTTX/How+NXFFS+Works
+
+.. image:: nxffs/nxffs_page_0.png
+.. image:: nxffs/nxffs_page_1.png
+.. image:: nxffs/nxffs_page_2.png
\ No newline at end of file
diff --git a/content/docs/latest/_sources/components/filesystem/index.rst.txt b/content/docs/latest/_sources/components/filesystem/index.rst.txt
index 798e85f83..019787e35 100644
--- a/content/docs/latest/_sources/components/filesystem/index.rst.txt
+++ b/content/docs/latest/_sources/components/filesystem/index.rst.txt
@@ -553,6 +553,10 @@ NuttX provides support for a variety of file systems out of the box.
   userfs.rst
   zipfs.rst
   inotify.rst
+  nuttxfs.rst
+  nxflat.rst
+  pseudofs.rst
+  special_files_dev_num.rst
 
 FS Categories
 -------------
diff --git a/content/docs/latest/_sources/components/filesystem/nuttxfs.rst.txt b/content/docs/latest/_sources/components/filesystem/nuttxfs.rst.txt
new file mode 100644
index 000000000..c2fcb56bf
--- /dev/null
+++ b/content/docs/latest/_sources/components/filesystem/nuttxfs.rst.txt
@@ -0,0 +1,11 @@
+========
+Nuttx FS
+========
+
+.. warning:: 
+    Migrated from: 
+    https://cwiki.apache.org/confluence/display/NUTTX/NuttX+File+System
+
+.. image:: nuttxfs/nuttxfs_page_0.png
+.. image:: nuttxfs/nuttxfs_page_1.png
+.. image:: nuttxfs/nuttxfs_page_2.png
\ No newline at end of file
diff --git a/content/docs/latest/_sources/components/filesystem/nxffs.rst.txt b/content/docs/latest/_sources/components/filesystem/nxffs.rst.txt
index b3936e710..50acafbc9 100644
--- a/content/docs/latest/_sources/components/filesystem/nxffs.rst.txt
+++ b/content/docs/latest/_sources/components/filesystem/nxffs.rst.txt
@@ -184,3 +184,10 @@ Things to Do
   implementation of a proper truncate() method which should alter the
   size of a previously written file.  There is some fragmentary logic in
   place but even this is conditioned out with __NO_TRUNCATE_SUPPORT__.
+
+
+Further reference
+=================
+
+.. toctree::
+  how_nxffs_works.rst
\ No newline at end of file
diff --git a/content/docs/latest/_sources/components/filesystem/nxflat.rst.txt b/content/docs/latest/_sources/components/filesystem/nxflat.rst.txt
new file mode 100644
index 000000000..6d0b22062
--- /dev/null
+++ b/content/docs/latest/_sources/components/filesystem/nxflat.rst.txt
@@ -0,0 +1,180 @@
+=================================
+NuttX FLAT Binary Format (NXFLAT)
+=================================
+
+.. warning:: 
+    Migrated from: 
+    https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139630111
+
+Overview
+========
+
+NuttX supports a configurable :doc:`binary loader <../binfmt>` .
+This binary loader supports loading and executing binary objects from 
+the file system.
+The NuttX binary loader is capable of supporting multiple binary formats.
+One of of those binary formats is NXFLAT, the top of this Wiki page.
+
+NXFLAT is a customized and simplified version of binary format 
+implemented a few years ago called XFLAT.
+With the NXFLAT binary format you will be able to do the following:
+
+* Place separately linked programs in a file system, and
+
+* Execute those programs by dynamically linking them to the 
+  base NuttX code.
+
+This allows you to extend the NuttX base code after it has been 
+written into FLASH.
+One motivation for implementing NXFLAT is support clean CGI under 
+an HTTPD server.
+
+This feature is especially attractive when combined with the 
+NuttX ROMFS support:
+ROMFS allows you to execute programs in place (XIP) in flash 
+without copying anything other than the .data section to RAM.
+In fact, the initial NXFLAT release only worked on ROMFS.
+Later extensions also support execution NXFLAT binaries from 
+an SRAM copy as well.
+
+This NuttX feature includes:
+
+* A dynamic loader that is built into the NuttX core (See SVN).
+* Minor changes to RTOS to support position independent code, and
+* A linker to bind ELF binaries to produce the 
+  NXFLAT binary format (See SVN).
+
+Toolchain Compatibility Problem
+===============================
+
+Description
+-----------
+
+NXFLAT flat requires a specific kind of position independence. 
+The ARM family of GCC toolchains has historically supported 
+this method of position independence: All code addresses are 
+accessed relative to the Program Counter (PC) and a special, 
+`PIC register` (usually ``r10``) is used to access all data. To 
+load or store a data value, the contents of ``r10``, the PIC 
+base, is added to a constant, position-independent offset 
+to produce the absolute address of the data.
+
+.. image:: nxflat/nxflat-addressing.png
+
+The `Global Offset Table` (GOT) is a special data structure that 
+resides in D-Space. So PIC-base relative addressing may also 
+be specified as GOT-Relative addressing (or ``GOTOFF``). The older 
+GCC 4.3.3 GCC compiler, for example, generates ``GOTOFF`` 
+relocations to the constant strings, like:
+
+.. code-block:: asm
+
+    .L3:
+            .word   .LC0(GOTOFF)
+            .word   .LC1(GOTOFF)
+            .word   .LC2(GOTOFF)
+            .word   .LC3(GOTOFF)
+            .word   .LC4(GOTOFF)
+
+Where ``.LC0``, ``.LC1``, ``.LC2``, ``.LC3``, and ``.LC4`` are the labels 
+corresponding to strings in the ``.rodata.str1.1`` section. One 
+consequence of this is that ``.rodata`` must reside in D-Space 
+since it will addressed relative to the GOT (see the section 
+entitled "Read-Only Data in RAM" here).
+
+The newer 4.6.3 GCC compiler, however, generated PC relative 
+relocations to these same strings:
+
+.. code-block::
+
+    .L2:
+        .word   .LC0-(.LPIC0+4)
+        .word   .LC1-(.LPIC1+4)
+        .word   .LC2-(.LPIC2+4)
+        .word   .LC3-(.LPIC4+4)
+        .word   .LC4-(.LPIC5+4)
+
+These are `PC-Relative` relocations. This means that the string 
+data is address not by an offset relative to the PIC register 
+(``r10``) but to the program count (PC). This is good and bad. This 
+is good because it means that ``.rodata.str1.1`` must now can now 
+reside in FLASH with ``.text`` and can be accessed using PC-relative 
+addressing. That can be accomplished by simply moving the ``.rodata`` 
+from the ``.data`` section to the ``.text`` section in the linker script. 
+The NXFLAT linker script is located at 
+``nuttx/binfmt/libnxflat/gnu-nxflat-?.ld``. **NOTE**: There are two 
+linker scripts located at ``nuttx/binfmt/libnxflat/``:
+
+1. ``binfmt/libnxflat/gnu-nxflat-gotoff.ld.`` Older versions 
+   of GCC (at least up to GCC 4.3.3), use GOT-relative 
+   addressing to access RO data. In that case, read-only 
+   data (``.rodata``) must reside in D-Space and this linker 
+   script should be used.
+2. ``binfmt/libnxflat/gnu-nxflat-pcrel.ld.`` Newer versions 
+   of GCC (at least as of GCC 4.6.3), use PC-relative 
+   addressing to access RO data. In that case, read-only 
+   data (``.rodata``) must reside in I-Space and this linker 
+   script should be used.
+
+But this is very bad because a lot of NXFLAT is now broken. 
+For it appears that not just constant strings, but that all 
+data may now be referenced using PC-relative addressing to 
+.bss and .data values. I do not yet know the extent of this 
+problem or the direction that GCC is going but certainly 
+version 4.6.3 cannot be used with NXFLAT.
+
+The workaround for now is to use the older, 4.3.3 OABI 
+compiler. In the long run, this might spell the end 
+to NXFLAT.
+
+Update: Restored GCC Support
+----------------------------
+
+This post was pointed out by Michael Jung:
+
+.. code-block:: bash
+
+    MCU: STM32F4 (ARM Cortex M4)
+    Build environment: arm-none-eabi-gcc 4.8.4 20140725
+    
+    My goal is to build an image that can be run from any properly-aligned
+    offset in internal flash (i.e., position-independent).  I found the
+    following set of gcc flags that achieves this goal:
+    
+        # Generate position independent code.
+        -fPIC
+        
+        # Access bss via the GOT.
+        -mno-pic-data-is-text-relative
+        
+        # GOT is not PC-relative; store GOT location in a register.
+        -msingle-pic-base
+        
+        # Store GOT location in r9.
+        -mpic-register=r9
+
+Reference: https://gcc.gnu.org/ml/gcc-help/2015-07/msg00027.html
+
+Michael has verified that ``-mno-pic-data-is-text-relative`` is, 
+indeed, a solution to the above NXFLAT problem in newer 
+compilers. You simply need to modify the board Make.defs 
+file like:
+
+1. ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
+
+.. code-block:: bash
+
+    +ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10 -mno-pic-data-is-text-relative
+
+NOTE the minor difference from the post: NuttX uses ``r10`` as 
+the PIC base register by default in all configurations.
+
+See this `thread <https://groups.google.com/forum/>`_ for additional information.
+
+References
+----------
+
+* :doc:`NXFLAT <../nxflat>`
+* `XFLATFLAT <http://xflat.sourceforge.net/>`_
+* `FLAT <http://retired.beyondlogic.org/uClinux/bflt.htm>`_
+* `ROMFS <http://romfs.sourceforge.net/>`_
\ No newline at end of file
diff --git a/content/docs/latest/_sources/components/filesystem/pseudofs.rst.txt b/content/docs/latest/_sources/components/filesystem/pseudofs.rst.txt
new file mode 100644
index 000000000..8f716ada9
--- /dev/null
+++ b/content/docs/latest/_sources/components/filesystem/pseudofs.rst.txt
@@ -0,0 +1,211 @@
+==================
+Pseudo File System
+==================
+
+.. warning:: 
+    Migrated from: 
+    https://cwiki.apache.org/confluence/display/NUTTX/Pseudo+File+System
+
+Overview
+========
+
+Pseudo Root File System
+-----------------------
+
+NuttX includes an optional, scalable file system. As a minimum, this may 
+be a simple in-memory, pseudo file system. This is an in-memory file 
+system because it does not require any storage medium or block driver 
+support. Rather, file system contents are generated on-the-fly as 
+referenced via standard file system operations (open, close, read, 
+write, etc.). In this sense, the file system is a pseudo file system 
+(in the same sense that the Linux ``/proc`` file system is also referred 
+to as a pseudo file system).
+
+Any user supplied data or logic can be accessed via the pseudo-file 
+system. Built in support is provided for character, block, and MTD 
+(Memory Technology Device) drivers in the ``/dev`` pseudo file system 
+directory.
+
+Special Files
+-------------
+
+NuttX does not support special files in the way that, say, 
+Linux does. In fact, it is more correct to say that NuttX 
+file systems do not support special files at all.
+
+NuttX does, however, support Linux-like special `device node`, 
+character driver, and block driver files (as well as NuttX-specific 
+mountpoint, named semaphore, message queue, and shared memory 
+special files). However, these are not special files in sense 
+that the term special files is used in a POSIX environment: In 
+NuttX these special files may `only` be created in the root 
+pseudo-file system. For the case of device nodes, see `Device 
+Nodes <https://cwiki.apache.org/confluence/display/NUTTX/Device+Nodes>`_ 
+for further information.
+
+In NuttX, the underlying principle is that all `named resources` 
+appear as special files in the root pseudo-file system and are 
+managed by the VFS.
+
+Mounted Volumes
+---------------
+
+The simple in-memory file system can be extended by mounting block 
+devices that provide access to true file systems backed up via 
+some mass storage device. NuttX supports the standard mount() 
+command that allows a block driver to be bound to a mount point 
+within the pseudo file system and to a file system. At present, 
+NuttX supports the standard VFAT and ROMFS file systems, a 
+special, wear-levelling NuttX FLASH File System (NXFFS), as well 
+as a Network File System client (NFS version 3, UDP).
+
+Comparison to Linux
+-------------------
+
+From a programming perspective, the NuttX file system appears 
+very similar to a Linux file system. However, there is a 
+fundamental difference: The NuttX root file system is a pseudo 
+file system and true file systems may be mounted in the pseudo 
+file system. In the typical Linux installation by comparison, 
+the Linux root file system is a true file system and pseudo 
+file systems may be mounted in the true, root file system. 
+The approach selected by NuttX is intended to support greater 
+scalability from the very tiny platform to the moderate platform.
+
+FAQ
+===
+
+**Question**: I'm wondering why I can't create a directory. If 
+I try to create a dir.
+
+.. code-block:: bash
+
+    mkdir /mnt
+
+I get this,
+
+.. code-block:: bash
+
+    nsh: mkdir: mkdir failed: 2
+
+although if I do this it creates both directories, mnt and sda
+
+.. code-block:: bash
+
+    mount -t vfat /dev/mmcsd0 /mnt/sda
+
+**Answer**: This is because the top level directories are part of a 
+`pseudo-filesystem` – like the Linux ``proc/`` or ``sys/`` file systems. 
+But the NuttX pseudo-file system begins at the top level ``/``.
+
+What that really means is that you do must have 
+``CONFIG_DISABLE_PSEUDOFS_OPERATIONS`` selected. Because you 
+can normally create directories in the pseudo-filesystem 
+with not problem:
+
+.. code-block:: bash
+
+    NuttShell (NSH) NuttX-9.0.0
+    nsh> mkdir /mnt
+    nsh> ls
+    /:
+    dev/
+    etc/
+    mnt/
+    proc/
+    tmp/
+    nsh> ls mnt
+    /mnt:
+    nsh>
+
+But lets assume that you do have operations on the pseudo-file 
+system disabled. Why doesn't it work? There is no `real` media 
+there so you cannot create a file there or create any directories 
+there. The ``mount`` command is special, it knows how to create mount 
+points in the pseudo-file system.
+
+The pseudo-file system is just a tree structure in RAM. 
+It serves two purposes: (1) you don't have to have a real 
+file system to use NuttX.
+It comes up out-of-the-box with usable (but limited) 
+pseudo-file system. That allows a little more civilized 
+programming environment on even very resource limited MCUs. 
+And (2) this pseudo-file system is a place where all special 
+NuttX files are retained: Character drivers, block drivers, 
+and mount points.
+
+The NuttX top-level pseudo-filesystem creates the `illusion` of 
+directories and provides a consistent, seamless semantic for 
+interacting with mounted file systems. If there is a file 
+called ``hello.txt`` in your volume mounted at ``/mnt/sda``, then:
+
+``/mnt`` - is a `node` in the pseudo-filesystem that does 
+nothing but contain the name mnt and provide links 
+to things `under` ``mnt``.
+
+``/mnt/sda`` - This refers to a node that contains the name 
+sda that can be found `under` the node with the name mnt.
+This node is a special `mountpoint node` in the pseudo-filesystem.
+It contains the methods needed to interact will real file system.
+Everything `below` ``/mnt/sda`` is in the physical media.
+
+``/mnt/sda/hello.txt`` - This, then refers to the file 
+``hello.txt`` at the relative path ``hello.txt`` on the mounted media.
+The transition from the pseudo-filesystem to the 
+real media is seamless.
+
+This is a little different from Linux: Linux always 
+has to boot up with a `real` file system – even if it 
+is only a initrd RAM disk.
+In Linux, these special files (links, drivers, pipes, 
+etc.) reside on real media and can reside in any 
+Linux-compatible filesystem.
+
+Normal ``mkdir`` can only work if there is a `real` filesystem 
+at the location. There are no real directories in the 
+pseudo-filesystem. The pseudo-filesystem does support 
+`nodes` that look like directories and have some of the 
+properties of directories (like the node ``/mnt`` mentioned 
+above). But this is really an illusion.
+
+If ``CONFIG_DISABLE_PSEUDOFS_OPERATIONS`` is not enabled, 
+then NuttX adds the capability to create new, empty `nodes` 
+in the pseudo-filesystem using ``mkdir``, completing the illusion.
+
+[On the other hand, all directories are really an 
+`illusion` in a way and I suppose that in that sense 
+these nodes the pseudo-filesystem are just as `real` 
+as any other directory.]
+
+After you mount the SD card at ``/mnt/sda``, then you can do:
+
+.. code-block:: bash
+
+    mkdir /mnt/sda/newdir
+
+That should work fine and should create a directory at 
+the relative path ``newdir`` in the mounted volume.
+
+There are a few other special NSH commands like mount that 
+can change the pseudo-filesystem. Like ``losetup``, ``mkfifo``, 
+``mkrd``, ``umount``, etc.
+In fact, these commands `only` work in the pseudo-filesystem. 
+Try them in ``/mnt/sda``... they won't work.
+
+But none of the `normal` commands that modify files or directories 
+will work in the pseudo-filesystem: ``mkdir``, ``mv``, ``rm``, ``rmdir``. 
+These all require real media. They will not work in the 
+pseudo-filesystem, but will work in ``/mnt/sda``.
+
+And trying to pipe to something in the pseudo-filesystem 
+will also fail. You cannot do this, for example:
+
+.. code-block:: bash
+
+    NuttShell (NSH) NuttX-6.20
+    nsh> cat "Hello, World!" >/hello.text
+    nsh: cat: open failed: 22
+    nsh>
+
+See also NxFileSystem in 
+`Porting Guide <https://cwiki.apache.org/confluence/display/NUTTX/Porting+Guide>`_
\ No newline at end of file
diff --git a/content/docs/latest/_sources/components/filesystem/special_files_dev_num.rst.txt b/content/docs/latest/_sources/components/filesystem/special_files_dev_num.rst.txt
new file mode 100644
index 000000000..2e0fd615f
--- /dev/null
+++ b/content/docs/latest/_sources/components/filesystem/special_files_dev_num.rst.txt
@@ -0,0 +1,122 @@
+================================
+Special Files and Device Numbers
+================================
+
+.. warning:: 
+    Migrated from: 
+    https://cwiki.apache.org/confluence/display/NUTTX/Special+Files+and+Device+Numbers
+
+Special Files in Unix-like File Systems
+=======================================
+
+In Unix-like operating systems, a `special file` is an interface for 
+a device driver that appears in a file system as if it were an 
+ordinary file. Special files are a feature built into Unix-like 
+file systems such as EXT2.
+
+See also `Wikipedia article <https://en.wikipedia.org/wiki/Device_file>`_.
+
+
+Special Files in Other File Systems
+===================================
+
+Some other file systems systems, such as NTFS, also have some more 
+limited and incompatible notion of special files. Others, such as 
+FAT, do not have any such concept. Unix-like environments such as 
+Cygwin that run on these other file systems have to do things a 
+little differently: The have to emulate special files using the 
+resources of the file system that they operate on. This may mean 
+creating `regular` files with special naming conventions or with 
+special content that can be used to emulate the behavior of 
+special files.
+
+Special Files and NuttX
+=======================
+
+NuttX has done things in a very different way. There are no 
+special files supported in any file system. Rather, special 
+files can exist only in the NuttX :doc:`pseudo file system <pseudofs>`. This 
+was a decision that was made in the initial design to simplify 
+things for resource limited platforms yet still provide a mostly 
+standard Unix-like/POSIX programming environment.
+
+What are the advantages of the special files in the NuttX 
+pseudo-file system? Reduce resource usage, reduced bring-up 
+requirements. What are the disadvantages? In NuttX, special 
+files can only reside in the pseudo-file system.
+
+The only other consequence that I aware of is that NuttX cannot 
+support the POSIX requirement for the ``st_dev`` field in the 
+``struct stat`` structure.
+
+
+Device Files and Device Numbers
+===============================
+
+In a Unix-like system, devices are access special device files. 
+In a Unix-like system, device files can reside in any compatible 
+file system but, by convention, are always placed in the ``/dev`` 
+directory. NuttX achieves programming compatibility with this 
+convention because the top-level, `root` file system is the 
+pseudo-file system and ``/dev`` is part of the pseudo-file system.
+
+But there is a bigger difference that this. The bigger 
+difference is how device drivers are registered and how 
+the are accessed. The primary content of the Unix-like 
+device file is simply a number, a device number, usually 
+represented as type ``dev_t``. The device number an encoded 
+that consists of a `major` device number and a `minor` device 
+number. The major device number identifies the type of 
+driver and the minor number identifies an instance of a 
+driver of that type.
+
+There is nothing special about these number from the sense of 
+a file system. Just because device file exists with a 
+certain major and minor number, that does not mean that there 
+is actually any real driver instance backing that device file 
+up. For example, you can create a device file from the Linux 
+command line like this, knowing nothing other than major and 
+minor device number:
+
+.. code-block:: C
+
+    dev_t makedev(unsigned int maj, unsigned int min);
+
+In a Unix-like system, when you try to open a device driver 
+several things must happen: The system must open the device 
+file, obtain the device major and minor number, and then 
+look up the driver instance in some internal `registry` of 
+registered device drivers. If one is found, then the system 
+can complete the open operation.
+
+So, the device number is then a `key` of some kind into a 
+`registry` of device drivers. NuttX does this very differently: 
+There are no device numbers, rather the pseudo-file system `is` 
+the device registry! In NuttX, device files cannot be created 
+by users; they can only be created by device drivers by calling 
+the following, internal interface:
+
+.. code-block:: c 
+
+    int register_driver(FAR const char *path, FAR const struct file_operations *fops, mode_t mode, FAR void *priv);
+
+The ``path`` argument determines where in the pseudo-file system the 
+device file should be placed. ``mode`` provides device file privileges. 
+The ``fops`` and ``priv`` provide the internal information for the ``registry``.
+
+So the when you open a device driver in NuttX, many fewer steps are 
+involved: The system must still open the device file, but then 
+since the pseudo-file system `is` the device registry, all of the 
+device driver information is available and ``open`` operation 
+completes with no further actions.
+
+Named Resources
+===============
+
+This use of the pseudo-file system in NuttX to manage device 
+files is consistent with a core NuttX device philosophy: The 
+NuttX VFS and the pseudo-file system in particular, are used 
+to manage all named OS resources. That applies not only to 
+device files and other special files but also to such things 
+named message queues and named semaphores (which can be found 
+in the pseudo-file system in the ``/var`` directory).
\ No newline at end of file
diff --git a/content/docs/latest/components/filesystem/aio.html b/content/docs/latest/components/filesystem/aio.html
index ecade63c6..90e7aa5d4 100644
--- a/content/docs/latest/components/filesystem/aio.html
+++ b/content/docs/latest/components/filesystem/aio.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/binfs.html b/content/docs/latest/components/filesystem/binfs.html
index 635a7ab44..961e1bf2e 100644
--- a/content/docs/latest/components/filesystem/binfs.html
+++ b/content/docs/latest/components/filesystem/binfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/cromfs.html b/content/docs/latest/components/filesystem/cromfs.html
index db0a2fc12..e30c4009d 100644
--- a/content/docs/latest/components/filesystem/cromfs.html
+++ b/content/docs/latest/components/filesystem/cromfs.html
@@ -158,6 +158,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/fat.html b/content/docs/latest/components/filesystem/fat.html
index 5bff9ac46..e1e5ede35 100644
--- a/content/docs/latest/components/filesystem/fat.html
+++ b/content/docs/latest/components/filesystem/fat.html
@@ -161,6 +161,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/hostfs.html b/content/docs/latest/components/filesystem/hostfs.html
index 71e0f64f9..328802672 100644
--- a/content/docs/latest/components/filesystem/hostfs.html
+++ b/content/docs/latest/components/filesystem/hostfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/tmpfs.html b/content/docs/latest/components/filesystem/how_nxffs_works.html
similarity index 79%
copy from content/docs/latest/components/filesystem/tmpfs.html
copy to content/docs/latest/components/filesystem/how_nxffs_works.html
index cd52b136c..a2fccc328 100644
--- a/content/docs/latest/components/filesystem/tmpfs.html
+++ b/content/docs/latest/components/filesystem/how_nxffs_works.html
@@ -25,7 +25,7 @@
   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>TMPFS &mdash; NuttX latest documentation</title>
+  <title>How NXFFS works &mdash; NuttX latest documentation</title>
       <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
       <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
       <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
@@ -43,8 +43,8 @@
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Union File System" href="unionfs.html" />
-    <link rel="prev" title="SPIFFS" href="spiffs.html" /> 
+    <link rel="next" title="Partition Table" href="partition.html" />
+    <link rel="prev" title="NXFFS" href="nxffs.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -139,7 +139,17 @@
 <li class="toctree-l4"><a class="reference internal" href="mmap.html">File mapping emulation (mmap)</a></li>
 <li class="toctree-l4"><a class="reference internal" href="mnemofs.html">MNEMOFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="nfs.html">NFS</a></li>
-<li class="toctree-l4"><a class="reference internal" href="nxffs.html">NXFFS</a></li>
+<li class="toctree-l4 current"><a class="reference internal" href="nxffs.html">NXFFS</a><ul class="current">
+<li class="toctree-l5"><a class="reference internal" href="nxffs.html#general-nxffs-organization">General NXFFS organization</a></li>
+<li class="toctree-l5"><a class="reference internal" href="nxffs.html#general-operation">General operation</a></li>
+<li class="toctree-l5"><a class="reference internal" href="nxffs.html#headers">Headers</a></li>
+<li class="toctree-l5"><a class="reference internal" href="nxffs.html#nxffs-limitations">NXFFS Limitations</a></li>
+<li class="toctree-l5"><a class="reference internal" href="nxffs.html#multiple-writers">Multiple Writers</a></li>
+<li class="toctree-l5"><a class="reference internal" href="nxffs.html#ioctls">ioctls</a></li>
+<li class="toctree-l5"><a class="reference internal" href="nxffs.html#things-to-do">Things to Do</a></li>
+<li class="toctree-l5 current"><a class="reference internal" href="nxffs.html#further-reference">Further reference</a></li>
+</ul>
+</li>
 <li class="toctree-l4"><a class="reference internal" href="partition.html">Partition Table</a></li>
 <li class="toctree-l4"><a class="reference internal" href="procfs.html">PROCFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="romfs.html">ROMFS</a></li>
@@ -147,11 +157,15 @@
 <li class="toctree-l4"><a class="reference internal" href="smartfs.html">SMARTFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="shmfs.html">Shared Memory File System</a></li>
 <li class="toctree-l4"><a class="reference internal" href="spiffs.html">SPIFFS</a></li>
-<li class="toctree-l4 current"><a class="current reference internal" href="#">TMPFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="tmpfs.html">TMPFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="unionfs.html">Union File System</a></li>
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
@@ -196,9 +210,10 @@
       <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
           <li class="breadcrumb-item"><a href="../index.html">OS Components</a></li>
           <li class="breadcrumb-item"><a href="index.html">NuttX File System</a></li>
-      <li class="breadcrumb-item active">TMPFS</li>
+          <li class="breadcrumb-item"><a href="nxffs.html">NXFFS</a></li>
+      <li class="breadcrumb-item active">How NXFFS works</li>
       <li class="wy-breadcrumbs-aside">
-            <a href="../../_sources/components/filesystem/tmpfs.rst.txt" rel="nofollow"> View page source</a>
+            <a href="../../_sources/components/filesystem/how_nxffs_works.rst.txt" rel="nofollow"> View page source</a>
       </li>
   </ul>
   <hr/>
@@ -206,21 +221,24 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
              
-  <section id="tmpfs">
-<h1>TMPFS<a class="headerlink" href="#tmpfs" title="Permalink to this heading"></a></h1>
-<p>NuttX TMPFS file system is a tiny dyamic RAM based file system.</p>
-<p>It can be enabled by adding <code class="docutils literal notranslate"><span class="pre">CONFIG_FS_TMPFS=y</span></code> to the configuration at build time.</p>
-<p>At runtime, simply use <code class="docutils literal notranslate"><span class="pre">mount</span> <span class="pre">-t</span> <span class="pre">tmpfs</span> <span class="pre">/tmp</span></code> to have a <code class="docutils literal notranslate"><span class="pre">/tmp</span></code> folder backed by TMPFS, then files and folders can be created under that folder.</p>
-<p>Be aware that TMPFS is backed by kernel memory thus don’t expect to store big files on it and its size is limited by free kernel memory.</p>
-<p>We can watch the size of TMPFS with <code class="docutils literal notranslate"><span class="pre">df</span> <span class="pre">-h</span></code> command, especially you can see the <code class="docutils literal notranslate"><span class="pre">Size</span></code> column of TMPFS changes when files are added or removed in the TMPFS folder. Changes in TMPFS size is always reflected by reverse changes of free kernel memory size.</p>
+  <section id="how-nxffs-works">
+<h1>How NXFFS works<a class="headerlink" href="#how-nxffs-works" title="Permalink to this heading"></a></h1>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Migrated from:
+<a class="reference external" href="https://cwiki.apache.org/confluence/display/NUTTX/How+NXFFS+Works">https://cwiki.apache.org/confluence/display/NUTTX/How+NXFFS+Works</a></p>
+</div>
+<img alt="../../_images/nxffs_page_0.png" src="../../_images/nxffs_page_0.png" />
+<img alt="../../_images/nxffs_page_1.png" src="../../_images/nxffs_page_1.png" />
+<img alt="../../_images/nxffs_page_2.png" src="../../_images/nxffs_page_2.png" />
 </section>
 
 
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="spiffs.html" class="btn btn-neutral float-left" title="SPIFFS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="unionfs.html" class="btn btn-neutral float-right" title="Union File System" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="nxffs.html" class="btn btn-neutral float-left" title="NXFFS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="partition.html" class="btn btn-neutral float-right" title="Partition Table" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/components/filesystem/index.html b/content/docs/latest/components/filesystem/index.html
index f793a72cd..1cf06146f 100644
--- a/content/docs/latest/components/filesystem/index.html
+++ b/content/docs/latest/components/filesystem/index.html
@@ -156,6 +156,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#fs-categories">FS Categories</a></li>
 </ul>
 </li>
@@ -1093,6 +1097,10 @@ to be listed in <code class="docutils literal notranslate"><span class="pre">inc
 <li class="toctree-l1"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l1"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l1"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l1"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l1"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l1"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 </ul>
 </div>
 <section id="fs-categories">
diff --git a/content/docs/latest/components/filesystem/inotify.html b/content/docs/latest/components/filesystem/inotify.html
index a6ff70fa5..d411d385c 100644
--- a/content/docs/latest/components/filesystem/inotify.html
+++ b/content/docs/latest/components/filesystem/inotify.html
@@ -43,7 +43,7 @@
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="NuttX libraries" href="../libs/index.html" />
+    <link rel="next" title="Nuttx FS" href="nuttxfs.html" />
     <link rel="prev" title="ZipFS" href="zipfs.html" /> 
 </head>
 
@@ -160,6 +160,10 @@
 <li class="toctree-l5"><a class="reference internal" href="#note">NOTE</a></li>
 </ul>
 </li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
@@ -346,7 +350,7 @@ readable.</p>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="zipfs.html" class="btn btn-neutral float-left" title="ZipFS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="../libs/index.html" class="btn btn-neutral float-right" title="NuttX libraries" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="nuttxfs.html" class="btn btn-neutral float-right" title="Nuttx FS" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/components/filesystem/littlefs.html b/content/docs/latest/components/filesystem/littlefs.html
index 7c22a1c27..3ceca64ec 100644
--- a/content/docs/latest/components/filesystem/littlefs.html
+++ b/content/docs/latest/components/filesystem/littlefs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/mmap.html b/content/docs/latest/components/filesystem/mmap.html
index cf99d5c60..28d5b88d5 100644
--- a/content/docs/latest/components/filesystem/mmap.html
+++ b/content/docs/latest/components/filesystem/mmap.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/mnemofs.html b/content/docs/latest/components/filesystem/mnemofs.html
index 2c7cdbedc..6e307a15f 100644
--- a/content/docs/latest/components/filesystem/mnemofs.html
+++ b/content/docs/latest/components/filesystem/mnemofs.html
@@ -157,6 +157,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/nfs.html b/content/docs/latest/components/filesystem/nfs.html
index e6ca30fc2..5115e0837 100644
--- a/content/docs/latest/components/filesystem/nfs.html
+++ b/content/docs/latest/components/filesystem/nfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/nfs.html b/content/docs/latest/components/filesystem/nuttxfs.html
similarity index 86%
copy from content/docs/latest/components/filesystem/nfs.html
copy to content/docs/latest/components/filesystem/nuttxfs.html
index e6ca30fc2..fd7598970 100644
--- a/content/docs/latest/components/filesystem/nfs.html
+++ b/content/docs/latest/components/filesystem/nuttxfs.html
@@ -25,7 +25,7 @@
   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>NFS &mdash; NuttX latest documentation</title>
+  <title>Nuttx FS &mdash; NuttX latest documentation</title>
       <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
       <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
       <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
@@ -43,8 +43,8 @@
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="NXFFS" href="nxffs.html" />
-    <link rel="prev" title="MNEMOFS" href="mnemofs.html" /> 
+    <link rel="next" title="NuttX FLAT Binary Format (NXFLAT)" href="nxflat.html" />
+    <link rel="prev" title="Inotify" href="inotify.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -138,7 +138,7 @@
 <li class="toctree-l4"><a class="reference internal" href="littlefs.html">LITTLEFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="mmap.html">File mapping emulation (mmap)</a></li>
 <li class="toctree-l4"><a class="reference internal" href="mnemofs.html">MNEMOFS</a></li>
-<li class="toctree-l4 current"><a class="current reference internal" href="#">NFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nfs.html">NFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="nxffs.html">NXFFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="partition.html">Partition Table</a></li>
 <li class="toctree-l4"><a class="reference internal" href="procfs.html">PROCFS</a></li>
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
@@ -196,9 +200,9 @@
       <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
           <li class="breadcrumb-item"><a href="../index.html">OS Components</a></li>
           <li class="breadcrumb-item"><a href="index.html">NuttX File System</a></li>
-      <li class="breadcrumb-item active">NFS</li>
+      <li class="breadcrumb-item active">Nuttx FS</li>
       <li class="wy-breadcrumbs-aside">
-            <a href="../../_sources/components/filesystem/nfs.rst.txt" rel="nofollow"> View page source</a>
+            <a href="../../_sources/components/filesystem/nuttxfs.rst.txt" rel="nofollow"> View page source</a>
       </li>
   </ul>
   <hr/>
@@ -206,17 +210,24 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
              
-  <section id="nfs">
-<h1>NFS<a class="headerlink" href="#nfs" title="Permalink to this heading"></a></h1>
-<p>Network file system (NFS) client file system.</p>
+  <section id="nuttx-fs">
+<h1>Nuttx FS<a class="headerlink" href="#nuttx-fs" title="Permalink to this heading"></a></h1>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Migrated from:
+<a class="reference external" href="https://cwiki.apache.org/confluence/display/NUTTX/NuttX+File+System">https://cwiki.apache.org/confluence/display/NUTTX/NuttX+File+System</a></p>
+</div>
+<img alt="../../_images/nuttxfs_page_0.png" src="../../_images/nuttxfs_page_0.png" />
+<img alt="../../_images/nuttxfs_page_1.png" src="../../_images/nuttxfs_page_1.png" />
+<img alt="../../_images/nuttxfs_page_2.png" src="../../_images/nuttxfs_page_2.png" />
 </section>
 
 
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="mnemofs.html" class="btn btn-neutral float-left" title="MNEMOFS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="nxffs.html" class="btn btn-neutral float-right" title="NXFFS" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="inotify.html" class="btn btn-neutral float-left" title="Inotify" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="nxflat.html" class="btn btn-neutral float-right" title="NuttX FLAT Binary Format (NXFLAT)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/components/filesystem/nxffs.html b/content/docs/latest/components/filesystem/nxffs.html
index 9c54211be..9cb4cedc2 100644
--- a/content/docs/latest/components/filesystem/nxffs.html
+++ b/content/docs/latest/components/filesystem/nxffs.html
@@ -43,7 +43,7 @@
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Partition Table" href="partition.html" />
+    <link rel="next" title="How NXFFS works" href="how_nxffs_works.html" />
     <link rel="prev" title="NFS" href="nfs.html" /> 
 </head>
 
@@ -147,6 +147,7 @@
 <li class="toctree-l5"><a class="reference internal" href="#multiple-writers">Multiple Writers</a></li>
 <li class="toctree-l5"><a class="reference internal" href="#ioctls">ioctls</a></li>
 <li class="toctree-l5"><a class="reference internal" href="#things-to-do">Things to Do</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#further-reference">Further reference</a></li>
 </ul>
 </li>
 <li class="toctree-l4"><a class="reference internal" href="partition.html">Partition Table</a></li>
@@ -161,6 +162,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
@@ -386,6 +391,14 @@ size of a previously written file.  There is some fragmentary logic in
 place but even this is conditioned out with __NO_TRUNCATE_SUPPORT__.</p></li>
 </ul>
 </section>
+<section id="further-reference">
+<h2>Further reference<a class="headerlink" href="#further-reference" title="Permalink to this heading"></a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="how_nxffs_works.html">How NXFFS works</a></li>
+</ul>
+</div>
+</section>
 </section>
 
 
@@ -393,7 +406,7 @@ place but even this is conditioned out with __NO_TRUNCATE_SUPPORT__.</p></li>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="nfs.html" class="btn btn-neutral float-left" title="NFS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="partition.html" class="btn btn-neutral float-right" title="Partition Table" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="how_nxffs_works.html" class="btn btn-neutral float-right" title="How NXFFS works" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/components/filesystem/nxflat.html b/content/docs/latest/components/filesystem/nxflat.html
new file mode 100644
index 000000000..61e667d70
--- /dev/null
+++ b/content/docs/latest/components/filesystem/nxflat.html
@@ -0,0 +1,409 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en">
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>NuttX FLAT Binary Format (NXFLAT) &mdash; NuttX latest documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
+      <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
+      <link rel="stylesheet" type="text/css" href="../../_static/custom.css" />
+
+  
+    <link rel="shortcut icon" href="../../_static/favicon.ico"/>
+      <script src="../../_static/jquery.js"></script>
+      <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+      <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+      <script src="../../_static/doctools.js"></script>
+      <script src="../../_static/sphinx_highlight.js"></script>
+      <script src="../../_static/clipboard.min.js"></script>
+      <script src="../../_static/copybutton.js"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Pseudo File System" href="pseudofs.html" />
+    <link rel="prev" title="Nuttx FS" href="nuttxfs.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+  
+    <a href="../../index.html" class="icon icon-home"> NuttX
+  
+
+  
+  </a>
+
+  <!-- this version selector is quite ugly, should be probably replaced by something
+       more modern -->
+
+  <div class="version-selector">
+    <select onchange="javascript:location.href = this.value;">
+    
+    <option value="../../../latest" selected="selected">latest</option>
+    
+    <option value="../../../10.0.0" >10.0.0</option>
+    
+    <option value="../../../10.0.1" >10.0.1</option>
+    
+    <option value="../../../10.1.0" >10.1.0</option>
+    
+    <option value="../../../10.2.0" >10.2.0</option>
+    
+    <option value="../../../10.3.0" >10.3.0</option>
+    
+    <option value="../../../11.0.0" >11.0.0</option>
+    
+    <option value="../../../12.0.0" >12.0.0</option>
+    
+    <option value="../../../12.1.0" >12.1.0</option>
+    
+    <option value="../../../12.2.0" >12.2.0</option>
+    
+    <option value="../../../12.2.1" >12.2.1</option>
+    
+    <option value="../../../12.3.0" >12.3.0</option>
+    
+    <option value="../../../12.4.0" >12.4.0</option>
+    
+    <option value="../../../12.5.0" >12.5.0</option>
+    
+    <option value="../../../12.5.1" >12.5.1</option>
+    
+    <option value="../../../12.6.0" >12.6.0</option>
+    
+    <option value="../../../12.7.0" >12.7.0</option>
+    
+    </select>
+  </div>
+
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">OS Components</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../binfmt.html">Binary Loader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../drivers/index.html">Device Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../nxflat.html">NXFLAT</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../nxgraphics/index.html">NX Graphics Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../paging.html">On-Demand Paging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../audio/index.html">Audio Subsystem</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">NuttX File System</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="index.html#virtual-file-system-vfs">Virtual File System (VFS)</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="index.html#file-systems">File systems</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="aio.html">Asynchronous I/O support</a></li>
+<li class="toctree-l4"><a class="reference internal" href="binfs.html">BINFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cromfs.html">CROMFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="fat.html">FAT</a></li>
+<li class="toctree-l4"><a class="reference internal" href="hostfs.html">Host File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="littlefs.html">LITTLEFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="mmap.html">File mapping emulation (mmap)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="mnemofs.html">MNEMOFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nfs.html">NFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxffs.html">NXFFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="partition.html">Partition Table</a></li>
+<li class="toctree-l4"><a class="reference internal" href="procfs.html">PROCFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="romfs.html">ROMFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="rpmsgfs.html">RPMSG File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="smartfs.html">SMARTFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="shmfs.html">Shared Memory File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="spiffs.html">SPIFFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="tmpfs.html">TMPFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="unionfs.html">Union File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
+<li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">NuttX FLAT Binary Format (NXFLAT)</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#toolchain-compatibility-problem">Toolchain Compatibility Problem</a></li>
+</ul>
+</li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../libs/index.html">NuttX libraries</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../net/index.html">Network Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../mm/index.html">Memory Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../syscall.html">Syscall Layer</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../tools/index.html"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../arch/index.html">Architecture-Specific Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../boards.html">Boards Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cmake.html">CMake Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../openamp.html">OpenAMP Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../video.html">Video Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../crypto.html">Crypto API Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../wireless.html">Wireless Subsystem</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../applications/index.html">Applications</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../implementation/index.html">Implementation Details</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guides/index.html">Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../logos/index.html">NuttX Logos</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">NuttX</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">OS Components</a></li>
+          <li class="breadcrumb-item"><a href="index.html">NuttX File System</a></li>
+      <li class="breadcrumb-item active">NuttX FLAT Binary Format (NXFLAT)</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/components/filesystem/nxflat.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="nuttx-flat-binary-format-nxflat">
+<h1>NuttX FLAT Binary Format (NXFLAT)<a class="headerlink" href="#nuttx-flat-binary-format-nxflat" title="Permalink to this heading"></a></h1>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Migrated from:
+<a class="reference external" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139630111">https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139630111</a></p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this heading"></a></h2>
+<p>NuttX supports a configurable <a class="reference internal" href="../binfmt.html"><span class="doc">binary loader</span></a> .
+This binary loader supports loading and executing binary objects from
+the file system.
+The NuttX binary loader is capable of supporting multiple binary formats.
+One of of those binary formats is NXFLAT, the top of this Wiki page.</p>
+<p>NXFLAT is a customized and simplified version of binary format
+implemented a few years ago called XFLAT.
+With the NXFLAT binary format you will be able to do the following:</p>
+<ul class="simple">
+<li><p>Place separately linked programs in a file system, and</p></li>
+<li><p>Execute those programs by dynamically linking them to the
+base NuttX code.</p></li>
+</ul>
+<p>This allows you to extend the NuttX base code after it has been
+written into FLASH.
+One motivation for implementing NXFLAT is support clean CGI under
+an HTTPD server.</p>
+<p>This feature is especially attractive when combined with the
+NuttX ROMFS support:
+ROMFS allows you to execute programs in place (XIP) in flash
+without copying anything other than the .data section to RAM.
+In fact, the initial NXFLAT release only worked on ROMFS.
+Later extensions also support execution NXFLAT binaries from
+an SRAM copy as well.</p>
+<p>This NuttX feature includes:</p>
+<ul class="simple">
+<li><p>A dynamic loader that is built into the NuttX core (See SVN).</p></li>
+<li><p>Minor changes to RTOS to support position independent code, and</p></li>
+<li><p>A linker to bind ELF binaries to produce the
+NXFLAT binary format (See SVN).</p></li>
+</ul>
+</section>
+<section id="toolchain-compatibility-problem">
+<h2>Toolchain Compatibility Problem<a class="headerlink" href="#toolchain-compatibility-problem" title="Permalink to this heading"></a></h2>
+<section id="description">
+<h3>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h3>
+<p>NXFLAT flat requires a specific kind of position independence.
+The ARM family of GCC toolchains has historically supported
+this method of position independence: All code addresses are
+accessed relative to the Program Counter (PC) and a special,
+<cite>PIC register</cite> (usually <code class="docutils literal notranslate"><span class="pre">r10</span></code>) is used to access all data. To
+load or store a data value, the contents of <code class="docutils literal notranslate"><span class="pre">r10</span></code>, the PIC
+base, is added to a constant, position-independent offset
+to produce the absolute address of the data.</p>
+<img alt="../../_images/nxflat-addressing.png" src="../../_images/nxflat-addressing.png" />
+<p>The <cite>Global Offset Table</cite> (GOT) is a special data structure that
+resides in D-Space. So PIC-base relative addressing may also
+be specified as GOT-Relative addressing (or <code class="docutils literal notranslate"><span class="pre">GOTOFF</span></code>). The older
+GCC 4.3.3 GCC compiler, for example, generates <code class="docutils literal notranslate"><span class="pre">GOTOFF</span></code>
+relocations to the constant strings, like:</p>
+<div class="highlight-asm notranslate"><div class="highlight"><pre><span></span><span class="nl">.L3:</span>
+<span class="w">        </span><span class="na">.word</span><span class="w">   </span><span class="no">.LC0</span><span class="p">(</span><span class="no">GOTOFF</span><span class="p">)</span>
+<span class="w">        </span><span class="na">.word</span><span class="w">   </span><span class="no">.LC1</span><span class="p">(</span><span class="no">GOTOFF</span><span class="p">)</span>
+<span class="w">        </span><span class="na">.word</span><span class="w">   </span><span class="no">.LC2</span><span class="p">(</span><span class="no">GOTOFF</span><span class="p">)</span>
+<span class="w">        </span><span class="na">.word</span><span class="w">   </span><span class="no">.LC3</span><span class="p">(</span><span class="no">GOTOFF</span><span class="p">)</span>
+<span class="w">        </span><span class="na">.word</span><span class="w">   </span><span class="no">.LC4</span><span class="p">(</span><span class="no">GOTOFF</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>Where <code class="docutils literal notranslate"><span class="pre">.LC0</span></code>, <code class="docutils literal notranslate"><span class="pre">.LC1</span></code>, <code class="docutils literal notranslate"><span class="pre">.LC2</span></code>, <code class="docutils literal notranslate"><span class="pre">.LC3</span></code>, and <code class="docutils literal notranslate"><span class="pre">.LC4</span></code> are the labels
+corresponding to strings in the <code class="docutils literal notranslate"><span class="pre">.rodata.str1.1</span></code> section. One
+consequence of this is that <code class="docutils literal notranslate"><span class="pre">.rodata</span></code> must reside in D-Space
+since it will addressed relative to the GOT (see the section
+entitled “Read-Only Data in RAM” here).</p>
+<p>The newer 4.6.3 GCC compiler, however, generated PC relative
+relocations to these same strings:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>.L2:
+    .word   .LC0-(.LPIC0+4)
+    .word   .LC1-(.LPIC1+4)
+    .word   .LC2-(.LPIC2+4)
+    .word   .LC3-(.LPIC4+4)
+    .word   .LC4-(.LPIC5+4)
+</pre></div>
+</div>
+<p>These are <cite>PC-Relative</cite> relocations. This means that the string
+data is address not by an offset relative to the PIC register
+(<code class="docutils literal notranslate"><span class="pre">r10</span></code>) but to the program count (PC). This is good and bad. This
+is good because it means that <code class="docutils literal notranslate"><span class="pre">.rodata.str1.1</span></code> must now can now
+reside in FLASH with <code class="docutils literal notranslate"><span class="pre">.text</span></code> and can be accessed using PC-relative
+addressing. That can be accomplished by simply moving the <code class="docutils literal notranslate"><span class="pre">.rodata</span></code>
+from the <code class="docutils literal notranslate"><span class="pre">.data</span></code> section to the <code class="docutils literal notranslate"><span class="pre">.text</span></code> section in the linker script.
+The NXFLAT linker script is located at
+<code class="docutils literal notranslate"><span class="pre">nuttx/binfmt/libnxflat/gnu-nxflat-?.ld</span></code>. <strong>NOTE</strong>: There are two
+linker scripts located at <code class="docutils literal notranslate"><span class="pre">nuttx/binfmt/libnxflat/</span></code>:</p>
+<ol class="arabic simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">binfmt/libnxflat/gnu-nxflat-gotoff.ld.</span></code> Older versions
+of GCC (at least up to GCC 4.3.3), use GOT-relative
+addressing to access RO data. In that case, read-only
+data (<code class="docutils literal notranslate"><span class="pre">.rodata</span></code>) must reside in D-Space and this linker
+script should be used.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">binfmt/libnxflat/gnu-nxflat-pcrel.ld.</span></code> Newer versions
+of GCC (at least as of GCC 4.6.3), use PC-relative
+addressing to access RO data. In that case, read-only
+data (<code class="docutils literal notranslate"><span class="pre">.rodata</span></code>) must reside in I-Space and this linker
+script should be used.</p></li>
+</ol>
+<p>But this is very bad because a lot of NXFLAT is now broken.
+For it appears that not just constant strings, but that all
+data may now be referenced using PC-relative addressing to
+.bss and .data values. I do not yet know the extent of this
+problem or the direction that GCC is going but certainly
+version 4.6.3 cannot be used with NXFLAT.</p>
+<p>The workaround for now is to use the older, 4.3.3 OABI
+compiler. In the long run, this might spell the end
+to NXFLAT.</p>
+</section>
+<section id="update-restored-gcc-support">
+<h3>Update: Restored GCC Support<a class="headerlink" href="#update-restored-gcc-support" title="Permalink to this heading"></a></h3>
+<p>This post was pointed out by Michael Jung:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>MCU:<span class="w"> </span>STM32F4<span class="w"> </span><span class="o">(</span>ARM<span class="w"> </span>Cortex<span class="w"> </span>M4<span class="o">)</span>
+Build<span class="w"> </span>environment:<span class="w"> </span>arm-none-eabi-gcc<span class="w"> </span><span class="m">4</span>.8.4<span class="w"> </span><span class="m">20140725</span>
+
+My<span class="w"> </span>goal<span class="w"> </span>is<span class="w"> </span>to<span class="w"> </span>build<span class="w"> </span>an<span class="w"> </span>image<span class="w"> </span>that<span class="w"> </span>can<span class="w"> </span>be<span class="w"> </span>run<span class="w"> </span>from<span class="w"> </span>any<span class="w"> </span>properly-aligned
+offset<span class="w"> </span><span class="k">in</span><span class="w"> </span>internal<span class="w"> </span>flash<span class="w"> </span><span class="o">(</span>i.e.,<span class="w"> </span>position-independent<span class="o">)</span>.<span class="w">  </span>I<span class="w"> </span>found<span class="w"> </span>the
+following<span class="w"> </span><span class="nb">set</span><span class="w"> </span>of<span class="w"> </span>gcc<span class="w"> </span>flags<span class="w"> </span>that<span class="w"> </span>achieves<span class="w"> </span>this<span class="w"> </span>goal:
+
+<span class="w">    </span><span class="c1"># Generate position independent code.</span>
+<span class="w">    </span>-fPIC
+
+<span class="w">    </span><span class="c1"># Access bss via the GOT.</span>
+<span class="w">    </span>-mno-pic-data-is-text-relative
+
+<span class="w">    </span><span class="c1"># GOT is not PC-relative; store GOT location in a register.</span>
+<span class="w">    </span>-msingle-pic-base
+
+<span class="w">    </span><span class="c1"># Store GOT location in r9.</span>
+<span class="w">    </span>-mpic-register<span class="o">=</span>r9
+</pre></div>
+</div>
+<p>Reference: <a class="reference external" href="https://gcc.gnu.org/ml/gcc-help/2015-07/msg00027.html">https://gcc.gnu.org/ml/gcc-help/2015-07/msg00027.html</a></p>
+<p>Michael has verified that <code class="docutils literal notranslate"><span class="pre">-mno-pic-data-is-text-relative</span></code> is,
+indeed, a solution to the above NXFLAT problem in newer
+compilers. You simply need to modify the board Make.defs
+file like:</p>
+<ol class="arabic simple">
+<li><p>ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10</p></li>
+</ol>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>+ARCHPICFLAGS<span class="w"> </span><span class="o">=</span><span class="w"> </span>-fpic<span class="w"> </span>-msingle-pic-base<span class="w"> </span>-mpic-register<span class="o">=</span>r10<span class="w"> </span>-mno-pic-data-is-text-relative
+</pre></div>
+</div>
+<p>NOTE the minor difference from the post: NuttX uses <code class="docutils literal notranslate"><span class="pre">r10</span></code> as
+the PIC base register by default in all configurations.</p>
+<p>See this <a class="reference external" href="https://groups.google.com/forum/">thread</a> for additional information.</p>
+</section>
+<section id="references">
+<h3>References<a class="headerlink" href="#references" title="Permalink to this heading"></a></h3>
+<ul class="simple">
+<li><p><a class="reference internal" href="../nxflat.html"><span class="doc">NXFLAT</span></a></p></li>
+<li><p><a class="reference external" href="http://xflat.sourceforge.net/">XFLATFLAT</a></p></li>
+<li><p><a class="reference external" href="http://retired.beyondlogic.org/uClinux/bflt.htm">FLAT</a></p></li>
+<li><p><a class="reference external" href="http://romfs.sourceforge.net/">ROMFS</a></p></li>
+</ul>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="nuttxfs.html" class="btn btn-neutral float-left" title="Nuttx FS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="pseudofs.html" class="btn btn-neutral float-right" title="Pseudo File System" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023, The Apache Software Foundation.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/components/filesystem/partition.html b/content/docs/latest/components/filesystem/partition.html
index 310e653d3..c419afece 100644
--- a/content/docs/latest/components/filesystem/partition.html
+++ b/content/docs/latest/components/filesystem/partition.html
@@ -44,7 +44,7 @@
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
     <link rel="next" title="PROCFS" href="procfs.html" />
-    <link rel="prev" title="NXFFS" href="nxffs.html" /> 
+    <link rel="prev" title="How NXFFS works" href="how_nxffs_works.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -155,6 +155,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
@@ -383,7 +387,7 @@ String between “%s %zx %zx” and “LF” will be ignored(eg. CR, or some com
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="nxffs.html" class="btn btn-neutral float-left" title="NXFFS" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="how_nxffs_works.html" class="btn btn-neutral float-left" title="How NXFFS works" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="procfs.html" class="btn btn-neutral float-right" title="PROCFS" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/content/docs/latest/components/filesystem/procfs.html b/content/docs/latest/components/filesystem/procfs.html
index df475f5f0..85c17c80c 100644
--- a/content/docs/latest/components/filesystem/procfs.html
+++ b/content/docs/latest/components/filesystem/procfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/pseudofs.html b/content/docs/latest/components/filesystem/pseudofs.html
new file mode 100644
index 000000000..679ee5b6a
--- /dev/null
+++ b/content/docs/latest/components/filesystem/pseudofs.html
@@ -0,0 +1,424 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en">
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Pseudo File System &mdash; NuttX latest documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
+      <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
+      <link rel="stylesheet" type="text/css" href="../../_static/custom.css" />
+
+  
+    <link rel="shortcut icon" href="../../_static/favicon.ico"/>
+      <script src="../../_static/jquery.js"></script>
+      <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></script>
+      <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js"></script>
+      <script src="../../_static/doctools.js"></script>
+      <script src="../../_static/sphinx_highlight.js"></script>
+      <script src="../../_static/clipboard.min.js"></script>
+      <script src="../../_static/copybutton.js"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Special Files and Device Numbers" href="special_files_dev_num.html" />
+    <link rel="prev" title="NuttX FLAT Binary Format (NXFLAT)" href="nxflat.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+  
+    <a href="../../index.html" class="icon icon-home"> NuttX
+  
+
+  
+  </a>
+
+  <!-- this version selector is quite ugly, should be probably replaced by something
+       more modern -->
+
+  <div class="version-selector">
+    <select onchange="javascript:location.href = this.value;">
+    
+    <option value="../../../latest" selected="selected">latest</option>
+    
+    <option value="../../../10.0.0" >10.0.0</option>
+    
+    <option value="../../../10.0.1" >10.0.1</option>
+    
+    <option value="../../../10.1.0" >10.1.0</option>
+    
+    <option value="../../../10.2.0" >10.2.0</option>
+    
+    <option value="../../../10.3.0" >10.3.0</option>
+    
+    <option value="../../../11.0.0" >11.0.0</option>
+    
+    <option value="../../../12.0.0" >12.0.0</option>
+    
+    <option value="../../../12.1.0" >12.1.0</option>
+    
+    <option value="../../../12.2.0" >12.2.0</option>
+    
+    <option value="../../../12.2.1" >12.2.1</option>
+    
+    <option value="../../../12.3.0" >12.3.0</option>
+    
+    <option value="../../../12.4.0" >12.4.0</option>
+    
+    <option value="../../../12.5.0" >12.5.0</option>
+    
+    <option value="../../../12.5.1" >12.5.1</option>
+    
+    <option value="../../../12.6.0" >12.6.0</option>
+    
+    <option value="../../../12.7.0" >12.7.0</option>
+    
+    </select>
+  </div>
+
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../contributing/index.html">Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../platforms/index.html">Supported Platforms</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">OS Components</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../binfmt.html">Binary Loader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../drivers/index.html">Device Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../nxflat.html">NXFLAT</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../nxgraphics/index.html">NX Graphics Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../paging.html">On-Demand Paging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../audio/index.html">Audio Subsystem</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">NuttX File System</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="index.html#virtual-file-system-vfs">Virtual File System (VFS)</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="index.html#file-systems">File systems</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="aio.html">Asynchronous I/O support</a></li>
+<li class="toctree-l4"><a class="reference internal" href="binfs.html">BINFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cromfs.html">CROMFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="fat.html">FAT</a></li>
+<li class="toctree-l4"><a class="reference internal" href="hostfs.html">Host File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="littlefs.html">LITTLEFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="mmap.html">File mapping emulation (mmap)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="mnemofs.html">MNEMOFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nfs.html">NFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxffs.html">NXFFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="partition.html">Partition Table</a></li>
+<li class="toctree-l4"><a class="reference internal" href="procfs.html">PROCFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="romfs.html">ROMFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="rpmsgfs.html">RPMSG File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="smartfs.html">SMARTFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="shmfs.html">Shared Memory File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="spiffs.html">SPIFFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="tmpfs.html">TMPFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="unionfs.html">Union File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
+<li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Pseudo File System</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#faq">FAQ</a></li>
+</ul>
+</li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../libs/index.html">NuttX libraries</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../net/index.html">Network Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../mm/index.html">Memory Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../syscall.html">Syscall Layer</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../tools/index.html"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../arch/index.html">Architecture-Specific Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../boards.html">Boards Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cmake.html">CMake Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../openamp.html">OpenAMP Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../video.html">Video Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../crypto.html">Crypto API Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../wireless.html">Wireless Subsystem</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../applications/index.html">Applications</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../implementation/index.html">Implementation Details</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">FAQ</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../guides/index.html">Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../logos/index.html">NuttX Logos</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">NuttX</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">OS Components</a></li>
+          <li class="breadcrumb-item"><a href="index.html">NuttX File System</a></li>
+      <li class="breadcrumb-item active">Pseudo File System</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/components/filesystem/pseudofs.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="pseudo-file-system">
+<h1>Pseudo File System<a class="headerlink" href="#pseudo-file-system" title="Permalink to this heading"></a></h1>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Migrated from:
+<a class="reference external" href="https://cwiki.apache.org/confluence/display/NUTTX/Pseudo+File+System">https://cwiki.apache.org/confluence/display/NUTTX/Pseudo+File+System</a></p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this heading"></a></h2>
+<section id="pseudo-root-file-system">
+<h3>Pseudo Root File System<a class="headerlink" href="#pseudo-root-file-system" title="Permalink to this heading"></a></h3>
+<p>NuttX includes an optional, scalable file system. As a minimum, this may
+be a simple in-memory, pseudo file system. This is an in-memory file
+system because it does not require any storage medium or block driver
+support. Rather, file system contents are generated on-the-fly as
+referenced via standard file system operations (open, close, read,
+write, etc.). In this sense, the file system is a pseudo file system
+(in the same sense that the Linux <code class="docutils literal notranslate"><span class="pre">/proc</span></code> file system is also referred
+to as a pseudo file system).</p>
+<p>Any user supplied data or logic can be accessed via the pseudo-file
+system. Built in support is provided for character, block, and MTD
+(Memory Technology Device) drivers in the <code class="docutils literal notranslate"><span class="pre">/dev</span></code> pseudo file system
+directory.</p>
+</section>
+<section id="special-files">
+<h3>Special Files<a class="headerlink" href="#special-files" title="Permalink to this heading"></a></h3>
+<p>NuttX does not support special files in the way that, say,
+Linux does. In fact, it is more correct to say that NuttX
+file systems do not support special files at all.</p>
+<p>NuttX does, however, support Linux-like special <cite>device node</cite>,
+character driver, and block driver files (as well as NuttX-specific
+mountpoint, named semaphore, message queue, and shared memory
+special files). However, these are not special files in sense
+that the term special files is used in a POSIX environment: In
+NuttX these special files may <cite>only</cite> be created in the root
+pseudo-file system. For the case of device nodes, see <a class="reference external" href="https://cwiki.apache.org/confluence/display/NUTTX/Device+Nodes">Device
+Nodes</a>
+for further information.</p>
+<p>In NuttX, the underlying principle is that all <cite>named resources</cite>
+appear as special files in the root pseudo-file system and are
+managed by the VFS.</p>
+</section>
+<section id="mounted-volumes">
+<h3>Mounted Volumes<a class="headerlink" href="#mounted-volumes" title="Permalink to this heading"></a></h3>
+<p>The simple in-memory file system can be extended by mounting block
+devices that provide access to true file systems backed up via
+some mass storage device. NuttX supports the standard mount()
+command that allows a block driver to be bound to a mount point
+within the pseudo file system and to a file system. At present,
+NuttX supports the standard VFAT and ROMFS file systems, a
+special, wear-levelling NuttX FLASH File System (NXFFS), as well
+as a Network File System client (NFS version 3, UDP).</p>
+</section>
+<section id="comparison-to-linux">
+<h3>Comparison to Linux<a class="headerlink" href="#comparison-to-linux" title="Permalink to this heading"></a></h3>
+<p>From a programming perspective, the NuttX file system appears
+very similar to a Linux file system. However, there is a
+fundamental difference: The NuttX root file system is a pseudo
+file system and true file systems may be mounted in the pseudo
+file system. In the typical Linux installation by comparison,
+the Linux root file system is a true file system and pseudo
+file systems may be mounted in the true, root file system.
+The approach selected by NuttX is intended to support greater
+scalability from the very tiny platform to the moderate platform.</p>
+</section>
+</section>
+<section id="faq">
+<h2>FAQ<a class="headerlink" href="#faq" title="Permalink to this heading"></a></h2>
+<p><strong>Question</strong>: I’m wondering why I can’t create a directory. If
+I try to create a dir.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>/mnt
+</pre></div>
+</div>
+<p>I get this,</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>nsh:<span class="w"> </span>mkdir:<span class="w"> </span>mkdir<span class="w"> </span>failed:<span class="w"> </span><span class="m">2</span>
+</pre></div>
+</div>
+<p>although if I do this it creates both directories, mnt and sda</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mount<span class="w"> </span>-t<span class="w"> </span>vfat<span class="w"> </span>/dev/mmcsd0<span class="w"> </span>/mnt/sda
+</pre></div>
+</div>
+<p><strong>Answer</strong>: This is because the top level directories are part of a
+<cite>pseudo-filesystem</cite> – like the Linux <code class="docutils literal notranslate"><span class="pre">proc/</span></code> or <code class="docutils literal notranslate"><span class="pre">sys/</span></code> file systems.
+But the NuttX pseudo-file system begins at the top level <code class="docutils literal notranslate"><span class="pre">/</span></code>.</p>
+<p>What that really means is that you do must have
+<code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_PSEUDOFS_OPERATIONS</span></code> selected. Because you
+can normally create directories in the pseudo-filesystem
+with not problem:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>NuttShell<span class="w"> </span><span class="o">(</span>NSH<span class="o">)</span><span class="w"> </span>NuttX-9.0.0
+nsh&gt;<span class="w"> </span>mkdir<span class="w"> </span>/mnt
+nsh&gt;<span class="w"> </span>ls
+/:
+dev/
+etc/
+mnt/
+proc/
+tmp/
+nsh&gt;<span class="w"> </span>ls<span class="w"> </span>mnt
+/mnt:
+nsh&gt;
+</pre></div>
+</div>
+<p>But lets assume that you do have operations on the pseudo-file
+system disabled. Why doesn’t it work? There is no <cite>real</cite> media
+there so you cannot create a file there or create any directories
+there. The <code class="docutils literal notranslate"><span class="pre">mount</span></code> command is special, it knows how to create mount
+points in the pseudo-file system.</p>
+<p>The pseudo-file system is just a tree structure in RAM.
+It serves two purposes: (1) you don’t have to have a real
+file system to use NuttX.
+It comes up out-of-the-box with usable (but limited)
+pseudo-file system. That allows a little more civilized
+programming environment on even very resource limited MCUs.
+And (2) this pseudo-file system is a place where all special
+NuttX files are retained: Character drivers, block drivers,
+and mount points.</p>
+<p>The NuttX top-level pseudo-filesystem creates the <cite>illusion</cite> of
+directories and provides a consistent, seamless semantic for
+interacting with mounted file systems. If there is a file
+called <code class="docutils literal notranslate"><span class="pre">hello.txt</span></code> in your volume mounted at <code class="docutils literal notranslate"><span class="pre">/mnt/sda</span></code>, then:</p>
+<p><code class="docutils literal notranslate"><span class="pre">/mnt</span></code> - is a <cite>node</cite> in the pseudo-filesystem that does
+nothing but contain the name mnt and provide links
+to things <cite>under</cite> <code class="docutils literal notranslate"><span class="pre">mnt</span></code>.</p>
+<p><code class="docutils literal notranslate"><span class="pre">/mnt/sda</span></code> - This refers to a node that contains the name
+sda that can be found <cite>under</cite> the node with the name mnt.
+This node is a special <cite>mountpoint node</cite> in the pseudo-filesystem.
+It contains the methods needed to interact will real file system.
+Everything <cite>below</cite> <code class="docutils literal notranslate"><span class="pre">/mnt/sda</span></code> is in the physical media.</p>
+<p><code class="docutils literal notranslate"><span class="pre">/mnt/sda/hello.txt</span></code> - This, then refers to the file
+<code class="docutils literal notranslate"><span class="pre">hello.txt</span></code> at the relative path <code class="docutils literal notranslate"><span class="pre">hello.txt</span></code> on the mounted media.
+The transition from the pseudo-filesystem to the
+real media is seamless.</p>
+<p>This is a little different from Linux: Linux always
+has to boot up with a <cite>real</cite> file system – even if it
+is only a initrd RAM disk.
+In Linux, these special files (links, drivers, pipes,
+etc.) reside on real media and can reside in any
+Linux-compatible filesystem.</p>
+<p>Normal <code class="docutils literal notranslate"><span class="pre">mkdir</span></code> can only work if there is a <cite>real</cite> filesystem
+at the location. There are no real directories in the
+pseudo-filesystem. The pseudo-filesystem does support
+<cite>nodes</cite> that look like directories and have some of the
+properties of directories (like the node <code class="docutils literal notranslate"><span class="pre">/mnt</span></code> mentioned
+above). But this is really an illusion.</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">CONFIG_DISABLE_PSEUDOFS_OPERATIONS</span></code> is not enabled,
+then NuttX adds the capability to create new, empty <cite>nodes</cite>
+in the pseudo-filesystem using <code class="docutils literal notranslate"><span class="pre">mkdir</span></code>, completing the illusion.</p>
+<p>[On the other hand, all directories are really an
+<cite>illusion</cite> in a way and I suppose that in that sense
+these nodes the pseudo-filesystem are just as <cite>real</cite>
+as any other directory.]</p>
+<p>After you mount the SD card at <code class="docutils literal notranslate"><span class="pre">/mnt/sda</span></code>, then you can do:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>/mnt/sda/newdir
+</pre></div>
+</div>
+<p>That should work fine and should create a directory at
+the relative path <code class="docutils literal notranslate"><span class="pre">newdir</span></code> in the mounted volume.</p>
+<p>There are a few other special NSH commands like mount that
+can change the pseudo-filesystem. Like <code class="docutils literal notranslate"><span class="pre">losetup</span></code>, <code class="docutils literal notranslate"><span class="pre">mkfifo</span></code>,
+<code class="docutils literal notranslate"><span class="pre">mkrd</span></code>, <code class="docutils literal notranslate"><span class="pre">umount</span></code>, etc.
+In fact, these commands <cite>only</cite> work in the pseudo-filesystem.
+Try them in <code class="docutils literal notranslate"><span class="pre">/mnt/sda</span></code>… they won’t work.</p>
+<p>But none of the <cite>normal</cite> commands that modify files or directories
+will work in the pseudo-filesystem: <code class="docutils literal notranslate"><span class="pre">mkdir</span></code>, <code class="docutils literal notranslate"><span class="pre">mv</span></code>, <code class="docutils literal notranslate"><span class="pre">rm</span></code>, <code class="docutils literal notranslate"><span class="pre">rmdir</span></code>.
+These all require real media. They will not work in the
+pseudo-filesystem, but will work in <code class="docutils literal notranslate"><span class="pre">/mnt/sda</span></code>.</p>
+<p>And trying to pipe to something in the pseudo-filesystem
+will also fail. You cannot do this, for example:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>NuttShell<span class="w"> </span><span class="o">(</span>NSH<span class="o">)</span><span class="w"> </span>NuttX-6.20
+nsh&gt;<span class="w"> </span>cat<span class="w"> </span><span class="s2">&quot;Hello, World!&quot;</span><span class="w"> </span>&gt;/hello.text
+nsh:<span class="w"> </span>cat:<span class="w"> </span>open<span class="w"> </span>failed:<span class="w"> </span><span class="m">22</span>
+nsh&gt;
+</pre></div>
+</div>
+<p>See also NxFileSystem in
+<a class="reference external" href="https://cwiki.apache.org/confluence/display/NUTTX/Porting+Guide">Porting Guide</a></p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="nxflat.html" class="btn btn-neutral float-left" title="NuttX FLAT Binary Format (NXFLAT)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="special_files_dev_num.html" class="btn btn-neutral float-right" title="Special Files and Device Numbers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023, The Apache Software Foundation.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/components/filesystem/romfs.html b/content/docs/latest/components/filesystem/romfs.html
index 9f79bdc09..86b3bf1cf 100644
--- a/content/docs/latest/components/filesystem/romfs.html
+++ b/content/docs/latest/components/filesystem/romfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/rpmsgfs.html b/content/docs/latest/components/filesystem/rpmsgfs.html
index 4fd683abc..858f9dc01 100644
--- a/content/docs/latest/components/filesystem/rpmsgfs.html
+++ b/content/docs/latest/components/filesystem/rpmsgfs.html
@@ -156,6 +156,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/shmfs.html b/content/docs/latest/components/filesystem/shmfs.html
index 6db5e379e..b5f6ed26c 100644
--- a/content/docs/latest/components/filesystem/shmfs.html
+++ b/content/docs/latest/components/filesystem/shmfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/smartfs.html b/content/docs/latest/components/filesystem/smartfs.html
index eedab4ecc..a1dad5b14 100644
--- a/content/docs/latest/components/filesystem/smartfs.html
+++ b/content/docs/latest/components/filesystem/smartfs.html
@@ -166,6 +166,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/zipfs.html b/content/docs/latest/components/filesystem/special_files_dev_num.html
similarity index 52%
copy from content/docs/latest/components/filesystem/zipfs.html
copy to content/docs/latest/components/filesystem/special_files_dev_num.html
index 830318c4e..a311612d3 100644
--- a/content/docs/latest/components/filesystem/zipfs.html
+++ b/content/docs/latest/components/filesystem/special_files_dev_num.html
@@ -25,7 +25,7 @@
   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>ZipFS &mdash; NuttX latest documentation</title>
+  <title>Special Files and Device Numbers &mdash; NuttX latest documentation</title>
       <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" />
       <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css" />
       <link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
@@ -43,8 +43,8 @@
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
-    <link rel="next" title="Inotify" href="inotify.html" />
-    <link rel="prev" title="User file system" href="userfs.html" /> 
+    <link rel="next" title="NuttX libraries" href="../libs/index.html" />
+    <link rel="prev" title="Pseudo File System" href="pseudofs.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -150,12 +150,19 @@
 <li class="toctree-l4"><a class="reference internal" href="tmpfs.html">TMPFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="unionfs.html">Union File System</a></li>
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
-<li class="toctree-l4 current"><a class="current reference internal" href="#">ZipFS</a><ul>
-<li class="toctree-l5"><a class="reference internal" href="#config">CONFIG</a></li>
-<li class="toctree-l5"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Special Files and Device Numbers</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#special-files-in-unix-like-file-systems">Special Files in Unix-like File Systems</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#special-files-in-other-file-systems">Special Files in Other File Systems</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#special-files-and-nuttx">Special Files and NuttX</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#device-files-and-device-numbers">Device Files and Device Numbers</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#named-resources">Named Resources</a></li>
 </ul>
 </li>
-<li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
@@ -200,9 +207,9 @@
       <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
           <li class="breadcrumb-item"><a href="../index.html">OS Components</a></li>
           <li class="breadcrumb-item"><a href="index.html">NuttX File System</a></li>
-      <li class="breadcrumb-item active">ZipFS</li>
+      <li class="breadcrumb-item active">Special Files and Device Numbers</li>
       <li class="wy-breadcrumbs-aside">
-            <a href="../../_sources/components/filesystem/zipfs.rst.txt" rel="nofollow"> View page source</a>
+            <a href="../../_sources/components/filesystem/special_files_dev_num.rst.txt" rel="nofollow"> View page source</a>
       </li>
   </ul>
   <hr/>
@@ -210,37 +217,109 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
              
-  <section id="zipfs">
-<h1>ZipFS<a class="headerlink" href="#zipfs" title="Permalink to this heading"></a></h1>
-<p>Zipfs is a read only file system that mounts a zip file as a NuttX file system through the NuttX VFS interface.
-This allows users to read files while decompressing them, without requiring additional storage space.</p>
-<section id="config">
-<h2>CONFIG<a class="headerlink" href="#config" title="Permalink to this heading"></a></h2>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">CONFIG_FS_ZIPFS</span><span class="o">=</span>y
-<span class="nv">CONFIG_LIB_ZLIB</span><span class="o">=</span>y
-</pre></div>
+  <section id="special-files-and-device-numbers">
+<h1>Special Files and Device Numbers<a class="headerlink" href="#special-files-and-device-numbers" title="Permalink to this heading"></a></h1>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Migrated from:
+<a class="reference external" href="https://cwiki.apache.org/confluence/display/NUTTX/Special+Files+and+Device+Numbers">https://cwiki.apache.org/confluence/display/NUTTX/Special+Files+and+Device+Numbers</a></p>
 </div>
+<section id="special-files-in-unix-like-file-systems">
+<h2>Special Files in Unix-like File Systems<a class="headerlink" href="#special-files-in-unix-like-file-systems" title="Permalink to this heading"></a></h2>
+<p>In Unix-like operating systems, a <cite>special file</cite> is an interface for
+a device driver that appears in a file system as if it were an
+ordinary file. Special files are a feature built into Unix-like
+file systems such as EXT2.</p>
+<p>See also <a class="reference external" href="https://en.wikipedia.org/wiki/Device_file">Wikipedia article</a>.</p>
+</section>
+<section id="special-files-in-other-file-systems">
+<h2>Special Files in Other File Systems<a class="headerlink" href="#special-files-in-other-file-systems" title="Permalink to this heading"></a></h2>
+<p>Some other file systems systems, such as NTFS, also have some more
+limited and incompatible notion of special files. Others, such as
+FAT, do not have any such concept. Unix-like environments such as
+Cygwin that run on these other file systems have to do things a
+little differently: The have to emulate special files using the
+resources of the file system that they operate on. This may mean
+creating <cite>regular</cite> files with special naming conventions or with
+special content that can be used to emulate the behavior of
+special files.</p>
 </section>
-<section id="example">
-<h2>Example<a class="headerlink" href="#example" title="Permalink to this heading"></a></h2>
-<ol class="arabic simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">./tools/configure.sh</span> <span class="pre">sim:zipfs</span></code> build sim platform with zipfs support.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">make</span></code> build NuttX.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">./nuttx</span></code> run NuttX.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">nsh&gt;</span> <span class="pre">mount</span> <span class="pre">-t</span> <span class="pre">hostfs</span> <span class="pre">-o</span> <span class="pre">/home/&lt;your</span> <span class="pre">host</span> <span class="pre">name&gt;/work</span> <span class="pre">/host</span></code> mount host directory to <code class="docutils literal notranslate"><span class="pre">/host</span></code>.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">nsh&gt;</span> <span class="pre">mount</span> <span class="pre">-t</span> <span class="pre">zipfs</span> <span class="pre">-o</span> <span class="pre">/host/test.zip</span> <span class="pre">/zip</span></code> mount zip file to <code class="docutils literal notranslate"><span class="pre">/zipfs</span></code>.</p></li>
-<li><p>Use cat/ls command to test.</p></li>
-</ol>
-<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>nsh&gt;<span class="w"> </span>ls<span class="w"> </span>/zip
-/zip:
-<span class="w"> </span>a/1
-<span class="w"> </span>a/2
-nsh&gt;<span class="w"> </span>cat<span class="w"> </span>/zip/a/1
-this<span class="w"> </span>is<span class="w"> </span>zipfs<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="m">1</span>
-nsh&gt;<span class="w"> </span>cat<span class="w"> </span>/zip/a/2
-this<span class="w"> </span>is<span class="w"> </span>zipfs<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="m">2</span>
+<section id="special-files-and-nuttx">
+<h2>Special Files and NuttX<a class="headerlink" href="#special-files-and-nuttx" title="Permalink to this heading"></a></h2>
+<p>NuttX has done things in a very different way. There are no
+special files supported in any file system. Rather, special
+files can exist only in the NuttX <a class="reference internal" href="pseudofs.html"><span class="doc">pseudo file system</span></a>. This
+was a decision that was made in the initial design to simplify
+things for resource limited platforms yet still provide a mostly
+standard Unix-like/POSIX programming environment.</p>
+<p>What are the advantages of the special files in the NuttX
+pseudo-file system? Reduce resource usage, reduced bring-up
+requirements. What are the disadvantages? In NuttX, special
+files can only reside in the pseudo-file system.</p>
+<p>The only other consequence that I aware of is that NuttX cannot
+support the POSIX requirement for the <code class="docutils literal notranslate"><span class="pre">st_dev</span></code> field in the
+<code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">stat</span></code> structure.</p>
+</section>
+<section id="device-files-and-device-numbers">
+<h2>Device Files and Device Numbers<a class="headerlink" href="#device-files-and-device-numbers" title="Permalink to this heading"></a></h2>
+<p>In a Unix-like system, devices are access special device files.
+In a Unix-like system, device files can reside in any compatible
+file system but, by convention, are always placed in the <code class="docutils literal notranslate"><span class="pre">/dev</span></code>
+directory. NuttX achieves programming compatibility with this
+convention because the top-level, <cite>root</cite> file system is the
+pseudo-file system and <code class="docutils literal notranslate"><span class="pre">/dev</span></code> is part of the pseudo-file system.</p>
+<p>But there is a bigger difference that this. The bigger
+difference is how device drivers are registered and how
+the are accessed. The primary content of the Unix-like
+device file is simply a number, a device number, usually
+represented as type <code class="docutils literal notranslate"><span class="pre">dev_t</span></code>. The device number an encoded
+that consists of a <cite>major</cite> device number and a <cite>minor</cite> device
+number. The major device number identifies the type of
+driver and the minor number identifies an instance of a
+driver of that type.</p>
+<p>There is nothing special about these number from the sense of
+a file system. Just because device file exists with a
+certain major and minor number, that does not mean that there
+is actually any real driver instance backing that device file
+up. For example, you can create a device file from the Linux
+command line like this, knowing nothing other than major and
+minor device number:</p>
+<div class="highlight-C notranslate"><div class="highlight"><pre><span></span><span class="kt">dev_t</span><span class="w"> </span><span class="nf">makedev</span><span class="p">(</span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">maj</span><span class="p">,</span><span class="w"> </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">mi [...]
+</pre></div>
+</div>
+<p>In a Unix-like system, when you try to open a device driver
+several things must happen: The system must open the device
+file, obtain the device major and minor number, and then
+look up the driver instance in some internal <cite>registry</cite> of
+registered device drivers. If one is found, then the system
+can complete the open operation.</p>
+<p>So, the device number is then a <cite>key</cite> of some kind into a
+<cite>registry</cite> of device drivers. NuttX does this very differently:
+There are no device numbers, rather the pseudo-file system <cite>is</cite>
+the device registry! In NuttX, device files cannot be created
+by users; they can only be created by device drivers by calling
+the following, internal interface:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">register_driver</span><span class="p">(</span><span class="n">FAR</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="n">path</span><span class="p">,</span><span class="w"> </span><span class="n">FAR</span><span class="w"> </sp [...]
 </pre></div>
 </div>
+<p>The <code class="docutils literal notranslate"><span class="pre">path</span></code> argument determines where in the pseudo-file system the
+device file should be placed. <code class="docutils literal notranslate"><span class="pre">mode</span></code> provides device file privileges.
+The <code class="docutils literal notranslate"><span class="pre">fops</span></code> and <code class="docutils literal notranslate"><span class="pre">priv</span></code> provide the internal information for the <code class="docutils literal notranslate"><span class="pre">registry</span></code>.</p>
+<p>So the when you open a device driver in NuttX, many fewer steps are
+involved: The system must still open the device file, but then
+since the pseudo-file system <cite>is</cite> the device registry, all of the
+device driver information is available and <code class="docutils literal notranslate"><span class="pre">open</span></code> operation
+completes with no further actions.</p>
+</section>
+<section id="named-resources">
+<h2>Named Resources<a class="headerlink" href="#named-resources" title="Permalink to this heading"></a></h2>
+<p>This use of the pseudo-file system in NuttX to manage device
+files is consistent with a core NuttX device philosophy: The
+NuttX VFS and the pseudo-file system in particular, are used
+to manage all named OS resources. That applies not only to
+device files and other special files but also to such things
+named message queues and named semaphores (which can be found
+in the pseudo-file system in the <code class="docutils literal notranslate"><span class="pre">/var</span></code> directory).</p>
 </section>
 </section>
 
@@ -248,8 +327,8 @@ this<span class="w"> </span>is<span class="w"> </span>zipfs<span class="w"> </sp
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="userfs.html" class="btn btn-neutral float-left" title="User file system" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="inotify.html" class="btn btn-neutral float-right" title="Inotify" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="pseudofs.html" class="btn btn-neutral float-left" title="Pseudo File System" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../libs/index.html" class="btn btn-neutral float-right" title="NuttX libraries" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/components/filesystem/spiffs.html b/content/docs/latest/components/filesystem/spiffs.html
index 22101f141..ee5ede81f 100644
--- a/content/docs/latest/components/filesystem/spiffs.html
+++ b/content/docs/latest/components/filesystem/spiffs.html
@@ -155,6 +155,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/tmpfs.html b/content/docs/latest/components/filesystem/tmpfs.html
index cd52b136c..d68a3fbdb 100644
--- a/content/docs/latest/components/filesystem/tmpfs.html
+++ b/content/docs/latest/components/filesystem/tmpfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/unionfs.html b/content/docs/latest/components/filesystem/unionfs.html
index c353d7897..57042f50c 100644
--- a/content/docs/latest/components/filesystem/unionfs.html
+++ b/content/docs/latest/components/filesystem/unionfs.html
@@ -158,6 +158,10 @@
 <li class="toctree-l4"><a class="reference internal" href="userfs.html">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/userfs.html b/content/docs/latest/components/filesystem/userfs.html
index 98f6fbff4..b03ea0bda 100644
--- a/content/docs/latest/components/filesystem/userfs.html
+++ b/content/docs/latest/components/filesystem/userfs.html
@@ -152,6 +152,10 @@
 <li class="toctree-l4 current"><a class="current reference internal" href="#">User file system</a></li>
 <li class="toctree-l4"><a class="reference internal" href="zipfs.html">ZipFS</a></li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/filesystem/zipfs.html b/content/docs/latest/components/filesystem/zipfs.html
index 830318c4e..67cf8234c 100644
--- a/content/docs/latest/components/filesystem/zipfs.html
+++ b/content/docs/latest/components/filesystem/zipfs.html
@@ -156,6 +156,10 @@
 </ul>
 </li>
 <li class="toctree-l4"><a class="reference internal" href="inotify.html">Inotify</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nuttxfs.html">Nuttx FS</a></li>
+<li class="toctree-l4"><a class="reference internal" href="nxflat.html">NuttX FLAT Binary Format (NXFLAT)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="pseudofs.html">Pseudo File System</a></li>
+<li class="toctree-l4"><a class="reference internal" href="special_files_dev_num.html">Special Files and Device Numbers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="index.html#fs-categories">FS Categories</a></li>
 </ul>
 </li>
diff --git a/content/docs/latest/components/libs/index.html b/content/docs/latest/components/libs/index.html
index 866556916..c2465420c 100644
--- a/content/docs/latest/components/libs/index.html
+++ b/content/docs/latest/components/libs/index.html
@@ -44,7 +44,7 @@
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
     <link rel="next" title="libc" href="libc/index.html" />
-    <link rel="prev" title="Inotify" href="../filesystem/inotify.html" /> 
+    <link rel="prev" title="Special Files and Device Numbers" href="../filesystem/special_files_dev_num.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -226,7 +226,7 @@ directory from becoming cluttered with individual libraries.</p>
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="../filesystem/inotify.html" class="btn btn-neutral float-left" title="Inotify" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../filesystem/special_files_dev_num.html" class="btn btn-neutral float-left" title="Special Files and Device Numbers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="libc/index.html" class="btn btn-neutral float-right" title="libc" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 3c23de14e..cc0904f85 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -173,7 +173,7 @@ standards. Additional standard APIs from Unix and other common RTOS’s (such as
 VxWorks) are adopted for functionality not available under these standards, or
 for functionality that is not appropriate for deeply-embedded environments (such
 as fork()).</p>
-<p>Last Updated: 11 November 24 at 00:24</p>
+<p>Last Updated: 12 November 24 at 00:24</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 2e899b30f..6e47735e7 100644
Binary files a/content/docs/latest/objects.inv and b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/searchindex.js b/content/docs/latest/searchindex.js
index de7c71539..e65f38bdc 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index 355552025..78f3285f5 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
     <description></description>
     <link>/</link>
     <atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
-    <pubDate>Mon, 11 Nov 2024 00:26:20 +0000</pubDate>
-    <lastBuildDate>Mon, 11 Nov 2024 00:26:20 +0000</lastBuildDate>
+    <pubDate>Tue, 12 Nov 2024 00:25:43 +0000</pubDate>
+    <lastBuildDate>Tue, 12 Nov 2024 00:25:43 +0000</lastBuildDate>
     <generator>Jekyll v4.3.2</generator>
     
       <item>