+## Compile and Build
+
+You will need following dependencies in order to build LunaixOS
+
++ gcc **(target=i686-elf)**
++ binutils
++ make
++ xorriso
++ grub-mkrescue
+
+The following `make` actions are available to use.
+
+| Action | Description |
+|---|---|
+| `make all` | Build bootable(`-O2`) |
+| `make all-debug` | Build debuggable bootable(`-Og`) |
+| `make run` | Boot the OS with QEMU |
+| `make debug-qemu` | Build and debug with QEMU |
+| `make debug-bochs` | Build and debug with Bochs |
+| `make debug-qemu-vscode` | Used for integrated with vscode for better debug experience |
+| `make clean` | Delete recent build |
+
+When a bootable is built, it is an `.iso` image file and can be found under `build/` directory.
+
+## Running and Issue
+
+To run LunaixOS, you will be required to attach a usable virtual disk image. You can use the following handy command to create one:
+
+```bash
+qemu-img create -f vdi machine/disk0.vdi 128M
+```
+
+However, if you have image other than standard `.vdi`, you shall change `configs/make-debug-tool` accordingly.
+
+Locate this particular line:
+
+```
+-drive id=disk,file="machine/disk0.vdi",if=none \
+```
+
+and replace the default path with your preferred.
+
+There are also many other ways to create disk image, such as the aforementioned `qemu-img`.
+
+The next thing is about issue. In the most common situation, the master branch should be stable in aforementioned running environments. However, one might encounter compiler-optimization related issue when they compiled with `-O2`. Such condition will usually be addressed and fixed in the following commits. Should the issue remains, please post your issue here.
+
+To maximize the value of this section, we will provide some FAQ below that hopefully resolve some "not working" complains:
+
+#### Q1: Prompting "i8042: not found" after boot in QEMU
+
+This is a issue related to misconfiguration of ACPI table in QEMU, and has been addressed in version 7.0.0.
+
+#### Q2: General Protection exception get triggered.
+
+It is possible a race condition result from multiprogramming. This is not possible in current stage, and we however encourage you to report in case of it.
+
+#### Q3: Prompting "AHCI: Not found." after boot in Bochs
+
+This is an expected behaviour, as Bochs does not support SATA!
+