diff --git a/README.md b/README.md
index b3f00a0..3cb86ef 100644
--- a/README.md
+++ b/README.md
@@ -1,93 +1,202 @@
+---
+author: Penguin
+date: 06/19/23
+title: PolarFire SoC FPGA
+---
-# Table of Contents
+# About the Board
-1. [About the Board](#orgd72d6fe)
-2. [Creating a Bootable Yocto Linux Image](#org320b6b1)
- 1. [Create a workspace (OPTIONAL)](#org3ac88ae)
- 2. [Update the repo workspace](#orgf613432)
- 3. [Set up the Bitbake environment](#org5551fb8)
- 4. [Building Board Disk Image](#orge48b62d)
- 1. [Building a Linux Image with a root file system (RootFS)](#org260c449)
- 2. [Building a RAM-based Root Filestystem](#org920972e)
- 3. [Building a Linux Image for an external QSPI flash memory](#org31f047f)
- 4. [Flashing an SD Card](#org0ce15e7)
-3. [References](#org47ba498)
+
+# Installing Libero (via portage)
+# Installing Libero (MANUAL)
-
+## Prerequisites
-# About the Board
+## Installation Process
-![img](./doc/img/PolarFire-Board.png)
+``` bash
+sudo mkdir -p /opt/Microchip
+sudo chown $USER:$USER /opt/Microchip
+unzip
+```
+Installer Directions:
-
+- Install Directory: /opt/Microchip/Libero_SoC_v2023.1
+- Common Directory: /opt/Microchip/common
+- Install Set: Everything
-# Creating a Bootable Yocto Linux Image
+## Post-Install
-We have two options: Create a new workspace, or we can use this repo as a workspace because this repo is my working workspace.
+``` bash
+sudo /opt/Microchip/Libero_SoC_v2023.1/Logs/req_to_install.sh
+```
+### Installing FlashPro Drivers
-
+You need to have the FlashPro device to install these, so ignore this if
+you don't have a FlashPro device.
-## Create a workspace (OPTIONAL)
+1. FlashPro 5
- mkdir yocto-dev && cd yocto-dev
- repo init -u https://github.com/polarfire-soc/polarfire-soc-yocto-manifests.git -b main -m default.xml
+ ``` bash
+ sudo /opt/Microchip/Libero_SoC_v2023.1/Libero/bin/udev_install
+ ```
+2. FlashPro 6
-
+ ``` bash
+ sudo /opt/Microchip/Libero_SoC_v2023.1/Libero/bin/fp6_env_install
+ ```
-## Update the repo workspace
+### Installing Your License
- repo sync
- repo rebase
+You can register for a Microchip and request a year-long evaluation
+license here:
+
+You'll want to get the **LIB-PL-MACID-F-EVAL** license, which is a
+floating linux license. If you're on windows, just get whatever license
+works for you.
-
+``` bash
+mkdir -p /opt/Microchip/Libero_SoC_v2023.1/license
+cp /path/to/license /opt/Microchip/Libero_SoC_v2023/license
+```
-## Set up the Bitbake environment
+### Installing the Licensing Daemon
- . ./meta-polarfire-soc-yocto-bsp/polarfire-soc_yocto_setup.sh
+``` bash
+# install lsb-core
+sudo apt install lsb-core
+sudo cp scripts/libero-license.service /etc/systemd/user
+```
+# Install Yocto Ecosystem
-
+## Prerequisites
-## Building Board Disk Image
+``` bash
+sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
+ build-essential chrpath socat libsdl1.2-dev xterm bmap-utils python3-distutils repo
+```
+## Create the Yocto Workspace
-
+``` bash
+mkdir yocto-dev && cd yocto-dev
+repo init -u https://github.com/polarfire-soc/polarfire-soc-yocto-manifests.git -b main -m default.xml
+```
-### Building a Linux Image with a root file system (RootFS)
+## Update the repo workspace
+
+``` bash
+repo sync
+repo rebase
+```
+
+## Setup the Bitbake environment
+
+``` bash
+. ./meta-polarfire-soc-yocto-bsp/polarfire-soc_yocto_setup.sh
+```
+
+## Optimize your build environment
+
+Yocto builds take a very long time. We can optimize this.
+
+``` bash
+mkdir -p ${HOME}/.local/share/yocto/downloads
+mkdir -p ${HOME}/.local/share/yocto/sstate-cache
+mkdir -p ${HOME}/.local/share/yocto/persistent
+cd /build/conf/
+
+
+echo '
+BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
+PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count() - 1}"
+DL_DIR = "${HOME}/.local/share/yocto/downloads"
+SSTATE_DIR = "${HOME}/.local/share/yocto/sstate-cache"
+PERSISTENT_DIR=${HOME/.local/share/yocto/persistent
+SOURCE_MIRROR_URL ?= "file://${HOME}/.local/share/yocto/downloads"
+INHERIT += "own-mirrors"
+BB_GENERATE_MIRROR_TARBALLS = "1"
+# uncomment to test sources
+# BB_NO_NETWORK = "1"
+
+# remove static deps
+STATICLIBCONF = "--disable-static"
+DISABLE_STATIC:pn-openssl = ""
+DISABLE_STATIC:pn-openssl-native = ""
+DISABLE_STATIC:pn-nativesdk-openssl = ""
+DISABLE_STATIC:pn-libtalloc = ""
+EXTRA_OECONF += "${STATICLIBCONF}"
+' >> local.conf
+```
+
+## Build the Disk Image
+
+``` bash
+cd $PROOT
+bitbake mpfs-dev-cli
+```
- MACHINE=icicle-kit-es bitbake mpfs-dev-cli
+# References
+
+[PolarFire Yocto
+Github](https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp)
+# Creating a Bootable Yocto Linux Image
-
+We have two options: Create a new workspace, or we can use this repo as
+a workspace because this repo is my working workspace.
-### Building a RAM-based Root Filestystem
+## Create a workspace (OPTIONAL)
- MACHINE=icicle-kit-es bitbake -R conf/initramfs.conf mpfs-initramfs-image
+ mkdir yocto-dev && cd yocto-dev
+ repo init -u https://github.com/polarfire-soc/polarfire-soc-yocto-manifests.git -b main -m default.xml
+## Update the repo workspace
-
+``` bash
+repo sync
+repo rebase
+```
-### Building a Linux Image for an external QSPI flash memory
+## Set up the Bitbake environment
+``` bash
+. ./meta-polarfire-soc-yocto-bsp/polarfire-soc_yocto_setup.sh
+```
-
+## Building Board Disk Image
-### Flashing an SD Card
+### Building a Linux Image with a root file system (RootFS)
- zcat build/tmp-glibc/deploy/images/icicle-kit-es/mpfs-dev-cli-icicle-kit-es.wic.gz | sudo dd of=/dev/sdX bs=4096 iflag=fullblock oflag=direct conv=fsync status=progress
+``` bash
+MACHINE=icicle-kit-es bitbake mpfs-dev-cli
+```
+### Building a RAM-based Root Filestystem
-
+``` bash
+MACHINE=icicle-kit-es bitbake -R conf/initramfs.conf mpfs-initramfs-image
+```
-# References
+### Building a Linux Image for an external QSPI flash memory
-1. [PolarFire SoC Yocto](https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp)
+### Flashing an SD Card
+
+``` bash
+zcat build/tmp-glibc/deploy/images/icicle-kit-es/mpfs-dev-cli-icicle-kit-es.wic.gz | sudo dd of=/dev/sdX bs=4096 iflag=fullblock oflag=direct conv=fsync status=progress
+```
+
+# References
- **\*\***
+[PolarFire SoC
+Yocto](https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp)
+**\*\***
diff --git a/README.org b/README.org
index d3d6787..d3b1b82 100644
--- a/README.org
+++ b/README.org
@@ -8,7 +8,125 @@
#+attr_html: :height 50%
[[./doc/img/PolarFire-Board.png]]
-* Installing Libero
+* Installing Libero (via portage)
+* Installing Libero (MANUAL)
+** Prerequisites
+
+** Installation Process
+#+begin_src bash
+sudo mkdir -p /opt/Microchip
+sudo chown $USER:$USER /opt/Microchip
+unzip
+#+end_src
+
+Installer Directions:
+- Install Directory: /opt/Microchip/Libero_SoC_v2023.1
+- Common Directory: /opt/Microchip/common
+- Install Set: Everything
+
+** Post-Install
+#+begin_src bash
+sudo /opt/Microchip/Libero_SoC_v2023.1/Logs/req_to_install.sh
+#+end_src
+
+*** Installing FlashPro Drivers
+You need to have the FlashPro device to install these, so ignore this if you don't have a FlashPro device.
+
+**** FlashPro 5
+#+begin_src bash
+sudo /opt/Microchip/Libero_SoC_v2023.1/Libero/bin/udev_install
+#+end_src
+
+**** FlashPro 6
+#+begin_src bash
+sudo /opt/Microchip/Libero_SoC_v2023.1/Libero/bin/fp6_env_install
+#+end_src
+
+*** Installing Your License
+You can register for a Microchip and request a year-long evaluation license here: https://www.microchipdirect.com/login?redirectTo=%2Ffpga-software-products
+
+You'll want to get the *LIB-PL-MACID-F-EVAL* license, which is a floating linux license. If you're on windows, just get whatever license works for you.
+
+#+begin_src bash
+mkdir -p /opt/Microchip/Libero_SoC_v2023.1/license
+cp /path/to/license /opt/Microchip/Libero_SoC_v2023/license
+#+end_src
+
+*** Installing the Licensing Daemon
+# TODO: Replace these ubuntu instructions with gentoo instructions
+#+begin_src bash
+# install lsb-core
+sudo apt install lsb-core
+sudo cp scripts/libero-license.service /etc/systemd/user
+#+end_src
+
+* Install Yocto Ecosystem
+** Prerequisites
+#+begin_src bash
+sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
+ build-essential chrpath socat libsdl1.2-dev xterm bmap-utils python3-distutils repo
+#+end_src
+
+** Create the Yocto Workspace
+#+begin_src bash
+mkdir yocto-dev && cd yocto-dev
+repo init -u https://github.com/polarfire-soc/polarfire-soc-yocto-manifests.git -b main -m default.xml
+#+end_src
+
+** Update the repo workspace
+#+begin_src bash
+repo sync
+repo rebase
+#+end_src
+
+** Setup the Bitbake environment
+#+begin_src bash
+. ./meta-polarfire-soc-yocto-bsp/polarfire-soc_yocto_setup.sh
+#+end_src
+
+** Optimize your build environment
+Yocto builds take a very long time. We can optimize this.
+
+#+begin_src bash
+mkdir -p ${HOME}/.local/share/yocto/downloads
+mkdir -p ${HOME}/.local/share/yocto/sstate-cache
+mkdir -p ${HOME}/.local/share/yocto/persistent
+cd /build/conf/
+
+
+echo '
+BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
+PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count() - 1}"
+DL_DIR = "${HOME}/.local/share/yocto/downloads"
+SSTATE_DIR = "${HOME}/.local/share/yocto/sstate-cache"
+PERSISTENT_DIR=${HOME/.local/share/yocto/persistent
+SOURCE_MIRROR_URL ?= "file://${HOME}/.local/share/yocto/downloads"
+INHERIT += "own-mirrors"
+BB_GENERATE_MIRROR_TARBALLS = "1"
+# uncomment to test sources
+# BB_NO_NETWORK = "1"
+
+# remove static deps
+STATICLIBCONF = "--disable-static"
+DISABLE_STATIC:pn-openssl = ""
+DISABLE_STATIC:pn-openssl-native = ""
+DISABLE_STATIC:pn-nativesdk-openssl = ""
+DISABLE_STATIC:pn-libtalloc = ""
+EXTRA_OECONF += "${STATICLIBCONF}"
+' >> local.conf
+#+end_src
+
+** Build the Disk Image
+#+begin_src bash
+cd $PROOT
+bitbake mpfs-dev-cli
+#+end_src
+
+
+
+
+* References
+**** [[https://github.com/polarfire-soc/meta-polarfire-soc-yocto-bsp][PolarFire Yocto Github]]
* Creating a Bootable Yocto Linux Image
We have two options: Create a new workspace, or we can use this repo as a workspace because this repo is my working workspace.