Merge branch 'post-03-new' into post-04-new

This commit is contained in:
Philipp Oppermann
2019-04-26 12:45:43 +02:00
7 changed files with 27 additions and 17 deletions

View File

@@ -73,6 +73,5 @@ before_test:
- cargo install-latest cargo-xbuild bootimage - cargo install-latest cargo-xbuild bootimage
test_script: test_script:
- bootimage build - cargo xbuild
- if %target%==x86_64-pc-windows-gnu cargo test - cargo bootimage
- if %target%==x86_64-pc-windows-msvc cargo test

5
.cargo/config Normal file
View File

@@ -0,0 +1,5 @@
[build]
target = "x86_64-blog_os.json"
[target.'cfg(target_os = "none")']
runner = "bootimage runner"

View File

@@ -30,10 +30,9 @@ cache:
before_script: before_script:
- rustup component add rust-src llvm-tools-preview - rustup component add rust-src llvm-tools-preview
- (test -x $HOME/.cargo/bin/cargo-install-latest || cargo install cargo-install-latest) - cargo install cargo-xbuild bootimage cargo-cache --debug -Z install-upgrade
- cargo install-latest cargo-xbuild bootimage cargo-cache
script: script:
- bootimage build - cargo xbuild
- cargo test - cargo bootimage
- cargo cache --autoclean - cargo cache --autoclean

6
Cargo.lock generated
View File

@@ -22,7 +22,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
name = "blog_os" name = "blog_os"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"bootloader 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "bootloader 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"spin 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)", "spin 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
"volatile 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "volatile 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -30,7 +30,7 @@ dependencies = [
[[package]] [[package]]
name = "bootloader" name = "bootloader"
version = "0.5.2" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [ dependencies = [
"fixedvec 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "fixedvec 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -241,7 +241,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum array-init 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "23589ecb866b460d3a0f1278834750268c607e8e28a1b982c907219f3178cd72" "checksum array-init 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "23589ecb866b460d3a0f1278834750268c607e8e28a1b982c907219f3178cd72"
"checksum bit_field 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed8765909f9009617974ab6b7d332625b320b33c326b1e9321382ef1999b5d56" "checksum bit_field 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ed8765909f9009617974ab6b7d332625b320b33c326b1e9321382ef1999b5d56"
"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12" "checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
"checksum bootloader 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2735a1e3ddf16e6832fff86db617778dd3cecd5804fc8c2f20f448750d4c989c" "checksum bootloader 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8654b1ebbd38d2a8687a451ad53466d01b5edc9d75ec63d676525a6103d77151"
"checksum fixedvec 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7c6c16d316ccdac21a4dd648e314e76facbbaf316e83ca137d0857a9c07419d0" "checksum fixedvec 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7c6c16d316ccdac21a4dd648e314e76facbbaf316e83ca137d0857a9c07419d0"
"checksum font8x8 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b81d84c3c978af7d05d31a2198af4b9ba956d819d15d8f6d58fc150e33f8dc1f" "checksum font8x8 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b81d84c3c978af7d05d31a2198af4b9ba956d819d15d8f6d58fc150e33f8dc1f"
"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" "checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"

View File

@@ -5,7 +5,7 @@ authors = ["Philipp Oppermann <dev@phil-opp.com>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
bootloader = "0.5.1" bootloader = "0.6.0"
volatile = "0.2.3" volatile = "0.2.3"
spin = "0.4.9" spin = "0.4.9"

View File

@@ -19,7 +19,13 @@ cargo install cargo-xbuild bootimage
Then you can build the project by running: Then you can build the project by running:
``` ```
bootimage build cargo xbuild
```
To create a bootable disk image, run:
```
cargo bootimage
``` ```
This creates a bootable disk image in the `target/x86_64-blog_os/debug` directory. This creates a bootable disk image in the `target/x86_64-blog_os/debug` directory.
@@ -33,7 +39,7 @@ You can run the disk image in [QEMU] through:
[QEMU]: https://www.qemu.org/ [QEMU]: https://www.qemu.org/
``` ```
bootimage run cargo xrun
``` ```
Of course [QEMU] needs to be installed for this. Of course [QEMU] needs to be installed for this.

View File

@@ -52,14 +52,15 @@ steps:
- script: rustup component add rust-src llvm-tools-preview - script: rustup component add rust-src llvm-tools-preview
displayName: 'Install Rustup Components' displayName: 'Install Rustup Components'
- script: | - script: cargo install cargo-xbuild bootimage --debug
cargo install cargo-xbuild --debug
cargo install bootimage --debug
displayName: 'Install cargo-xbuild and bootimage' displayName: 'Install cargo-xbuild and bootimage'
- script: bootimage build - script: cargo xbuild
displayName: 'Build' displayName: 'Build'
- script: cargo bootimage
displayName: 'Create Bootimage'
- script: rustup component add rustfmt - script: rustup component add rustfmt
displayName: 'Install Rustfmt' displayName: 'Install Rustfmt'