Added a very hacky text UI
This commit is contained in:
parent
06fb67beca
commit
dae7b9c869
16 changed files with 296 additions and 33783 deletions
|
@ -1,51 +0,0 @@
|
|||
# Soapine configuration
|
||||
To work and do what you told it to do, Soapine uses a configuration file.
|
||||
|
||||
## Location
|
||||
Soapine will search for the configuration in:
|
||||
* `(boot partition)\soapine.cfg`
|
||||
* `(boot partition)\soapine\soapine.cfg`
|
||||
* `(boot partition)\EFI\BOOT\soapine.cfg`
|
||||
* `(boot partition)\EFI\soapine.cfg`
|
||||
|
||||
If Soapine finds the config file, he parses it and jump to his usual menu. Else, Soapine will display a stop screen saying that you need to fix your configuration
|
||||
|
||||
## Accepted value types
|
||||
* String literal (`"Hello, World!"`)
|
||||
* Decimal (`2`)
|
||||
* Hexadecimal (`0x2`)
|
||||
* Hexadecimal color (`#FFFFFF`)
|
||||
* Boolean (`true/false`)
|
||||
|
||||
## Declarations
|
||||
Declarations are values that components of Soapine will search for:
|
||||
If you declare `VERBOSE` with a value of true, Soapine will itself put in verbose mode.
|
||||
|
||||
You can do a declaration by writing the name + an equal sign + the value (using the accepted value types), that will make `NAME=VALUE`.
|
||||
|
||||
If an unused declaration is provided (for example `FORCE_SOAPINE_TO_LIKE_ME=true`), Soapine will simply ignore it, but it will still be present.
|
||||
|
||||
Here are some example declarations:
|
||||
* `MENU_BRANDING="Raphaël's Custom Soapine!!"` (string literal)
|
||||
* `MENU_HEADERBAR_BG=#FFFFFF` (Hexadecimal color)
|
||||
* `MENU_HEADERBAR_MARGIN=1` (decimal)
|
||||
* `VERBOSE=true` (boolean)
|
||||
* `LOAD_ADDRESS=0x1000` (hexadecimal)
|
||||
|
||||
## Menu entries
|
||||
Menu entries allow you to show an operating system (that can be loaded with the supported protocols!) on the menu.
|
||||
They are declared like that:
|
||||
|
||||
```c
|
||||
menu_entry "Project Jupiter" {
|
||||
|
||||
};
|
||||
```
|
||||
*(yes i decided to give a C-like syntax to it)*
|
||||
|
||||
You can put a small number of declarations inside the menu entries. (PROTOCOL, IMAGE_PATH, CMDLINE, RESOLUTION) (Providing the `PROTOCOL` and `IMAGE_PATH` declarations is required for Soapine to boot your OS!)
|
||||
|
||||
## Supported declarations
|
||||
None for now (we just got the config parser working!)
|
||||
|
||||
At least, you can still define entries!
|
|
@ -1,10 +0,0 @@
|
|||
# Soapine's philosophy
|
||||
Soapine is meant to be lightweight, while being useful to everyone:
|
||||
|
||||
* Ship the bootloader with multiple features (even the weirdest features)
|
||||
* Ability to extend the bootloader with ELF extensions: If you wanna write an extension to support PE loading, ***DO IT***.
|
||||
|
||||
Soapine is also meant to be customizable:
|
||||
|
||||
* You can modify each bit of the bootloader: If you wanna center the headerbar text, you ***CAN***
|
||||
* You can change the default values in Soapine's source code.
|
17
docs/boot/TRANSLATING.md
Normal file
17
docs/boot/TRANSLATING.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Translating AxBoot
|
||||
|
||||
To translate AxBoot, copy `en_US.c` in the `common/i18n` directory and rename it (and the translation structure) to the target language code.
|
||||
Before translating each string, open `common/i18n/i18n.c` and register the new language:
|
||||
|
||||
```c
|
||||
extern struct language i18n_xxXX;
|
||||
|
||||
struct language_selection i18n_languages[] = {
|
||||
{
|
||||
"English", // Localized language name (eg. English, Čeština, Svenska, ...)
|
||||
"en_US", // Language code
|
||||
&i18n_enUS // reference to the language structure
|
||||
},
|
||||
/* ... */
|
||||
}
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue