GRILO – Bootloader Simulator

📆

👤

After four years of no major application after Kernel Simulator, which was out in 2018, we finally decided to release the bootloader simulator imagined, called GRILO!

You may be surprised by the origin of the name, but it’s a portmanteau of both names of the famous Linux bootloader still used by now, GNU GRUB, and the abandoned legacy Linux bootloader used by the first Linux distributions, LILO. If we combined between “GRUB” and “LILO”, one of the mashed-up words would be GRILO.

However, it’s nowhere near GRUB and LILO as it still is in the very basic state. However, we’re constantly expanding it to try to support all bootloader features across GRILO releases.

Let’s stop talking and start explaining about what we made so far. By the way, the paths that the GRILO program uses are found under either %localappdata% in Windows or .config under Linux.

Bootable Applications

Bootable applications are just normal .NET executable files that implement the IBootable interface. These applications are usually defined with their own BootMetadata.json files that define several boot options for the same application. They usually come with this format.

[
{
"OverrideTitle": "Name",
"Arguments": []
}
{
"OverrideTitle": "Name2",
"Arguments": [ "Arg1", "Arg2" ]
}
]

For example, the demo bootable application shipped with the GRILO release has the Metadata file that looks like this:

[
{
"OverrideTitle": "GRILO Bootable App Demonstration",
"Arguments": []
},
{
"OverrideTitle": "GRILO Bootable App Demonstration (with arguments)",
"Arguments": [ "hello", "hello world" ]
},
{
"OverrideTitle": "GRILO Bootable App Demonstration (test boot fail)",
"Arguments": [ "fail", "hello world" ]
}
]

These are used by GRILO to define boot entries of a bootable application. There can be more than one entry in one metadata file, in case you want to make different boot entries that use different arguments.

These bootable apps are located under GRILO/Bootables.

Boot styles

The boot styles customize how GRILO draws the boot menu entry and its highlight. They add awesomeness to the boot loader.

You can make your own custom boot styles using the simple API documentation under this link. The DLLs can be found under GRILO/Styles.

Bootloader configuration

The bootloader can also be configured. When GRILO starts for the first time, you’ll have a configuration file placed under GRILO/BootloaderConfig.json that has the following configuration entries:

Controls

Finally, we also want to talk about the bootloader controls used commonly. GRUB and LILO usually use top and bottom arrows to select the entries and the enter key to boot the selected entry.

In GRILO, these keys are used:

Get it!

If you are excited, why not try this application out by checking the Releases? If you’re a console artist and want to make boot styles or something else for the GRILO bootloader, check out its NuGet package. If you want to make your application bootable, check out GRILO.Boot.


Discover more from Aptivi

Subscribe to get the latest posts to your email.

Thoughts?

Subscribe to our newsletter?

Subscribe today to get new articles instantly delivered to you!

Not now

Design a site like this with WordPress.com
Get started