mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:17:44 +00:00
Kernel: Stop bootloader from setting video mode with Multiboot
Meta: Update INSTALL.md and grub configs for new boot_mode option
This commit is contained in:
parent
eae4843712
commit
7bc871ca8d
5 changed files with 18 additions and 10 deletions
|
@ -47,4 +47,4 @@ $ cu -s 57600 -l /dev/ttyUSB0
|
||||||
|
|
||||||
## Troubleshooting boot issues without a serial port
|
## Troubleshooting boot issues without a serial port
|
||||||
|
|
||||||
Serenity is a graphical OS and thus boots directly to the desktop. If your computer doesn't have a serial port and it fails to boot, you can force Serenity to boot into text mode by editing **Kernel/Arch/i386/Boot/boot.S** and removing **| MULTIBOOT_VIDEO_MODE** from the end of the **multiboot_flags** line before (re)running **make** and **make install**.
|
Serenity is a graphical OS and thus boots directly to the desktop. If your computer doesn't have a serial port and it fails to boot, you can force Serenity to boot into text mode by selecting the **SerenityOS (text mode)** option in GRUB.
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
.set MULTIBOOT_MAGIC, 0x1badb002
|
.set MULTIBOOT_MAGIC, 0x1badb002
|
||||||
.set MULTIBOOT_PAGE_ALIGN, 0x1
|
.set MULTIBOOT_PAGE_ALIGN, 0x1
|
||||||
.set MULTIBOOT_MEMORY_INFO, 0x2
|
.set MULTIBOOT_MEMORY_INFO, 0x2
|
||||||
.set MULTIBOOT_VIDEO_MODE, 0x4
|
.set multiboot_flags, MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO
|
||||||
.set multiboot_flags, MULTIBOOT_PAGE_ALIGN | MULTIBOOT_MEMORY_INFO | MULTIBOOT_VIDEO_MODE
|
|
||||||
.set multiboot_checksum, -(MULTIBOOT_MAGIC + multiboot_flags)
|
.set multiboot_checksum, -(MULTIBOOT_MAGIC + multiboot_flags)
|
||||||
|
|
||||||
.section .multiboot
|
.section .multiboot
|
||||||
|
@ -20,12 +19,6 @@
|
||||||
.long 0x00000000 /* bss_end_addr */
|
.long 0x00000000 /* bss_end_addr */
|
||||||
.long 0x00000000 /* entry_addr */
|
.long 0x00000000 /* entry_addr */
|
||||||
|
|
||||||
/* for MULTIBOOT_VIDEO_MODE */
|
|
||||||
.long 0x00000000 /* mode_type */
|
|
||||||
.long 1280 /* width */
|
|
||||||
.long 1024 /* height */
|
|
||||||
.long 32 /* depth */
|
|
||||||
|
|
||||||
.section .stack, "aw", @nobits
|
.section .stack, "aw", @nobits
|
||||||
stack_bottom:
|
stack_bottom:
|
||||||
.skip 32768
|
.skip 32768
|
||||||
|
|
|
@ -5,6 +5,11 @@ menuentry 'SerenityOS (normal)' {
|
||||||
multiboot /boot/Kernel root=/dev/hda5
|
multiboot /boot/Kernel root=/dev/hda5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
menuentry 'SerenityOS (text mode)' {
|
||||||
|
root=hd0,5
|
||||||
|
multiboot /boot/Kernel boot_mode=text root=/dev/hda5
|
||||||
|
}
|
||||||
|
|
||||||
menuentry 'SerenityOS (No ACPI)' {
|
menuentry 'SerenityOS (No ACPI)' {
|
||||||
root=hd0,5
|
root=hd0,5
|
||||||
multiboot /boot/Kernel root=/dev/hda5 acpi=off
|
multiboot /boot/Kernel root=/dev/hda5 acpi=off
|
||||||
|
|
|
@ -5,6 +5,11 @@ menuentry 'SerenityOS (normal)' {
|
||||||
multiboot /boot/Kernel root=/dev/hda2
|
multiboot /boot/Kernel root=/dev/hda2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
menuentry 'SerenityOS (text mode)' {
|
||||||
|
root=hd0,2
|
||||||
|
multiboot /boot/Kernel boot_mode=text root=/dev/hda2
|
||||||
|
}
|
||||||
|
|
||||||
menuentry 'SerenityOS (No ACPI)' {
|
menuentry 'SerenityOS (No ACPI)' {
|
||||||
root=hd0,2
|
root=hd0,2
|
||||||
multiboot /boot/Kernel root=/dev/hda2 acpi=off
|
multiboot /boot/Kernel root=/dev/hda2 acpi=off
|
||||||
|
|
|
@ -5,6 +5,11 @@ menuentry 'SerenityOS (normal)' {
|
||||||
multiboot /boot/Kernel root=/dev/hda1
|
multiboot /boot/Kernel root=/dev/hda1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
menuentry 'SerenityOS (text mode)' {
|
||||||
|
root=hd0,1
|
||||||
|
multiboot /boot/Kernel boot_mode=text root=/dev/hda1
|
||||||
|
}
|
||||||
|
|
||||||
menuentry 'SerenityOS (No ACPI)' {
|
menuentry 'SerenityOS (No ACPI)' {
|
||||||
root=hd0,1
|
root=hd0,1
|
||||||
multiboot /boot/Kernel root=/dev/hda1 acpi=off
|
multiboot /boot/Kernel root=/dev/hda1 acpi=off
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue