-
Notifications
You must be signed in to change notification settings - Fork 2
Boot keys
When booting AQUA, you can press certain keys to enable specific features. These are known as "boot keys". As of now, there are 5 different boot keys you can press. These are detected before IRQs are enabled, so there is no problem for specific devices that may not support them.
Pressing the "N" key will enter the kernel shell instead of booting into the AQUA DE. This is mainly used for debugging, and will only properly work if you are in text mode (in the future, upon pressing this boot key, AQUA will automatically switch to 80x25 text mode).
- IRQs are disabled, so the mouse cursor will not work and other functions that need IRQs to function (such as the PIT) will not work.
Pressing the "B" key will force serial output in the kernel as well as in the AQUA DE. This is mainly used, again, for debugging. This will only really be of use when booting in graphics modes, as you can not see the print output stream.
- Booting will be a lot slower, as each action will have to wait for the previous one's output to be sent through the serial port (or be piped to the host OS in the case of running AQUA in a virtual environment).
- Some specific actions in the DE will take longer
Pressing the "V" key will run an ACPI shutdown before AQUA can do anything else. If it fails to shutdown, AQUA will proceed with the normal boot process. This is mainly used if you accidentally run AQUA, and you don't want to wait for it too boot, so that you can power it off from inside the DE or in the kernel shell.
Force serial output (in the DE)
Pressing the "C" key will force serial output only in the AQUA DE. This has the same use cases as forcing the serial output in the kernel as well, but this boot key is mainly just used for debugging only the DE.
- Some specific actions in the DE will take longer
Pressing the "E" key will prevent IRQs from ever being enabled. This is used to make AQUA run on some specific devices that may not support them.
- IRQs are disabled, so the mouse cursor will not work and other functions that need IRQs to function (such as the PIT) will not work.
Pressing the "A" key will boot into the generic external binary. This is a binary file located in external_objs/
.
- The kernel / OS has absolutely no control on what the external binary does. It can access kernel functions all it likes, so don't build with external binaries coming from untrusted sources.
- If no external binary is found, the kernel will just power off.