Skip to content

Commit

Permalink
Fix linter
Browse files Browse the repository at this point in the history
  • Loading branch information
mariapana committed Aug 22, 2024
1 parent 749c645 commit 2bbe5a1
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions content/blog/2024-08-22-gsoc-multiboot2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ While the initial exploration was promising, a roadblock was soon encountered.
This time, I will delve deeper into the challenges I faced and the solutions implemented to overcome them.

## The `helloworld` Odyssey Comes to an End

The `helloworld` application was failing due to an incorrect memory region allocation for the command line (`cmdline`) argument.
The issue seems to have had its roots in the way GRUB was placing the command line arguments between the code segmnent and the read-only data segment.
This placement was inconsistent with the expected memory layout:
Expand All @@ -34,6 +35,7 @@ According to him, a currently open PR proposes that such cases will be handled b
The first is used by Unikraft to parse and modify arguments, while the second contains what GRUB provides.
Therefore, we now coalesce all memory regions except the `cmdl`, which is afterwards allocated separately and populated with the original command line arguments.
This way, the memory region for the commandline is placed at the start of the boot memory map, without interfering with the rest of the memory regions:

```log
000000001000-000000002000 000000001000-000000001020 r-- 0000000000001000 cmdl <--
000000002000-000000003000 000000002000-00000000200b rw- 0000000000002000 krnl
Expand All @@ -54,11 +56,10 @@ This way, the memory region for the commandline is placed at the start of the bo
With this change, the `helloworld` application now works as expected🎉!
I probably was never as happy to see a simple "Hello, World!" message printed on the screen as I was then.

Check failure on line 57 in content/blog/2024-08-22-gsoc-multiboot2.mdx

View workflow job for this annotation

GitHub Actions / Markdown Linter

line per sentence one line (and only one line) per sentence [Expected one sentence per line. Multiple end of sentence punctuation signs found on one line!]

Still...

> see a **SIMPLE** "Hello, World!" message printed on the screen
...just the `helloworld` application working is not going to cut it.
Simple, huh?
Yeah, only the `helloworld` application working is not going to cut it.

While `helloworld` provided a valuable initial test, the app doesn't actually use all the implemented Multiboot2 tags (i.e. the handling of the `MULTIBOOT2_TAG_TYPE_MODULE` tag had yet to be tested).
Therefore, the next step was to "behead" a more complex application.
Expand Down Expand Up @@ -105,4 +106,5 @@ That being said, the journey doesn't end here.
Even with Multiboot2 being functional now, there are still plenty of ways to go beyond.
So, (un)fortunately, this is not the last you'll hear from me.

Until then, thank you for coming along the journey! Toodles!👋
Until then, thank you for coming along the journey!
Toodles!👋

0 comments on commit 2bbe5a1

Please sign in to comment.