diff --git a/VERSION b/VERSION
index b6bb93f..88c5fb8 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.0-dev
+1.4.0
diff --git a/architecture.rst b/architecture.rst
index c62f132..ecd5cc9 100644
--- a/architecture.rst
+++ b/architecture.rst
@@ -369,11 +369,11 @@
 advantage of P4 and programmable ASICs, Intel Tofino or Broadcom Trident 4 are more
 appropriate choices.
 
-ONL and ONIE
-^^^^^^^^^^^^
-The SD-Fabric switch software stack includes Open Network Linux (ONL) and Open Network
+SONiC and ONIE
+^^^^^^^^^^^^^^
+The SD-Fabric switch software stack includes SONiC and Open Network
 Install Environment (ONIE) from OCP. The switches are shipped with ONIE, a boot loader that
-enables the installation of the target OS as part of the provisioning process. ONL, a Linux
+enables the installation of the target OS as part of the provisioning process. SONiC, a Linux
 distribution for bare metal switches, is used as the base operating system. It ships with a number
 of additional drivers for bare metal switch hardware elements (e.g., LEDs, SFPs) that are typically
 unavailable in normal Linux distributions for bare metal servers (e.g., Ubuntu).
diff --git a/deployment.rst b/deployment.rst
index 3d424c9..9463bdf 100644
--- a/deployment.rst
+++ b/deployment.rst
@@ -57,150 +57,69 @@
 
    Finally, we are going to install SD-Fabric with the information we prepared in Step 1 to 5.
 
-Step 1: Provision Switches
---------------------------
+Step 1: Access to the switch console
 
-We follow Open Network Install Environment (ONIE) way to install Open Network Linux (ONL) image to switch.
-To work with the SD-Fabric environment, we have customized the ONL image to support related packages and dependencies.
+There are two ways to access the switch console:
 
-Image source file can be found on ONF repository `opennetworkinglab/OpenNetworkLinux <https://github.com/opennetworkinglab/OpenNetworkLinux>`_.
-You can also download pre-compiled artifacts from `Github Release page <https://github.com/opennetworkinglab/OpenNetworkLinux/releases>`_
+ * Access via Baseboard Management Controller(BMC)
+ * Access via console interface
 
+Access via the BMC
+^^^^^^^^^^^^^^^^^^
 
-.. note::
-    If you're not familiar with ONIE/ONL environment, please check `Getting Started <https://github.com/opencomputeproject/OpenNetworkLinux/blob/master/docs/GettingStarted.md>`_ to
-    see how to install the ONL image to an ONIE supported switch.
-
-Below is an example about how to install the ONL image.
-
-1. Prepare a server which is accessible by the switch and then download the
-pre-compiled installer from the release page.
+For some platforms, you can connect to an embedded system loaded with BMC system.
+For example, Wedge100BF series is loaded with OpenBMC system that allows you to connect it via SSH
+When the switch started, OpenBMC uses DHCP to initiate it's IP address. You may setting up static DHCP record on
+your DHCP server or checkout the DHCP lease file from the DHCP server to get the IP address.
 
 .. code-block::
 
-   wget https://github.com/opennetworkinglab/OpenNetworkLinux/releases/download/v1.4.3/ONL-onf-ONLPv2_ONL-OS_2021-07-16.2159-5195444_AMD64_INSTALLED_INSTALLER -o onl-installer
-   sudo python -m http.server 80
+   $ ssh root@[Open BMC IP]
 
-2. Reboot the switch to enter ONIE installation mode
+The default user and password is `root`` and `0penBmc`.
 
-   In order to reinstall an ONL image, you must change the ONIE bootloader to
-   "Rescue Mode".
+In the OpenBMC system you can use Serial-over-LAN(sol) to access the main board.
 
-   Once the switch is powered on, it should retrieve an IP address on the OpenBMC
-   interface with DHCP. Here we use ``10.0.0.131`` as an example.
-   OpenBMC uses these default credentials
+Access via console interface
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-   .. code-block::
+If the platform doesn't support BMC, you can attach your laptop/PC to the switch with a
+console cable and use the following command to access it:
 
-      username: root
-      password: 0penBmc
+.. code-block::
 
-   Login to OpenBMC with SSH:
+   $ screen /dev/[console device] [baud rate]
 
-   .. code-block::
+The `console device` may be vary, it will usually be something like `ttyUSB...`, `tty.usb.....`.
+Please checkout the console cable vendor for more information.
 
-      $ ssh root@10.0.0.131
-      The authenticity of host '10.0.0.131 (10.0.0.131)' can't be established.
-      ECDSA key fingerprint is SHA256:...
-      Are you sure you want to continue connecting (yes/no)? yes
-      Warning: Permanently added '10.0.0.131' (ECDSA) to the list of known hosts.
-      root@10.0.0.131's password:
-      root@bmc:~#
+The `baud rate` can also be vary, depends on the switch vendor.
+Please checkout the switch user manual or contact vendor to get the information.
 
-   Using the Serial-over-LAN Console, enter ONL
+Step 2: Provision Switches
+--------------------------
 
-   .. code-block::
+We follow Open Network Install Environment (ONIE) way to install SONiC image to switch.
+To work with the SD-Fabric environment, we have customized the SONiC image to support related features.
 
-      root@bmc:~# /usr/local/bin/sol.sh
-      You are in SOL session.
-      Use ctrl-x to quit.
-      -----------------------
+You can download pre-compiled images from `Github Release page <https://github.com/stratum/sonic-base-image/releases>`_
 
