diff --git a/Bliss OS/installation-guide/index.html b/Bliss OS/installation-guide/index.html
new file mode 100644
index 0000000..da23cde
--- /dev/null
+++ b/Bliss OS/installation-guide/index.html
@@ -0,0 +1,1309 @@
+
+
+
+
+<!doctype html>
+<html lang="en" class="no-js">
+  <head>
+    
+      <meta charset="utf-8">
+      <meta name="viewport" content="width=device-width,initial-scale=1">
+      <meta http-equiv="x-ua-compatible" content="ie=edge">
+      
+      
+      
+      
+        <meta name="lang:clipboard.copy" content="Copy to clipboard">
+      
+        <meta name="lang:clipboard.copied" content="Copied to clipboard">
+      
+        <meta name="lang:search.language" content="en">
+      
+        <meta name="lang:search.pipeline.stopwords" content="True">
+      
+        <meta name="lang:search.pipeline.trimmer" content="True">
+      
+        <meta name="lang:search.result.none" content="No matching documents">
+      
+        <meta name="lang:search.result.one" content="1 matching document">
+      
+        <meta name="lang:search.result.other" content="# matching documents">
+      
+        <meta name="lang:search.tokenizer" content="[\s\-]+">
+      
+      <link rel="shortcut icon" href="../../assets/images/favicon.png">
+      <meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.0">
+    
+    
+      
+        <title>Installation Guide - Team Bliss</title>
+      
+    
+    
+      <link rel="stylesheet" href="../../assets/stylesheets/application.0284f74d.css">
+      
+      
+    
+    
+      <script src="../../assets/javascripts/modernizr.74668098.js"></script>
+    
+    
+      
+        <link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>
+        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback">
+        <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
+      
+    
+    <link rel="stylesheet" href="../../assets/fonts/material-icons.css">
+    
+    
+    
+      
+    
+    
+  </head>
+  
+    <body dir="ltr">
+  
+    <svg class="md-svg">
+      <defs>
+        
+        
+      </defs>
+    </svg>
+    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
+    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
+    <label class="md-overlay" data-md-component="overlay" for="__drawer"></label>
+    
+      <a href="#installation-guide" tabindex="1" class="md-skip">
+        Skip to content
+      </a>
+    
+    
+      <header class="md-header" data-md-component="header">
+  <nav class="md-header-nav md-grid">
+    <div class="md-flex">
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <a href="../.." title="Team Bliss" class="md-header-nav__button md-logo">
+          
+            <i class="md-icon"></i>
+          
+        </a>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        <label class="md-icon md-icon--menu md-header-nav__button" for="__drawer"></label>
+      </div>
+      <div class="md-flex__cell md-flex__cell--stretch">
+        <div class="md-flex__ellipsis md-header-nav__title" data-md-component="title">
+          
+            <span class="md-header-nav__topic">
+              Team Bliss
+            </span>
+            <span class="md-header-nav__topic">
+              
+                Installation Guide
+              
+            </span>
+          
+        </div>
+      </div>
+      <div class="md-flex__cell md-flex__cell--shrink">
+        
+          <label class="md-icon md-icon--search md-header-nav__button" for="__search"></label>
+          
+<div class="md-search" data-md-component="search" role="dialog">
+  <label class="md-search__overlay" for="__search"></label>
+  <div class="md-search__inner" role="search">
+    <form class="md-search__form" name="search">
+      <input type="text" class="md-search__input" name="query" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query" data-md-state="active">
+      <label class="md-icon md-search__icon" for="__search"></label>
+      <button type="reset" class="md-icon md-search__icon" data-md-component="reset" tabindex="-1">
+        &#xE5CD;
+      </button>
+    </form>
+    <div class="md-search__output">
+      <div class="md-search__scrollwrap" data-md-scrollfix>
+        <div class="md-search-result" data-md-component="result">
+          <div class="md-search-result__meta">
+            Type to start searching
+          </div>
+          <ol class="md-search-result__list"></ol>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+        
+      </div>
+      
+    </div>
+  </nav>
+</header>
+    
+    <div class="md-container">
+      
+        
+      
+      
+      <main class="md-main">
+        <div class="md-main__inner md-grid" data-md-component="container">
+          
+            
+              <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    <nav class="md-nav md-nav--primary" data-md-level="0">
+  <label class="md-nav__title md-nav__title--site" for="__drawer">
+    <a href="../.." title="Team Bliss" class="md-nav__button md-logo">
+      
+        <i class="md-icon"></i>
+      
+    </a>
+    Team Bliss
+  </label>
+  
+  <ul class="md-nav__list" data-md-scrollfix>
+    
+      
+      
+      
+
+
+  <li class="md-nav__item">
+    <a href="../.." title="Welcome to the wiki!" class="md-nav__link">
+      Welcome to the wiki!
+    </a>
+  </li>
+
+    
+      
+      
+      
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2" checked>
+    
+    <label class="md-nav__link" for="nav-2">
+      Bliss OS
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-2">
+        Bliss OS
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../" title="Index" class="md-nav__link">
+      Index
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../extras/" title="Extras" class="md-nav__link">
+      Extras
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+  
+
+
+  <li class="md-nav__item md-nav__item--active">
+    
+    <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="__toc">
+    
+      
+    
+    
+      <label class="md-nav__link md-nav__link--active" for="__toc">
+        Installation Guide
+      </label>
+    
+    <a href="./" title="Installation Guide" class="md-nav__link md-nav__link--active">
+      Installation Guide
+    </a>
+    
+      
+<nav class="md-nav md-nav--secondary">
+  
+  
+    
+  
+  
+    <label class="md-nav__title" for="__toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#preface" title="Preface" class="md-nav__link">
+    Preface
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#warning" title="Warning!" class="md-nav__link">
+    Warning!
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#bootable-installation-method-mbruefiesp-3264-bit" title="Bootable installation method - MBR/UEFI/ESP (32/64-bit)" class="md-nav__link">
+    Bootable installation method - MBR/UEFI/ESP (32/64-bit)
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-gather-your-tools" title="Part 1 - Gather Your Tools" class="md-nav__link">
+    Part 1 - Gather Your Tools
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-2-flashing-bliss-os-to-the-usb-drive" title="Part 2 - Flashing Bliss OS to the USB drive" class="md-nav__link">
+    Part 2 - Flashing Bliss OS to the USB drive
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-3-testing-bliss-os-on-your-system" title="Part 3 - Testing Bliss OS on your system" class="md-nav__link">
+    Part 3 - Testing Bliss OS on your system
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#troubleshooting-booting-from-the-usb-kicks-me-back-to-bios-or-back-to-my-windowsmacoslinux-installation" title="Troubleshooting - Booting from the USB kicks me back to BIOS, or back to my Windows/macOS/Linux installation." class="md-nav__link">
+    Troubleshooting - Booting from the USB kicks me back to BIOS, or back to my Windows/macOS/Linux installation.
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-3-alternate-using-bliss-os-from-your-usb-drive" title="Part 3 (alternate) - Using Bliss OS from your USB drive" class="md-nav__link">
+    Part 3 (alternate) - Using Bliss OS from your USB drive
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-4-setting-up-and-installing-bliss-os-on-your-hddssdsd-card" title="Part 4 - Setting up and Installing Bliss OS on your HDD/SSD/SD card" class="md-nav__link">
+    Part 4 - Setting up and Installing Bliss OS on your HDD/SSD/SD card
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#windows-based-installer-uefiesp-64-bit" title="Windows-based installer - UEFI/ESP (64-bit)" class="md-nav__link">
+    Windows-based installer - UEFI/ESP (64-bit)
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-using-the-installer" title="Part 1 - Using the Installer" class="md-nav__link">
+    Part 1 - Using the Installer
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-2-switching-the-uefiefi-boot-entry" title="Part 2 - Switching the UEFI/EFI boot entry" class="md-nav__link">
+    Part 2 - Switching the UEFI/EFI boot entry
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#use-syslinux-efi-to-run-bliss-os-7x10x11x" title="Use syslinux EFI to run Bliss OS 7.x/10.x/11.x" class="md-nav__link">
+    Use syslinux EFI to run Bliss OS 7.x/10.x/11.x
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-grab-the-required-tools" title="Part 1 - Grab the required tools" class="md-nav__link">
+    Part 1 - Grab the required tools
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-2-get-bliss-os" title="Part 2 - Get Bliss OS" class="md-nav__link">
+    Part 2 - Get Bliss OS
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-3-get-the-syslinux-efi-bootstrap" title="Part 3 - Get the syslinux EFI bootstrap" class="md-nav__link">
+    Part 3 - Get the syslinux EFI bootstrap
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-4-version-specific" title="Part 4 - Version specific" class="md-nav__link">
+    Part 4 - Version specific
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#if-you-are-using-bliss-7x" title="If you are using Bliss 7.x" class="md-nav__link">
+    If you are using Bliss 7.x
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#if-you-are-using-bliss-10x" title="If you are using Bliss 10.x" class="md-nav__link">
+    If you are using Bliss 10.x
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-5-creating-the-data-image" title="Part 5 - Creating the data image" class="md-nav__link">
+    Part 5 - Creating the data image
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#custom-install-bliss-os-8x10x11x-uefiesp-64-bit" title="Custom Install - Bliss OS 8.x/10.x/11.x UEFI/ESP (64-bit)" class="md-nav__link">
+    Custom Install - Bliss OS 8.x/10.x/11.x UEFI/ESP (64-bit)
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-mounting-your-uefiesp-partition" title="Part 1 - Mounting Your UEFI/ESP Partition" class="md-nav__link">
+    Part 1 - Mounting Your UEFI/ESP Partition
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#cmd-is-not-showing-up-what-should-i-do" title="cmd is not showing up, what should I do?" class="md-nav__link">
+    cmd is not showing up, what should I do?
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-1-alternate-esp-setup" title="Part 1 (alternate) - ESP setup" class="md-nav__link">
+    Part 1 (alternate) - ESP setup
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-1-alternate-killing-the-explorerexe" title="Part 1 (alternate) - Killing the explorer.exe" class="md-nav__link">
+    Part 1 (alternate) - Killing the explorer.exe
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#part-2-uefi-installation" title="Part 2 - UEFI installation" class="md-nav__link">
+    Part 2 - UEFI installation
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-4-the-manual-blissification-of-your-pc" title="Part 4 - The Manual Blissification of Your PC" class="md-nav__link">
+    Part 4 - The Manual Blissification of Your PC
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#install-bliss-os-on-a-vm-virtualbox" title="Install Bliss OS on a VM (virtualbox)" class="md-nav__link">
+    Install Bliss OS on a VM (virtualbox)
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#specific-surface-model-instructions" title="Specific Surface model instructions" class="md-nav__link">
+    Specific Surface model instructions
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#conclusion" title="Conclusion" class="md-nav__link">
+    Conclusion
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+    
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../troubleshooting/" title="Troubleshooting" class="md-nav__link">
+      Troubleshooting
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
+    
+    <label class="md-nav__link" for="nav-3">
+      BlissRoms
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-3">
+        BlissRoms
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../BlissRoms/" title="Index" class="md-nav__link">
+      Index
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../BlissRoms/build-guide/" title="Build Guide" class="md-nav__link">
+      Build Guide
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../BlissRoms/build-tips/" title="Build Tips" class="md-nav__link">
+      Build Tips
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
+    
+    <label class="md-nav__link" for="nav-4">
+      Common
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-4">
+        Common
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../common/" title="Index" class="md-nav__link">
+      Index
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../common/git-started/" title="Git Started" class="md-nav__link">
+      Git Started
+    </a>
+  </li>
+
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../common/using-dippy-bird/" title="Using `dippy-bird`" class="md-nav__link">
+      Using `dippy-bird`
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+      
+      
+      
+
+
+  <li class="md-nav__item md-nav__item--nested">
+    
+      <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
+    
+    <label class="md-nav__link" for="nav-5">
+      Infrastructure
+    </label>
+    <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
+      <label class="md-nav__title" for="nav-5">
+        Infrastructure
+      </label>
+      <ul class="md-nav__list" data-md-scrollfix>
+        
+        
+          
+          
+          
+
+
+  <li class="md-nav__item">
+    <a href="../../infrastructure/" title="Index" class="md-nav__link">
+      Index
+    </a>
+  </li>
+
+        
+      </ul>
+    </nav>
+  </li>
+
+    
+  </ul>
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+            
+              <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
+                <div class="md-sidebar__scrollwrap">
+                  <div class="md-sidebar__inner">
+                    
+<nav class="md-nav md-nav--secondary">
+  
+  
+    
+  
+  
+    <label class="md-nav__title" for="__toc">Table of contents</label>
+    <ul class="md-nav__list" data-md-scrollfix>
+      
+        <li class="md-nav__item">
+  <a href="#preface" title="Preface" class="md-nav__link">
+    Preface
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#warning" title="Warning!" class="md-nav__link">
+    Warning!
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#bootable-installation-method-mbruefiesp-3264-bit" title="Bootable installation method - MBR/UEFI/ESP (32/64-bit)" class="md-nav__link">
+    Bootable installation method - MBR/UEFI/ESP (32/64-bit)
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-gather-your-tools" title="Part 1 - Gather Your Tools" class="md-nav__link">
+    Part 1 - Gather Your Tools
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-2-flashing-bliss-os-to-the-usb-drive" title="Part 2 - Flashing Bliss OS to the USB drive" class="md-nav__link">
+    Part 2 - Flashing Bliss OS to the USB drive
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-3-testing-bliss-os-on-your-system" title="Part 3 - Testing Bliss OS on your system" class="md-nav__link">
+    Part 3 - Testing Bliss OS on your system
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#troubleshooting-booting-from-the-usb-kicks-me-back-to-bios-or-back-to-my-windowsmacoslinux-installation" title="Troubleshooting - Booting from the USB kicks me back to BIOS, or back to my Windows/macOS/Linux installation." class="md-nav__link">
+    Troubleshooting - Booting from the USB kicks me back to BIOS, or back to my Windows/macOS/Linux installation.
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-3-alternate-using-bliss-os-from-your-usb-drive" title="Part 3 (alternate) - Using Bliss OS from your USB drive" class="md-nav__link">
+    Part 3 (alternate) - Using Bliss OS from your USB drive
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-4-setting-up-and-installing-bliss-os-on-your-hddssdsd-card" title="Part 4 - Setting up and Installing Bliss OS on your HDD/SSD/SD card" class="md-nav__link">
+    Part 4 - Setting up and Installing Bliss OS on your HDD/SSD/SD card
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#windows-based-installer-uefiesp-64-bit" title="Windows-based installer - UEFI/ESP (64-bit)" class="md-nav__link">
+    Windows-based installer - UEFI/ESP (64-bit)
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-using-the-installer" title="Part 1 - Using the Installer" class="md-nav__link">
+    Part 1 - Using the Installer
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-2-switching-the-uefiefi-boot-entry" title="Part 2 - Switching the UEFI/EFI boot entry" class="md-nav__link">
+    Part 2 - Switching the UEFI/EFI boot entry
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#use-syslinux-efi-to-run-bliss-os-7x10x11x" title="Use syslinux EFI to run Bliss OS 7.x/10.x/11.x" class="md-nav__link">
+    Use syslinux EFI to run Bliss OS 7.x/10.x/11.x
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-grab-the-required-tools" title="Part 1 - Grab the required tools" class="md-nav__link">
+    Part 1 - Grab the required tools
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-2-get-bliss-os" title="Part 2 - Get Bliss OS" class="md-nav__link">
+    Part 2 - Get Bliss OS
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-3-get-the-syslinux-efi-bootstrap" title="Part 3 - Get the syslinux EFI bootstrap" class="md-nav__link">
+    Part 3 - Get the syslinux EFI bootstrap
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-4-version-specific" title="Part 4 - Version specific" class="md-nav__link">
+    Part 4 - Version specific
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#if-you-are-using-bliss-7x" title="If you are using Bliss 7.x" class="md-nav__link">
+    If you are using Bliss 7.x
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#if-you-are-using-bliss-10x" title="If you are using Bliss 10.x" class="md-nav__link">
+    If you are using Bliss 10.x
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-5-creating-the-data-image" title="Part 5 - Creating the data image" class="md-nav__link">
+    Part 5 - Creating the data image
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#custom-install-bliss-os-8x10x11x-uefiesp-64-bit" title="Custom Install - Bliss OS 8.x/10.x/11.x UEFI/ESP (64-bit)" class="md-nav__link">
+    Custom Install - Bliss OS 8.x/10.x/11.x UEFI/ESP (64-bit)
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-1-mounting-your-uefiesp-partition" title="Part 1 - Mounting Your UEFI/ESP Partition" class="md-nav__link">
+    Part 1 - Mounting Your UEFI/ESP Partition
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#cmd-is-not-showing-up-what-should-i-do" title="cmd is not showing up, what should I do?" class="md-nav__link">
+    cmd is not showing up, what should I do?
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-1-alternate-esp-setup" title="Part 1 (alternate) - ESP setup" class="md-nav__link">
+    Part 1 (alternate) - ESP setup
+  </a>
+  
+</li>
+        
+          <li class="md-nav__item">
+  <a href="#part-1-alternate-killing-the-explorerexe" title="Part 1 (alternate) - Killing the explorer.exe" class="md-nav__link">
+    Part 1 (alternate) - Killing the explorer.exe
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#part-2-uefi-installation" title="Part 2 - UEFI installation" class="md-nav__link">
+    Part 2 - UEFI installation
+  </a>
+  
+    <nav class="md-nav">
+      <ul class="md-nav__list">
+        
+          <li class="md-nav__item">
+  <a href="#part-4-the-manual-blissification-of-your-pc" title="Part 4 - The Manual Blissification of Your PC" class="md-nav__link">
+    Part 4 - The Manual Blissification of Your PC
+  </a>
+  
+</li>
+        
+      </ul>
+    </nav>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#install-bliss-os-on-a-vm-virtualbox" title="Install Bliss OS on a VM (virtualbox)" class="md-nav__link">
+    Install Bliss OS on a VM (virtualbox)
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#specific-surface-model-instructions" title="Specific Surface model instructions" class="md-nav__link">
+    Specific Surface model instructions
+  </a>
+  
+</li>
+      
+        <li class="md-nav__item">
+  <a href="#conclusion" title="Conclusion" class="md-nav__link">
+    Conclusion
+  </a>
+  
+</li>
+      
+      
+      
+      
+      
+    </ul>
+  
+</nav>
+                  </div>
+                </div>
+              </div>
+            
+          
+          <div class="md-content">
+            <article class="md-content__inner md-typeset">
+              
+                
+                
+                <h1 id="installation-guide">Installation Guide</h1>
+<h2 id="preface">Preface</h2>
+<p>These instructions are based on the Android-x86 project's installation guide. We have not changed the installer, so the procedure of installation is similar. We also thank @bg260 for his contributions - this guide was adapted partially from his work.</p>
+<h2 id="warning">Warning!</h2>
+<p>Team Bliss <strong>does NOT accept any responsibility</strong>. Users must read and understand the instructions, as the installation modifies core system files and carries a significant risk. You <strong>accept all responsibility</strong>, including but not limited to data loss and other malfunctions by continuing beyond this point.</p>
+<p>Any questions, install issues, bug reports, etc. <strong>MUST be</strong> accompanied with the following things:</p>
+<ul>
+<li>Log</li>
+<li>Device info</li>
+<li>Build info (file name)</li>
+<li>Installation method (exact steps used)</li>
+<li>Any other relevant information REQUIRED to diagnose your issue as NOT user error</li>
+</ul>
+<p>If the following information is not supplied, your inquiry will be <strong>ignored.</strong></p>
+<p>These instructions have changed quite a bit for Android Pie, so consider this section a <strong>work in progress.</strong> Thank you for your patience!</p>
+<h2 id="bootable-installation-method-mbruefiesp-3264-bit">Bootable installation method - MBR/UEFI/ESP (32/64-bit)</h2>
+<p><strong>This is the current recommended method!</strong></p>
+<p>Overview of the steps:</p>
+<ul>
+<li>Download the ISO file</li>
+<li>Use Rufus or similar to burn to USB drive</li>
+<li>Disable Secure Boot, Bitlocker, and any other boot security software such as Veracrypt</li>
+<li>Boot into the USB drive.</li>
+<li>Run Bliss OS in Live mode to test things out. If all is well, continue to next step</li>
+<li>Boot into the USB drive, and choose Bliss OS Install</li>
+</ul>
+<p>Let's get started!</p>
+<h3 id="part-1-gather-your-tools">Part 1 - Gather Your Tools</h3>
+<p><strong>Please note that this method is not supported on all machines.</strong></p>
+<p>Download <a href="https://rufus.ie">Rufus</a> and the 32-bit <code>.iso</code> or 64-bit <code>.iso</code>/<code>.img</code> file of Bliss OS, depending on the architecture of the machine you are installing Bliss OS on.</p>
+<p>You will need a decent speed USB drive (4 GB or larger is recommended).</p>
+<h3 id="part-2-flashing-bliss-os-to-the-usb-drive">Part 2 - Flashing Bliss OS to the USB drive</h3>
+<p>Plug in your USB drive, and load up Rufus. Once loaded, click on the icon next to the ISO Image dropdown menu. Now browse to where you have your Bliss OS (32-bit) <code>.iso</code>, <em>or</em> your Bliss OS (64-bit) <code>.iso</code>/<code>.img</code> file. Once chosen, the dropdown should switch to the correct image type, and fill the rest in for you. Once you are ready, click Start.</p>
+<h3 id="part-3-testing-bliss-os-on-your-system">Part 3 - Testing Bliss OS on your system</h3>
+<p><strong>This is very important!</strong> If you, as a user, <strong>do NOT</strong> test the OS first to make sure it is compatible with your device, please <strong>do NOT</strong> expect us to help you if you happen to install it blindly and something goes wrong.</p>
+<p>Reboot your machine, and enter the BIOS. Most motherboards have the default key as "F2". Change the boot order so that the USB is the first thing the device will boot to. Once the boot orders are changed, reboot. If everything goes well, you should see a <code>grub</code> boot screen. Select the "Live CD" option, and if your machine is compatible, you should then see a little bit of text, and then the Bliss OS boot animation. This will go on for a few minutes, but should eventually boot to Bliss OS. If the system never boots to Bliss OS, this is a bad sign that your system might not be compatible. If it does boot, and you would like to install it, continue to the next step.</p>
+<h4 id="troubleshooting-booting-from-the-usb-kicks-me-back-to-bios-or-back-to-my-windowsmacoslinux-installation">Troubleshooting - Booting from the USB kicks me back to BIOS, or back to my Windows/macOS/Linux installation.</h4>
+<p>Your drive is incompatible or you have formatted it incorrectly. Try flashing the image again to the drive with Rufus. If that does not work, your device does not support booting from USB and you will have to try an alternate method.</p>
+<h3 id="part-3-alternate-using-bliss-os-from-your-usb-drive">Part 3 (alternate) - Using Bliss OS from your USB drive</h3>
+<p>If you choose to use Bliss from the USB drive, the data you modify or create on the live install will be in an ephemeral state unless you create a <code>data.img</code> to store the data. You can create a <code>data.img</code> in the root directory of the USB drive (make sure you have a minimum of 4-5 GB free on the drive). We suggest using a tool like RMXtools from XDA to create it (version 1.7 is recommended). Check the tool's thread for detailed usage instructions. You will want to create your <code>data.img</code> inside the root directory of your USB drive, with all the other <code>.img</code> files. From there, just boot into live mode, setup your system the way you want, and the data should be persistant across reboots.</p>
+<h3 id="part-4-setting-up-and-installing-bliss-os-on-your-hddssdsd-card">Part 4 - Setting up and Installing Bliss OS on your HDD/SSD/SD card</h3>
+<p>Quick warning again, in case you missed it. Team Bliss is <strong>NOT responsible</strong>, directly or indirectly, for any damages caused by this guide. By continuing, you automatically agree to these terms.</p>
+<p>This is where things start to get a little tricky, especially with how devices vary. Make sure you have a backup plan in case something goes wrong.</p>
+<p>Start off by opening your favorite partition management software, such as Disk Management in Windows, and create a new partition, making it the size you want (suggested minimum is 8 GB). Just format it to NTFS for now, because it will be formatted by the installer later into the process anyway. Remember what drive you have created here as it's important later on. For Windows machines, it will typically be <code>sda4</code> or <code>sda5</code>. Also create another 300 MB FAT32 partition for the <code>grub</code> bootloader to install to. (This part might require a third-party partition manager as Windows Disk Management might not let it be that small.)</p>
+<p>Boot up the Bliss OS USB, and select the "Installation" option in <code>grub</code>. (It is the second one down, usually.)</p>
+<p>The installer will load, and you will have an option to choose the partition you created earlier. Pick it, and select <code>ext4</code>. <strong>DO NOT</strong> blindly choose the partition, as an incorrect flash can mess up your drive and cause serious data loss. <strong>You do NOT want to get this step wrong.</strong> If you are unsure, boot back into Windows/macOS/Linux and write it down.</p>
+<p>When it asks if you want to install system as R/W, select "YES".</p>
+<p>When it asks if you want to install <code>grub</code>, select "Grub for Legacy BIOS boot type", "Grub2 for UEFI boot type", or neither if you are already running a Linux system. If you chose to install <code>grub</code>, the installer will allow you to choose the partition to install <code>grub</code> to. Make sure you select the 300 MB partition you set up earlier for <code>grub</code>.</p>
+<p>The process will install and create the data directory/image, so be patient. When finished, the installer will then ask if you want to run Android-x86. You can just reboot here. Make sure you remove the USB drive.</p>
+<p>If we have followed all the directions correctly, you should be presented with a <code>grub</code> boot menu. You can choose your <code>bliss_android_x86</code> option (or <code>android-x86</code>), and it will boot into Bliss OS. If you want to customize your <code>grub</code> boot entry, search the web first. We use the same <code>grub</code> setup that the Android-x86 project uses, so their forums will contain just about all the info you will need. </p>
+<p>Congratulations! We hope you enjoy using Bliss OS.</p>
+<h2 id="windows-based-installer-uefiesp-64-bit">Windows-based installer - UEFI/ESP (64-bit)</h2>
+<p>This method is <strong>no longer supported</strong> due to too many people not understanding computer basics and breaking things. <strong>Proceed at your own risk.</strong> This method might be the easiest currently if you understand what you are doing.</p>
+<p>For the overall instructions on using this method, please refer to the <a href="https://forum.xda-developers.com/android/software/winapp-android-x86-installer-uefi-t3222483">tool's original thread</a>. The tools have been updated by Team Bliss for easy installation on UEFI/ESP machines. The <a href="https://github.com/BlissRoms-x86/Androidx86-Installer-for-Windows/tree/master/bin">builds we produce can be found here.</a> And the <a href="https://github.com/BlissRoms-x86/Androidx86-Installer-for-Windows">source for those builds can be found here.</a> This tool should work on Remix OS as well, but this has not been tested yet.</p>
+<h3 id="part-1-using-the-installer">Part 1 - Using the Installer</h3>
+<p>The installer has been updated to accept the <code>.iso</code> files for our 8.x/10.x/11.x releases. Just follow the prompts the installer gives. Refer to the original thread for any questions, and please search before asking.</p>
+<p><strong>Warning</strong> - for Pie, you will need to add <code>androidboot.hardware=android_x86_64</code> to the grub entry in order to boot!</p>
+<h3 id="part-2-switching-the-uefiefi-boot-entry">Part 2 - Switching the UEFI/EFI boot entry</h3>
+<p>Option one is to use the EasyUEFI tool, then switch the UEFI/EFI entry it created to boot first. Close and reboot. Option two is to use your BIOS to select the added UEFI boot entry.</p>
+<h2 id="use-syslinux-efi-to-run-bliss-os-7x10x11x">Use syslinux EFI to run Bliss OS 7.x/10.x/11.x</h2>
+<p>Thanks to @IcedCube for the original post! This method is <strong>NOT recommended</strong> as it is fairly bleeding-edge and experimental, but it should help booting on Chinese tablets that do not want to run <code>grub</code>.</p>
+<p>Use a Linux installation for the following procedure.</p>
+<h3 id="part-1-grab-the-required-tools">Part 1 - Grab the required tools</h3>
+<p>Install <code>unsquashfs</code> (part of <code>squashfs-tools</code>).</p>
+<h3 id="part-2-get-bliss-os">Part 2 - Get Bliss OS</h3>
+<p>Grab the latest build of Bliss OS 7.x/10.x/11.x.</p>
+<h3 id="part-3-get-the-syslinux-efi-bootstrap">Part 3 - Get the syslinux EFI bootstrap</h3>
+<p><a href="https://forum.xda-developers.com/showpost.php?p=74977694&amp;postcount=1237">Grab the <code>.zip</code> file from @IcedCube's original post</a>, and extract it to the root of the USB drive. This will bootstrap syslinux EFI onto it.</p>
+<p>Then, make a folder called <code>android</code>.</p>
+<p>Now, open up the <code>.iso</code> in an archive program. Extract the following files form the root directory of the <code>.iso</code> image to the USB drive's <code>android</code> folder:</p>
+<ul>
+<li><code>initrd.img</code></li>
+<li><code>ramdisk.img</code></li>
+<li><code>kernel</code></li>
+</ul>
+<p>Extract <code>system.sfs</code> to a folder somewhere, such as <code>/tmp</code>.</p>
+<p>Open a terminal and change directory (using <code>cd</code>) to <code>/tmp</code>. Run <code>ls</code> and confirm that <code>system.sfs</code> is shown in the file list. If there is no output, start over as the file is misplaced.</p>
+<p>Run the following:</p>
+<p><code>unsquashfs ./system.sfs</code></p>
+<p>This will make a new directory called <code>squashfs_root</code>.</p>
+<h3 id="part-4-version-specific">Part 4 - Version specific</h3>
+<h4 id="if-you-are-using-bliss-7x">If you are using Bliss 7.x</h4>
+<p>Change directory to <code>squashfs_root</code> and run <code>ls</code>. There should only be one file - a <code>system.img</code> inside the directory. Copy the file to the USB's <code>android</code> folder.</p>
+<h3 id="if-you-are-using-bliss-10x">If you are using Bliss 10.x</h3>
+<p>Change directory to <code>squashfs_root</code>. The structure is a complete Android root filesystem. To install Bliss OS, the files will need to be in a system image. The following steps will guide you through creating a 2 GB <code>system.img</code> file, formatting it, mounting it, and copying the contents of <code>squashfs_root</code> into the new disk image.</p>
+<p>Execute:</p>
+<pre><code>mkdir /mnt/tempMount
+truncate /tmp/system.img --size=2G
+mkfs.ext4 -m0 /tmp/system.img
+sudo mount -o loop /tmp/system.img /mnt/tempMount
+sudo cp -prv /tmp/squashfs_root/* /mnt/tempMount/
+sync
+sudo umount /mnt/tempMount
+</code></pre>
+<p>The <code>sync</code> command might take some time.</p>
+<p>Now copy the <code>/tmp/system.img</code> file to your USB's Android folder.</p>
+<h3 id="part-5-creating-the-data-image">Part 5 - Creating the data image</h3>
+<p>First, find where your USB drive is mounted. It is usually in <code>/mnt</code> or <code>/media</code> (ex. <code>/media/USB</code>).</p>
+<p><code>cd</code> into the <code>android</code> folder.</p>
+<p>We will create a 3 GB data image file. You can attempt to create a 4 GB image but FAT32 maxes out at 4 GB per file. If your system supports exFAT or NTFS, you may try and use it.</p>
+<pre><code>truncate data.img --size=3G
+mkfs.ext4 -m0 data.img
+sync
+</code></pre>
+<p>This will be an completely empty <code>ext4</code> disk image, but will be enough to run Bliss.</p>
+<p>Finally, check to ensure everything is in structured like so:</p>
+<pre><code>&lt;ROOT&gt;
+- syslinux.cfg
+- android/
+-- kernel
+-- system.img
+-- data.img
+-- ramdisk.img
+-- initrd.img
+- EFI/
+-- BOOT/
+--- bootia32.efi
+--- bootx64.efi
+--- ldlinux.e32
+--- ldlinux.e64
+</code></pre>
+<p>Need to add some kernel parameters? Open <code>syslinux.cfg</code> and add them before the <code>initrd=/android/initrd.img</code> statement.</p>
+<p>Unmount the USB from your computer. Plug it into your device and use the BIOS to boot from your UEFI USB Drive, partition 1. If all goes well, you will get a black screen with small white text saying "Booting Android..." followed by loading files. You should get the Linux kernel text, then see the Bliss boot animation play after a couple minutes depending on your USB drive read/write speed.</p>
+<h2 id="custom-install-bliss-os-8x10x11x-uefiesp-64-bit">Custom Install - Bliss OS 8.x/10.x/11.x UEFI/ESP (64-bit)</h2>
+<p>Just as a reminder, Team Bliss is <strong>NOT</strong> responsible for any damage caused by this guide. By continuing, you automatically agree to these terms.</p>
+<h3 id="part-1-mounting-your-uefiesp-partition">Part 1 - Mounting Your UEFI/ESP Partition</h3>
+<p>You will want to make sure you can view hidden and system files in Explorer options. Once you do that, hit the start menu, and type in <code>cmd</code>. Once "Command Prompt" shows up, right click on it and choose "Open as administrator".</p>
+<h4 id="cmd-is-not-showing-up-what-should-i-do"><code>cmd</code> is not showing up, what should I do?</h4>
+<p>Press the Windows key and the R key to bring up the "Run..." dialog. Type in <code>cmd</code>, and then press Ctrl-Shift-Enter. Press "Yes" on the UAC popup.</p>
+<p>Run the following:</p>
+<pre><code>mountvol X: /S
+</code></pre>
+<p>Then check to see if it is mounted already. Run "Task Manager" by either</p>
+<ul>
+<li>Pressing Ctrl-Alt-Del and then clicking on "Task Manager", or</li>
+<li>Pressing Ctrl-Shift-Esc</li>
+</ul>
+<p>Click on "File", "Run new task", "Browse", "This computer", and SYSTEM (X or type in <code>X:</code> in the filepath bar. If you cannot access <code>X:</code>, then that could mean one of three things.</p>
+<ul>
+<li>You have an ESP setup (follow the installation method below)</li>
+<li>You have a legacy MBR setup</li>
+<li>Your setup has a custom boot sequence</li>
+</ul>
+<h3 id="part-1-alternate-esp-setup">Part 1 (alternate) - ESP setup</h3>
+<p>Windows 10 sometimes has an EFI partition already mounted under drive letter <code>Z:</code>, hidden. A very quick and easy way to access the ESP (EFI System Partition) in Windows 10 without using the command line is to start "Task Manager" (check above if you forgot the steps), and then click on "File", "Run new task", "Browse", "This computer", and SYSTEM (Z or type in <code>Z:</code> in the filepath bar).</p>
+<p>Now go to <code>boot/grub/grub.cfg</code> and edit it accordingly with Notepad++ or another text editor. Save the file and your're ready to go!</p>
+<h3 id="part-1-alternate-killing-the-explorerexe">Part 1 (alternate) - Killing the <code>explorer.exe</code></h3>
+<p>Run <code>cmd</code> as admin and enter the following command:</p>
+<pre><code>taskkill /im explorer.exe /f
+</code></pre>
+<p>This will kill the <code>explorer.exe</code> process - don't be surprised if it shows a warning. This step is sometimes required, because by default <code>explorer.exe</code> is ran by the currently logged in user, and it has to be run by the "Administrator" in order to view the mounted system drive. <strong>The "Administrator" account is not the same as an account with administrative privileges.</strong></p>
+<pre><code>mountvol X: /s
+</code></pre>
+<p>This will mount the system partition that usually consists of UEFI related files. <code>X:</code> is the letter of the drive - you can use whatever letter you want, but it has to be free for assignment. Then type:</p>
+<pre><code>explorer
+</code></pre>
+<p>This will run <code>explorer</code> as "Administrator" and will allow you to browse the mounted system partition.</p>
+<p>The above may not work for all devices, as some handle UEFI differently.</p>
+<h2 id="part-2-uefi-installation">Part 2 - UEFI installation</h2>
+<p>Let's start by downloading the required files. <a href="https://www.androidfilehost.com/?w=files&amp;flid=143191">Here is a customized UEFI boot for 32/64-bit machines.</a></p>
+<p>Please note that if you came from our Nougat builds to our Bliss OS 8.x builds, you will have to edit the <code>grub.cfga</code>.</p>
+<p>If you are using Bliss OS 8.x/10.x, please use the <code>grub</code> entry below as a guide:</p>
+<pre><code>menuentry 'Bliss-x86' --class android {
+    search --file --no-floppy --set=root /AndroidOS/system.sfs
+    linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS androidboot.selinux=permissive androidboot.hardware=android_x86_64 quiet DATA=
+    initrd /AndroidOS/initrd.img
+}
+</code></pre>
+<p>If you are installing on <code>ext3</code>/<code>ext4</code>, due to a bug in the install you will have to use the following <code>grub</code> entry setup:</p>
+<pre><code>menuentry 'Bliss-x86' --class android {
+    search --file --no-floppy --set=root /AndroidOS/system.sfs
+    linux /AndroidOS/kernel root=/dev/ram0 SRC=/AndroidOS  androidboot.selinux=permissive androidboot.hardware=android_x86_64 quiet DATA=
+    initrd /AndroidOS/initrd.img
+}
+</code></pre>
+<p>Now that we have the partition mounted, we can copy that <code>BOOT</code> directory to your UEFI partition using <code>explorer</code> as the Administrator or by using the "New Task" dialog from Task Manager. (See above if you forgot the steps!) Once it is copied, go back to the Administrator <code>cmd</code> prompt and type:</p>
+<pre><code>mountvol X: /D
+</code></pre>
+<p>or if you used <code>Z:</code>, type:</p>
+<pre><code>mountvol Z: /D
+</code></pre>
+<p>This will dismount the UEFI/ESP volume for safe reboot. We then suggest you use EasyUEFI here to create the UEFI boot entry. Open the app, and create a new entry. Select your UEFI partition, and in the "File" Path, click "Browse" and use the file manager window to browse to your <code>BOOT/grub/grubx64.efi</code> file. Click OK, and then choose the new <code>grub</code> entry and move it to the top. Make sure Secure Boot is turned off or else it likely will just boot back to Windows.</p>
+<h3 id="part-4-the-manual-blissification-of-your-pc">Part 4 - The Manual Blissification of Your PC</h3>
+<p>To do a manual "Wubi like" install of Bliss OS after you install the UEFI entry, you will need to open the Bliss OS <code>.iso</code>/<code>.img</code> with 7zip, and then drag all the <code>.img</code> &amp; <code>.sfs</code> files to <code>C:/android-x86</code> or whatever your target drive is (make sure your <code>grub</code> entries match where you are putting these). Then create your <code>data.img</code>. We suggest using a tool like RMXtools (use version 1.7) from XDA to create it. Check the tool's thread for detailed instructions. You will want to create your <code>data.img</code> inside that <code>android-x86</code> folder.</p>
+<p>You can now reboot if you have installed the custom UEFI entry right and selected it using EasyUEFI. You should boot right to the Android-x86 <code>grub</code> theme. There, you can use up and down to select, and return to boot that entry. You can also hit <code>e</code> to edit the selected entry. You will want to pay attention to which entry you select, since there will be one for <code>Bliss-x86(32bit)</code> and one or <code>Bliss-x86_64(64bit)</code>.</p>
+<h2 id="install-bliss-os-on-a-vm-virtualbox">Install Bliss OS on a VM (virtualbox)</h2>
+<p>This method does require some beefy PC specs, so it might not work for all. Thanks to Chih-Wei Huang from Android-x86 Project for the detailed information!</p>
+<p>This method is currently being worked on. Check back later for more information!</p>
+<p>Befor we proceed, if things don't work out, check <code>cat /proc/cpuinfo</code> to determine if your CPU is compatible with virtualization.</p>
+<h2 id="specific-surface-model-instructions">Specific Surface model instructions</h2>
+<p>Reference posts <a href="https://forum.xda-developers.com/showpost.php?p=78015375&amp;postcount=76">here</a> and <a href="https://forum.xda-developers.com/showpost.php?p=76896155&amp;postcount=2107">here</a>.</p>
+<p>Many of you have a Surface device and would like to run Android on it. You're in luck, because this project was started with a Surface Pro 3 to test with back in Android Nougat. The device has since been retired and development has continued on a Surface Book, an IPTS device. This means it requires a specific set of firmware for proper functioning. For all other Surface models, the user must upgrade their own firmware, because it is too large of a burden to build for all Surface models without having those devices to test with.</p>
+<p>To start, you will need to grab the right firmware for your device.</p>
+<p>Surface Series Devices:</p>
+<ul>
+<li>Series 5 devices:</li>
+<li>Surface Book 2</li>
+<li>Surface Pro 2017</li>
+<li>Series 4 devices</li>
+<li>Surface Book</li>
+<li>Surface Pro 4</li>
+<li>Surface Laptop</li>
+<li>Series 3 devices:</li>
+<li>Surface Pro 3</li>
+</ul>
+<p>For the ipts_firmware files (series 4/5 devices only), please select the correct version for your device:</p>
+<ul>
+<li>v76 for the Surface Book</li>
+<li>v78 for the Surface Pro 4</li>
+<li>v79 for the Surface Laptop</li>
+<li>v101 for Surface Book 2 15"</li>
+<li>v102 for the Surface Pro 2017</li>
+<li>v137 for the Surface Book 2 13"</li>
+</ul>
+<p>For the i915_firmware files (series 3/4/5 devices), please select the correct version for your device:</p>
+<ul>
+<li>kbl for series 5 devices</li>
+<li>skl for series 4 devices</li>
+<li>bxt for series 3 devices</li>
+</ul>
+<p>All <a href="https://github.com/jakeday/linux-surface/tree/master/firmware">firmware files can be found here.</a></p>
+<p>For Surface Go users, you will have to remove some files and replace with @jakeday's firmware. Please <a href="https://www.reddit.com/r/SurfaceLinux/comments/9t53gq/wifi_fixed_on_surface_go_ubuntu_1810/">see this thread on Reddit</a> for detailed information.</p>
+<p>Once you have the right firmware you need, you should copy it to a folder on your Bliss install (<code>SD_card_root/surface</code>), making sure to put the right firmware in the right folders:</p>
+<ul>
+<li>IPTS firmware: <code>SD_card_root/surface/intel/ipts</code></li>
+<li>ath10k firmware (some models): <code>SD_card_root/surface/ath10k</code></li>
+<li>mrvl firmware (some models): <code>SD_card_root/surface/mrvl</code></li>
+<li>mwlwifi firmware (some models): <code>SD_card_root/surface/mwlwifi</code></li>
+<li>nvidia firmware for SB2: <code>SD_card_root/surface/nvidia</code></li>
+</ul>
+<p>Next, open a terminal (we include one you can enable in "Developer Options"). In the terminal, enter the following commands, giving permission to the superuser popup dialog when prompted:</p>
+<pre><code>su
+mv -f SD_card_root/surface/* system/lib/firmware/
+</code></pre>
+<p>Then you can restart:</p>
+<pre><code>reboot
+</code></pre>
+<p>It should recognize and load the correct firmware versions for your device upon reboot if you did everything correctly.</p>
+<h2 id="conclusion">Conclusion</h2>
+<p>Thanks for following along! If you want to check out the next guide, <a href="../extras/">click here!</a></p>
+<p>Having problems with your new installation? <a href="../troubleshooting/">Check out Troubleshooting.</a></p>
+                
+                  
+                
+              
+              
+                
+
+
+              
+            </article>
+          </div>
+        </div>
+      </main>
+      
+        
+<footer class="md-footer">
+  
+    <div class="md-footer-nav">
+      <nav class="md-footer-nav__inner md-grid">
+        
+          <a href="../extras/" title="Extras" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
+            </div>
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Previous
+                </span>
+                Extras
+              </span>
+            </div>
+          </a>
+        
+        
+          <a href="../troubleshooting/" title="Troubleshooting" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
+            <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
+              <span class="md-flex__ellipsis">
+                <span class="md-footer-nav__direction">
+                  Next
+                </span>
+                Troubleshooting
+              </span>
+            </div>
+            <div class="md-flex__cell md-flex__cell--shrink">
+              <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
+            </div>
+          </a>
+        
+      </nav>
+    </div>
+  
+  <div class="md-footer-meta md-typeset">
+    <div class="md-footer-meta__inner md-grid">
+      <div class="md-footer-copyright">
+        
+        powered by
+        <a href="https://www.mkdocs.org">MkDocs</a>
+        and
+        <a href="https://squidfunk.github.io/mkdocs-material/">
+          Material for MkDocs</a>
+      </div>
+      
+    </div>
+  </div>
+</footer>
+      
+    </div>
+    
+      <script src="../../assets/javascripts/application.245445c6.js"></script>
+      
+      <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
+      
+    
+  </body>
+</html>
\ No newline at end of file
