summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorkleines Filmröllchen <malu.bertsch@gmail.com>2021-12-29 12:24:19 +0100
committerBrian Gianforcaro <b.gianfo@gmail.com>2021-12-29 03:45:59 -0800
commitf650efc76f6dcc593fb2e305cf7234da3080f06d (patch)
treea42a9f196aa8b7ad5f8f856fde681e50fa2916fc /Documentation
parenta34c657eb3840ae3c17938706ccb5ec3aaf0bf27 (diff)
downloadserenity-f650efc76f6dcc593fb2e305cf7234da3080f06d.zip
Documentation: Elaborate on GRUB image flashing and video-less debugging
This should help others to not run into the same roadblocks with bare-metal that I ran into.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/BareMetalInstallation.md6
1 files changed, 4 insertions, 2 deletions
diff --git a/Documentation/BareMetalInstallation.md b/Documentation/BareMetalInstallation.md
index 9ca9ff7a58..f8a5e4c8b3 100644
--- a/Documentation/BareMetalInstallation.md
+++ b/Documentation/BareMetalInstallation.md
@@ -20,7 +20,7 @@ For more details on known working hardware see the [SerenityOS Hardware Compatib
## Creating a Serenity GRUB disk image
-Before creating a Serenity disk image, you need to build the OS as described in the [SerenityOS build instructions](BuildInstructions.md). Follow those instructions up to and including running **ninja install**. After the OS has built, run **ninja grub-image** to create a new file called **grub_disk_image** with GRUB2 installed that can be booted on a real PC.
+Before creating a Serenity disk image, you need to build the OS as described in the [SerenityOS build instructions](BuildInstructions.md). Follow those instructions up to and including running **ninja install** (`Meta/serenity.sh image <arch>`). After the OS has built, run **ninja grub-image** to create a new file called **grub_disk_image** with GRUB2 installed that can be booted on a real PC. This command requires `parted` and `grub2` (Arch: `grub`) to be installed.
The final step is copying **grub_disk_image** onto the disk you wish to use to boot Serenity using a command such as:
@@ -28,7 +28,7 @@ The final step is copying **grub_disk_image** onto the disk you wish to use to b
$ sudo dd if=grub_disk_image of=/dev/sdx bs=64M && sync
```
-Replace **/dev/sdx** with the target device. The **bs=64M** argument is optional but will speed up the data transfer.
+Replace **/dev/sdx** with the target device. The **bs=64M** argument is optional but will speed up the data transfer. You can also use any other image flashing application. Flashing under Windows is possible; you can find the WSL files under `\\wsl$\<distro name>\<path to serenity directory>`.
## Troubleshooting Serenity boot issues with Linux using a null modem (serial) cable
@@ -58,3 +58,5 @@ adding **| MULTIBOOT_VIDEO_MODE** to the end of the **multiboot_flags** before b
Setting a boot argument of `fbdev=off` will force the kernel to not initialize any framebuffer devices, hence allowing the system
to boot into console-only mode as `SystemServer` will detect this condition and will not initialize `WindowServer`.
+
+If you do not see any output, it's possible that the Kernel panics before any video is initialized. In that case, you might try debugging the init sequence with the PC speaker to see where it gets stuck.