-      root@onl:~#
-
-   .. note::
-
-      If `sol.sh` is unresponsive, please try to restart the mainboard with
-
-      .. code-block::
-
-         root@onl:~# wedge_power.sh reset
-
-   Change the boot mode to rescue mode and reboot
-
-   .. code-block::
-
-      root@onl:~# onl-onie-boot-mode rescue
-      [1053033.768512] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
-      [1053033.936893] EXT4-fs (sda3): re-mounted. Opts: (null)
-      [1053033.996727] EXT4-fs (sda3): re-mounted. Opts: (null)
-      The system will boot into ONIE rescue mode at the next restart.
-
-      root@onl:~# reboot
-
-   At this point, ONL will go through it's shutdown sequence and ONIE will start.
-   If it does not start right away, press the Enter/Return key a few times - it
-   may show you a boot selection screen. Pick ``ONIE`` and ``Rescue`` if given a
-   choice.
-
-3. Install ONL installer
-
-   Now that the switch is in Rescue mode
-
-   Then run the ``onie-nos-install`` command, with the URL of the management
-   server (here we use ``10.0.0.129`` as an example) on the management network segment
-
-   .. code-block::
-
-      ONIE:/ # onie-nos-install http://10.0.0.129/onie-installer
-      discover: Rescue mode detected. No discover stopped.
-      ONIE: Unable to find 'Serial Number' TLV in EEPROM data.
-      Info: Fetching http://10.0.0.129/onie-installer ...
-      Connecting to 10.0.0.129 (10.0.0.129:80)
-      installer            100% |*******************************|   322M  0:00:00 ETA
-      ONIE: Executing installer: http://10.0.0.129/onie-installer
-      installer: computing checksum of original archive
-      installer: checksum is OK
-      ...
-
-   The installation will now start, and then ONL will boot culminating in
-
-   .. code-block::
-
-      Open Network Linux OS ONL-wedge100bf-32qs, 2020-11-04.19:44-64100e9
-
-      localhost login:
-
-      The default ONL login is::
-
-      username: root
-      password: onl
-
-   If you login, you can verify that the switch is getting it's IP address via DHCP
-
-   .. code-block::
-
-      root@localhost:~# ip addr
-      ...
-      3: ma1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
-            link/ether 00:90:fb:5c:e1:97 brd ff:ff:ff:ff:ff:ff
-            inet 10.0.0.130/25 brd 10.0.0.255 scope global ma1
-      ...
-
-4. (Optional) Setup switch IP and hostname after the installation if DHCP is not available
-
-.. warning::
-
-   Stop and return to :ref:`Post-ONL configuration <aether:edge_deployment/fabric_switch_bootstrap:post-onl configuration>`
-   and continue the remaining steps there if you came from Aether docs.
-   Otherwise, please continue the rest of the page here.
+.. note::
+    If you're not familiar with ONIE/SONiC environment, please check `Getting Started <https://github.com/sonic-net/SONiC/wiki/Quick-Start>`_ to
+    see how to install the SONiC to an ONIE supported switch.
 
 
-Step 2: Configure switches as special Kubernetes nodes
+Once SONiC is started on the switch, you need to disable SONiC services before deploy Stratum on it.
+Otherwise Stratum containers won't be started.
+
+.. code-block::
+
+   admin@sonic$ sudo systemctl stop sonic.target sonic-delayed.taget
+   admin@sonic$ sudo systemctl disable sonic.target sonic-delayed.taget
+
+Step 3: Configure switches as special Kubernetes nodes
 ------------------------------------------------------
 
-Our `ONL <https://github.com/opennetworkinglab/OpenNetworkLinux>`_ version
-includes all packages required by running the Kubernetes on top of it.
 Once the Kubernetes is ready, the `Stratum <https://opennetworking.org/stratum/>`_ application will be deployed to the switch to manage it.
 
 Unlike server, switch has less CPU and memory resources and we should avoid
@@ -229,17 +148,17 @@
      leaf1   Ready    worker   27d   v1.18.8
      leaf2   Ready    worker   27d   v1.18.8
 
-Step 3: Prepare ONOS network configuration
+Step 4: Prepare ONOS network configuration
 ------------------------------------------
    See :ref:`onos_network_config` for instructions
 
-Step 4: Prepare Stratum chassis configuration
+Step 5: Prepare Stratum chassis configuration
 ---------------------------------------------
    See See :ref:`stratum_chassis_config` for instructions
 
 .. _install_sd_fabric:
 
