-
Notifications
You must be signed in to change notification settings - Fork 222
Add basic example #519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add basic example #519
Conversation
eaf59ab to
7fb97c3
Compare
|
Thank you for your contribution! I welcome improvements for our documentation, but I'm not sure that this is going in the right direction. While it's impressive that you can create a full kernel from a bash script generated from a Markdown file, a lot of the sections just contain some commands without much of an explanation of what's going on. In part that's because the tutorial is generating each and every file and sometimes there just isn't much to say. Given this, I'm not sure how the Markdown file adds much value over just providing the files for the user to look at and adding inline comments to add more explanations. |
6b4b8c3 to
d232672
Compare
63f4bf7 to
73e4e3f
Compare
|
Thanks for your Feedback! I removed the tutorial and updated usage guides. Please take a look if this is going in the right direction now. Happy to make further adjustments! |
73e4e3f to
ab34e1d
Compare
3f0fded to
1b6b5c7
Compare
- showcase an OS that boots a minimal kernel using bootloader - update usage guides Signed-off-by: Pepper Gray <hello@peppergray.xyz> Co-authored-by: Tom Dohrmann <Erbse.13@gmx.de>
1b6b5c7 to
18ec39e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work so far! This is almost ready.
| ```toml | ||
| # .cargo/config.toml | ||
| [build] | ||
| target = "x86_64-unknown-none" | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ```toml | |
| # .cargo/config.toml | |
| [build] | |
| target = "x86_64-unknown-none" | |
| ``` |
Let's also remove this.
| ```sh | ||
| $ cargo init --bin | ||
| ``` | ||
| - Define a [workspace](https://doc.rust-lang.org/cargo/reference/workspaces.html) and add your kernel as a workspace member. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're specifying the command used to create the top-level crate (cargo init --bin we should do the same for the kernel). We could remove the kernel from the members (and just use members = []) and then use cargo new kernel --bin in the workspace root.
| ``` | ||
| Run: | ||
| ```sh | ||
| $ cargo run -- bios |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| $ cargo run -- bios | |
| $ cargo run bios |
Let's be consistent with the documentation in create-disk-image.md.
(Also applies to the command below for UEFI)
Currently, it is difficult to figure out how all parts play together. There is documentation available, but it needs to be pieced together. To make things easier, it would be great to have a basic kernel that is compiled into a basic OS and booted.
Addition in this PR:
describe the setup of basic-os with basic-kernel in tutorial.mduse bashtestmd to create a shell script from the tutorialrun the shell script to generate the basic exampleadd generation of basic example from tutorial to CIThis gives newcomers a starting point and can serve as a template for new projects.
By generating the basic example from the tutorial and adding this to CI the tutorial and basic example stay consistent and recent.