bootimage 0.2.4

Tool to create a bootable OS image from a kernel binary.
# bootimage

Creates a bootable disk image from a Rust OS kernel.

## Installation

```
> cargo install bootimage
```

## Usage

To build the kernel project and create a bootable disk image from it, run:

```
> bootimage build --target your_custom_target [other_args]
```

The command will invoke `xargo build`, forwarding all specified options. Then it will download and build a bootloader, by default the [rust-osdev/bootloader](https://github.com/rust-osdev/bootloader). Finally, it combines the kernel and the bootloader into a bootable disk image.

## Configuration

Configuration is done through a through a `[package.metadata.bootimage]` table in the `Cargo.toml`. The following options are available:

```toml
    [package.metadata.bootimage]
    default-target = ""         # This target is used if no `--target` is passed
    output = "bootimage.bin"    # The output file name
    minimum-image-size = 0      # The minimum output file size (in MiB)

    [package.metadata.bootimage.bootloader]
    name = "bootloader"             # The bootloader crate name
    version = ""                    # The bootloader version that should be used
    git = ""                        # Use the bootloader from this git repository
    branch = ""                     # The git branch to use (defaults to master)
    path = ""                       # Use the bootloader from this local path
    precompiled = false             # Whether the bootloader crate is precompiled
    target = "x86_64-bootloader"    # Target triple for compiling the bootloader
```

If no `[package.metadata.bootimage.bootloader]` sub-table is specified, it defaults to:

```toml
name = "bootloader_precompiled"
precompiled = true
```

## License
Dual-licensed under MIT or the Apache License (Version 2.0).