-Step 5: Install SD-Fabric with Helm
+Step 6: Install SD-Fabric with Helm
 -----------------------------------
 
 To install SD-Fabric into your Kubernetes cluster, follow instructions
diff --git a/dict.txt b/dict.txt
index cd3b88f..d0d1c6f 100644
--- a/dict.txt
+++ b/dict.txt
@@ -2,6 +2,7 @@
 Aether
 Analytics
 Atomix
+BMC
 Broadcom
 CLI
 CNI
diff --git a/specification.rst b/specification.rst
index c8fa016..4cb59ba 100644
--- a/specification.rst
+++ b/specification.rst
@@ -248,7 +248,7 @@
 
 White Box Switch Software
 -------------------------
-- Open source ONL, ONIE, Docker, Kubernetes
+- Open source SONiC, ONIE, Docker, Kubernetes
 - Stratum available from ONF
 
 .. rubric:: Footnotes
diff --git a/testing/system.rst b/testing/system.rst
index fc7bc69..319c4b3 100644
--- a/testing/system.rst
+++ b/testing/system.rst
@@ -65,7 +65,7 @@
     * Switch Failure Tests - Setup a flow from between hosts connected to different leaves, disable a spine used by
       the flow, verify and measure how fast the flow is rerouted to another spine.
 
-       * `ONL Reboot <https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SRONLReboot>`_ - Simulate a switch failure by restarting ONL on the switch.
+       * `Switch OS Reboot <https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SRONLReboot>`_ - Simulate a switch failure by restarting ONL on the switch.
 
        * `Stratum Restart <https://github.com/opennetworkinglab/OnosSystemTest/tree/master/TestON/tests/USECASE/SegmentRouting/SRStaging/SRstratumRestart>`_ - Simulate a switch failure by killing the stratum agent on the switch.
 
diff --git a/troubleshooting.rst b/troubleshooting.rst
index 981072e..6dccd14 100644
--- a/troubleshooting.rst
+++ b/troubleshooting.rst
@@ -11,18 +11,17 @@
 control plane software and data plane software are containerized and deployed as Kubernetes services in SD-Fabric.
 Please refer to :ref:`architecture_design` for further details.
 
-ONL troubleshooting
--------------------
+SONiC troubleshooting
+---------------------
 
-Can't reboot into ONL, loops on ONIE installer mode
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Can't reboot into SONiC, loops on ONIE installer mode
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Sometimes an ONL installation is incomplete or problematic, and reinstalling it
+Sometimes an SONiC installation is incomplete or problematic, and reinstalling it
 doesn't result in a working system.
 
 If this is the case, reboot into ONIE Rescue mode and use ``parted`` to delete
-all the ``ONL-`` prefixed partitions, then reinstall with an ``onie-installer``
-image.
+all the ``SONiC`` related partitions, then reinstall the SONiC image.
 
 K8s troubleshooting
 -------------------
@@ -62,8 +61,8 @@
       compute1   Ready    controlplane,etcd,worker   39d   v1.18.8   10.76.28.74   <none>        Ubuntu 18.04.6 LTS             5.4.0-73-generic           docker://20.10.9
       compute2   Ready    controlplane,etcd,worker   39d   v1.18.8   10.76.28.72   <none>        Ubuntu 18.04.5 LTS             5.4.0-73-generic           docker://19.3.15
       compute3   Ready    controlplane,etcd,worker   39d   v1.18.8   10.76.28.68   <none>        Ubuntu 18.04.5 LTS             5.4.0-73-generic           docker://19.3.15
-      leaf1      Ready    worker                     39d   v1.18.8   10.76.28.70   <none>        Debian GNU/Linux 9 (stretch)   4.14.49-OpenNetworkLinux   docker://19.3.15
-      leaf2      Ready    worker                     39d   v1.18.8   10.76.28.71   <none>        Debian GNU/Linux 9 (stretch)   4.14.49-OpenNetworkLinux   docker://19.3.15
+      leaf1      Ready    worker                     39d   v1.18.8   10.76.28.70   <none>        Debian GNU/Linux 10 (buster)   4.19.0-12-2-amd64          docker://18.9.8
+      leaf2      Ready    worker                     39d   v1.18.8   10.76.28.71   <none>        Debian GNU/Linux 10 (buster)   4.19.0-12-2-amd64          docker://18.9.8
 
 You should have at least `3+N` available nodes, where N depends on the deployed network topology. Please note that ONOS
 cannot be scheduled on the network devices (these are special worker nodes), and different ONOS cannot share the same worker
@@ -358,7 +357,7 @@
 ^^^^^^^
 To execute following BF Shell commands,
 
-- Login to Stratum switch by `ssh root@<switch_ip>`. Default password is `onl`
+- Login to Stratum switch via `ssh`.
 - Attach to Stratum docker container by `docker attach \`docker ps | grep stratum-bfrt | awk \'{print $1}\'\``
 
   - Hit `enter` for the prompt
