mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-25 00:50:22 +00:00
Everywhere: Get rid of the fbdev kernel boot argument remainders
This commit is contained in:
parent
a5cef2c41a
commit
6164729d06
Notes:
sideshowbarker
2024-07-17 08:36:27 +09:00
Author: https://github.com/supercomputer7 Commit: https://github.com/SerenityOS/serenity/commit/6164729d06 Pull-request: https://github.com/SerenityOS/serenity/pull/14834
14 changed files with 15 additions and 16 deletions
2
.github/workflows/cmake.yml
vendored
2
.github/workflows/cmake.yml
vendored
|
@ -191,7 +191,7 @@ jobs:
|
|||
working-directory: ${{ github.workspace }}/Build/${{ matrix.arch }}
|
||||
env:
|
||||
SERENITY_QEMU_CPU: "max,vmx=off"
|
||||
SERENITY_KERNEL_CMDLINE: "fbdev=off panic=shutdown system_mode=self-test"
|
||||
SERENITY_KERNEL_CMDLINE: "graphics_subsystem_mode=off panic=shutdown system_mode=self-test"
|
||||
SERENITY_RUN: "ci"
|
||||
run: |
|
||||
echo "::group::ninja run # Qemu output"
|
||||
|
|
|
@ -81,7 +81,7 @@ has set up before booting the Kernel, don't initialize any driver.
|
|||
* **`system_mode`** - This parameter is not interpreted by the Kernel, and is made available at `/proc/system_mode`. SystemServer uses it to select the set of services that should be started. Common values are:
|
||||
- **`graphical`** (default) - Boots the system in the normal graphical mode.
|
||||
- **`self-test`** - Boots the system in self-test, validation mode.
|
||||
- **`text`** - Boots the system in text only mode. (You may need to also set **`fbdev=off`**.)
|
||||
- **`text`** - Boots the system in text only mode. (You may need to also set **`graphics_subsystem_mode=off`**.)
|
||||
|
||||
* **`time`** - This parameter expects one of the following values. **`modern`** - This configures the system to attempt
|
||||
to use High Precision Event Timer (HPET) on boot. **`legacy`** - Configures the system to use the legacy programmable interrupt
|
||||
|
|
|
@ -56,7 +56,6 @@ 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 `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`.
|
||||
Setting a boot argument of `graphics_subsystem_mode=limited` 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.
|
||||
|
|
|
@ -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 fbdev=off
|
||||
multiboot (tftp)/serenity/prekernel root=/dev/ramdisk0 graphics_subsystem_mode=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 `fbdev=off` argument as well to boot into VGA text mode.
|
||||
you might not see any output, so add the `graphics_subsystem_mode=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
|
||||
|
|
|
@ -116,6 +116,6 @@ the default value `halt` keeps qemu around, which allows you to inspect the stat
|
|||
|
||||
```sh
|
||||
export SERENITY_RUN=ci
|
||||
export SERENITY_KERNEL_CMDLINE="fbdev=off system_mode=self-test"
|
||||
export SERENITY_KERNEL_CMDLINE="graphics_subsystem_mode=off system_mode=self-test"
|
||||
ninja run
|
||||
```
|
||||
|
|
|
@ -49,7 +49,7 @@ UNMAP_AFTER_INIT void CommandLine::initialize()
|
|||
// I know, we don't do legacy, but even though I eliminated 'boot_mode' from the codebase, there
|
||||
// is a good chance that someone's still using it. Let's be nice and tell them where to look.
|
||||
// TODO: Remove this in 2022.
|
||||
PANIC("'boot_mode' is now split into panic=[halt|shutdown], fbdev=[on|off], and system_mode=[graphical|text|selftest].");
|
||||
PANIC("'boot_mode' is now split into panic=[halt|shutdown], graphics_subsystem_mode=[on|limited|off], and system_mode=[graphical|text|selftest].");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ jobs:
|
|||
timeoutInMinutes: 60
|
||||
env:
|
||||
SERENITY_QEMU_CPU: 'max,vmx=off'
|
||||
SERENITY_KERNEL_CMDLINE: 'fbdev=off panic=shutdown system_mode=self-test'
|
||||
SERENITY_KERNEL_CMDLINE: 'graphics_subsystem_mode=off panic=shutdown system_mode=self-test'
|
||||
SERENITY_RUN: 'ci'
|
||||
|
||||
- script: |
|
||||
|
|
|
@ -49,7 +49,7 @@ fi
|
|||
|
||||
echo "Using 'ninja run' to generate manpages ..."
|
||||
export SERENITY_RUN="ci"
|
||||
export SERENITY_KERNEL_CMDLINE="fbdev=off panic=shutdown system_mode=generate-manpages"
|
||||
export SERENITY_KERNEL_CMDLINE="graphics_subsystem_mode=off panic=shutdown system_mode=generate-manpages"
|
||||
# The 'sed' gets rid of the clear-screen escape sequence.
|
||||
ninja -C "$BUILD_DIR" -- run | sed -re 's,''c,,'
|
||||
echo
|
||||
|
|
|
@ -13,7 +13,7 @@ LABEL SerenityOS
|
|||
LABEL SerenityOSText
|
||||
MENU LABEL SerenityOS (text mode)
|
||||
KERNEL mboot.c32
|
||||
APPEND ../Prekernel root=/dev/hda1 fbdev=off --- ../Kernel
|
||||
APPEND ../Prekernel root=/dev/hda1 graphics_subsystem_mode=off --- ../Kernel
|
||||
|
||||
LABEL SerenityOSNoACPI
|
||||
MENU LABEL SerenityOS (No ACPI)
|
||||
|
|
|
@ -8,7 +8,7 @@ menuentry 'SerenityOS (normal)' {
|
|||
|
||||
menuentry 'SerenityOS (text mode)' {
|
||||
root=hd0,5
|
||||
multiboot /boot/Prekernel fbdev=off root=/dev/hda4
|
||||
multiboot /boot/Prekernel graphics_subsystem_mode=off root=/dev/hda4
|
||||
module /boot/Kernel
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ menuentry 'SerenityOS (normal)' {
|
|||
|
||||
menuentry 'SerenityOS (text mode)' {
|
||||
root=hd0,2
|
||||
multiboot /boot/Prekernel fbdev=off root=/dev/hda2
|
||||
multiboot /boot/Prekernel graphics_subsystem_mode=off root=/dev/hda2
|
||||
module /boot/Kernel
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ menuentry 'SerenityOS (normal)' {
|
|||
|
||||
menuentry 'SerenityOS (text mode)' {
|
||||
root=hd0,1
|
||||
multiboot /boot/Prekernel fbdev=off root=/dev/hda1
|
||||
multiboot /boot/Prekernel graphics_subsystem_mode=off root=/dev/hda1
|
||||
module /boot/Kernel
|
||||
}
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ MODULE_PATH=boot://2/boot/Kernel
|
|||
|
||||
:SerenityOS (text mode)
|
||||
PROTOCOL=multiboot1
|
||||
CMDLINE=fbdev=off root=/dev/hda2
|
||||
CMDLINE=graphics_subsystem_mode=off root=/dev/hda2
|
||||
KERNEL_PATH=boot://2/boot/Prekernel
|
||||
MODULE_PATH=boot://2/boot/Kernel
|
||||
|
||||
|
|
|
@ -433,7 +433,7 @@ if [[ "$CMD" =~ ^(build|install|image|copy-src|run|gdb|test|rebuild|recreate|kad
|
|||
build_image
|
||||
# In contrast to CI, we don't set 'panic=shutdown' here,
|
||||
# in case the user wants to inspect qemu some more.
|
||||
export SERENITY_KERNEL_CMDLINE="fbdev=off system_mode=self-test"
|
||||
export SERENITY_KERNEL_CMDLINE="graphics_subsystem_mode=off system_mode=self-test"
|
||||
export SERENITY_RUN="ci"
|
||||
build_target run
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue