-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Open source composition of Edition 3 #1063
Comments
Thanks for the suggestion and for offering to help! Right now, the main blocker is that I'm still not satisfied with the new build system. In its current state, we wouldn't be able to use the default The best solution for this is to support more
I know that implementing these in cargo isn't an easy task, but it would help very much in bringing the third edition forward. |
Submitted rust-lang/cargo#10084 as a fix for the showstopper that you mention — rearranges some code around so that the |
Thanks a lot for looking into this! |
I would make the point that |
Posted a video to my YouTube channel explaining how to get the VS Code option up and running as an alternative just in case the team decides not to move -Zbuild-std into |
Alright, since I kind of figured out how to design a logger on my own without the need for Edition 3-Post-3, I've decided to publish my own logger as a standalone crate for other kernels to use in the meantime. Should help speed up Post 3 by a lot. |
yo was wondering how long we got till the publishing of edition 3? |
There is an edition-3 repository branch but it hasn’t been updated since January 27 (and I have submitted a few pull requests to that branch myself that have yet to be considered for merging). |
@phil-opp is still working on a redesign of the bootloader crate: rust-osdev/bootloader#232 This redesign is blocking the 3rd edition. |
So that new version of the bootloader has been released; now what? Still no commits to the |
Now that the new bootloader version is ready, I can finally start to write the new posts. I plan to continue my work on the Note that I'm only working on this project in my spare time, so I can't give you a time estimate. |
Hello @phil-opp, in the first post on the section Disabling the standard library, there is an incoherent text: I think that you should change |
Good catch, thanks! Fixed in 96c8aaf. |
Post 2 still uses bootloader 0.10 — so the first thing that needs to happen is updating that post to use 0.11 instead. With an already existing migration guide, shouldn't be too difficult, and I'll definitely be glad to help with any drafts of the updated Post 2 here. |
Yes, this is the next step on my list. I try to get to it this weekend. |
Hello! By when can we expect the post 3 for edition 3? |
Post 2 has to be rewritten first because bootloader 0.11 introduces some breaking changes and it was written for 0.10 originally. Biggest change is configuration, which in 0.11 is now in the kernel's source code itself instead of Cargo.toml — see lines 94-113 of my kernel's main.rs file for an example. Another big change in 0.11 is the Also, you can now choose which firmware type (BIOS, UEFI, or both) to support instead of needing to always support everything. I've got mine in UEFI-only mode (similar to systemd-boot) since it's been more than 10 years since all systems sold on store shelves began shipping with UEFI out of the box. As for supporting screen output, I've got a crate for that so it shouldn't be difficult either. |
Not there yet of course but when @phil-opp gets to the |
Another important change worth making would be to this post: document how to depend on |
Documentation on how to load an initrd using the bootloader crate would also be welcome. |
Update: it's now possible to depend on the logger provided by |
Using pull request #1187 to fix edition-3-post-2. Should make it much easier. |
@phil-opp I write a writer that use bootloader 0.11 and pixel-based framebuffer (noto_sans_mono_bitmap) based on the code inside the bootloader crate. I can help with the code of post-03 if you want |
Merging rust-osdev/bootloader#360 might be an important step here given that it fixes what could become a potential showstopper if left alone |
Submitted pull request #1223 to get the ball rolling |
Finally figured out why #1223 was failing the Zola integration; seems the "more" and "TOC" comments are critical for the build process in that case. Completely green on the CI now, so should be ready to merge. |
Question about the embedded_graphics crate in edition 3 post 3: When implementing Display, the rust compiler throws a hell of a lot of errors (see log.txt). What version is used in that post? |
@Abelkrijgtalles That post is still work-in-progress and still contains some code examples that I just wrote down without testing. In your case, the issue seems to be that the struct is named |
Thank you! I'm looking out to the release of edition 3! |
Progress on the third edition is likely to go much faster if everyone is able to contribute. Although I’ve heard that work on the third edition is indeed in progress, there’s so far nothing visible (yet) — a “work-in-progress” branch of the repository where pre-release contribution to the third edition would be possible would at least get more contributors on board, and the more possible contributors, the faster the development of the third edition of the book would go.
The text was updated successfully, but these errors were encountered: