orust
orust copied to clipboard
fix(deps): update rust crate bootloader to 0.11
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| bootloader | dependencies | minor | 0.9 -> 0.11 |
Release Notes
rust-osdev/bootloader (bootloader)
v0.11.13
This release is compatible with Rust nightlies starting with nightly-2025-11-21.
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.12...v0.11.13
v0.11.12
This release is compatible with Rust nightlies starting with nightly-2025-11-21.
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.12...v0.11.13
v0.11.11
This release is compatible with Rust nightlies starting with nightly-2025-08-28.
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.11...v0.11.12
v0.11.10
This release is compatible with Rust nightlies starting with nightly-2025-07-24.
- Update uart_16550 to 0.3.2
- add
kernel_basemapping to the BootloaderConfig - Use Result::ok
- implement Send+Sync for MemoryRegions
- Document physical memory mapping size
- Fixes the type of target-c-int-width in target jsons. #
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.10...v0.11.11
v0.11.9
- Remove "UEFI boot" log message
- use threads instead of futures in build.rs
- Move test kernels to a separate workspace
- fix condition for running bootloader common tests
- Update
x86_64to0.15.2 - change rustc-abi in custom targets to x86-softfloat
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.9...v0.11.10
v0.11.8
This release is compatible with Rust nightlies starting with nightly-2024-11-23.
- copy more PML4 entries
- Convert LF to CRLF when writing to serial port
- Update x86_64 & fix build on latest nightly
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.8...v0.11.9
v0.11.7
- avoid 32-bit relocation to __BOOTLOADER_CONFIG
- Fix doc comment and error message only referencing the BIOS but used for UEFI
- Ensure all page table frames are mapped as writable
- Guard the lower 1MB of memory
- always cover at least the first 4 GiB of physical memory
- Fixed "jc fail" instructions not working properly and updated README.md
- Remove 3dnow features from stage4 target
- mention E820 in docs for UnknownBios
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.7...v0.11.8
v0.11.6
- Set
NO_EXECUTEflag for all writable memory regions by @phil-opp in #409 - adapt data layout to match LLVM's by @tsatke in #420
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.6...v0.11.7
v0.11.5
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.5...v0.11.6
v0.11.4
- RacyCell<T>: Data race allowed on
T - Update license field following SPDX 2.1 license expression standard
- kernel image fields & zero out rbp
- Update
rustixdependency - Add an additional MB of space to the generated FAT partition
- Fix: Enable test runner again
- Fix: Mark
ramdiskas used in memory map
Full Changelog: https://github.com/rust-osdev/bootloader/compare/v0.11.4...v0.11.5
v0.11.3
v0.11.2
- Fix internal error in Cargo.toml setup that prevented publishing 0.11.1
v0.11.0
Major rewrite of the bootloader crate with various breaking changes:
- Separate API crate: The bootloader is now split into two parts: An API crate to make kernels loadable by the bootloader and the actual bootloader implementation. This makes the build process for kernels much easier and faster.
- New config system: Instead of configuring the bootloader via a special table in the
Cargo.toml, the configuration now happens through a normal Rust struct, which is part of theentry_point!macro. The macro then serializes the config struct at compile time and places it in a special ELF output section. The compile time serialization happens through a manually implementedconst fnof the config struct. - Load the kernel at runtime: The bootloader is now able to load files from FAT partitions at runtime. Thus, we don't need to link the kernel into the bootloader executable anymore. As a result, we don't need to recompile the bootloader on kernel changes anymore. We also load the config at runtime from the kernel's ELF section, which eliminates the second reason for recompiling the bootloader as well.
- Split into sub-crates: Since the bootloader build process does not need access to the kernel executable or its
Cargo.tomlanymore, we can build the different parts of the bootloader independently. For example, the BIOS boot sector is now a separate crate, and the UEFI bootloader is too. - Library to create disk images: To create an abstraction the complex build steps of the different bootloader executables, we compile them inside cargo build scripts. At the top level, we provide a
bootloaderlibrary crate, which compiles everything as part of its build script. This library includes functions for creating BIOS and UEFI disk images for a given kernel. These functions can be used e.g. from a builder crate or a build script of the downstream operating system.
See our migration guides for details.
v0.10.13
- Add dynamic range configuration (#229)
- Fix boot for machines that report memory regions at high physical addresses (see #259)
- Correct typos in
src/binary/level_4_entries.rs(#228)
v0.10.12
- Add support for position independent executables (#206)
- Add optional ASLR (#221)
- Logger: nicer font rendering into framebuffer (#213)
- Fix warnings on latest nightly (
maybe_uninit_extrais no longer feature-gated) (#222) - Rework
UsedLevel4Entries(#219) - Add small doc-comment to entry_point! macro (#220)
v0.10.11
- Remove feature flag for
lang_items,asmandglobal_asm(#210) - Use
set_regmethod ofCS,DS,ESandSSsegment structs (#211)
v0.10.10
- Fix
asmimports on latest nightly (#209)
v0.10.9
- Add support for framebuffer configuration (#179)
v0.10.8
v0.10.7
- Fix
relocation-modelfield name in the target spec json (#186)- This effectively changes the
relocation-modelfrompictostatic. Please report if you encounter any issues because of this. - This fixes the compilation warnings on the latest nightlies.
- This effectively changes the
v0.10.6
- Identity-map GDT into kernel address space to fix
iretq(#175) - Uefi: Look for an ACPI2 RSDP first (#174)
- Don't check target architecture for builder crate to support cross-compiling (#176)
v0.10.5
- Fix build on latest Rust nightlies by updating
uefi-rsdependency (#170)- Also: Fix warnings about
.intel_syntaxattribute in assembly code
- Also: Fix warnings about
v0.10.4
- Fix build on latest Rust nightly by updating to
uefiv0.9.0 (#162) - Fix higher half kernels by identity mapping context switch fn earlier (#161)
- Also: improve reporting of mapping errors
v0.10.3
- Change register used in setting SS in stage_4 (#156)
v0.10.2
- Use new
asm!syntax instead of deprecatedllvm_asm!(#154) - Reduce the number of used unstable features of x86_64 crate (#155)
v0.10.1
- Add dynamic range configuration (#229)
- Fix boot for machines that report memory regions at high physical addresses (see #259)
- Correct typos in
src/binary/level_4_entries.rs(#228)
v0.10.0
- Rewrite for UEFI support (#130)
- Includes a new build process that no longer uses the
bootimagecrate. See the Readme for details.
- Includes a new build process that no longer uses the
v0.9.30
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package [email protected] --precise 0.11.12
error: failed to acquire package cache lock
Caused by:
failed to open: /home/ubuntu/.cargo/.package-cache
Caused by:
failed to create directory `/home/ubuntu/.cargo`
Caused by:
File exists (os error 17)