mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:17:45 +00:00
Kernel: Separate framebuffers from bootmode
Bootmode used to control framebuffers, panic behavior, and SystemServer. This patch factors framebuffer control into a separate flag. Note that the combination 'bootmode=self-test fbdev=on' leads to unexpected behavior, which can only be fixed in a later commit.
This commit is contained in:
parent
314b8a374b
commit
542a88a7be
16 changed files with 26 additions and 26 deletions
|
@ -56,5 +56,5 @@ framebuffer with 8x8 font glyphs.
|
|||
You can force capable multiboot bootloaders to boot Serenity into high resolution mode by editing **Kernel/Arch/i386/Boot/boot.S** and
|
||||
adding **| MULTIBOOT_VIDEO_MODE** to the end of the **multiboot_flags** before building Serenity.
|
||||
|
||||
Setting a boot argument of `boot_mode=no-fbdev` will force the kernel to not initialize any framebuffer devices, hence allowing the system
|
||||
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`.
|
||||
|
|
|
@ -87,7 +87,7 @@ menuentry 'SerenityOS - netboot diskless text mode' {
|
|||
set gfxkeep=text
|
||||
terminal_output console
|
||||
echo 'Loading prekernel...'
|
||||
multiboot (tftp)/serenity/prekernel root=/dev/ramdisk0 boot_mode=text
|
||||
multiboot (tftp)/serenity/prekernel root=/dev/ramdisk0 fbdev=off
|
||||
echo 'Loading kernel...'
|
||||
module (tftp)/serenity/kernel
|
||||
echo 'Loading ramdisk...'
|
||||
|
@ -179,7 +179,7 @@ For troubleshooting purposes, you can add the following command line arguments i
|
|||
- `disable_uhci_controller`
|
||||
|
||||
Because iPXE (unlike GRUB) doesn't support VESA VBE modesetting when booting a multiboot kernel,
|
||||
you might not see any output, so add the `boot_mode=text` argument as well to boot into VGA text mode.
|
||||
you might not see any output, so add the `fbdev=off` argument as well to boot into VGA text mode.
|
||||
|
||||
Afterwards you will need to enable the `console` iPXE command by uncommenting the following line in `src/config/general.h`:
|
||||
```c
|
||||
|
|
|
@ -114,6 +114,6 @@ lines will boot SerenityOS in self-test mode, run tests, and exit.
|
|||
|
||||
```sh
|
||||
export SERENITY_RUN=ci
|
||||
export SERENITY_KERNEL_CMDLINE="boot_mode=self-test"
|
||||
export SERENITY_KERNEL_CMDLINE="fbdev=off boot_mode=self-test"
|
||||
ninja run
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue