mirror of
https://github.com/limine-bootloader/limine
synced 2024-12-24 14:56:49 +03:00
misc: Update README.md
This commit is contained in:
parent
7e786cee81
commit
573616d9a5
53
README.md
53
README.md
@ -20,16 +20,18 @@ such as Long Mode, 5-level paging, and SMP (multicore), to name a few.
|
|||||||
* ext2/3/4
|
* ext2/3/4
|
||||||
* echfs
|
* echfs
|
||||||
* FAT32
|
* FAT32
|
||||||
|
* ISO9660 (CDs/DVDs)
|
||||||
|
|
||||||
### Supported partitioning schemes
|
### Supported partitioning schemes
|
||||||
* MBR
|
* MBR
|
||||||
* GPT
|
* GPT
|
||||||
|
* Unpartitioned media
|
||||||
|
|
||||||
## Warning about using `unstable`
|
## Warning about using `trunk`
|
||||||
|
|
||||||
Please refrain from using the `unstable` branch of this repository directly, unless
|
Please refrain from using the `trunk` branch of this repository directly, unless
|
||||||
you have a *very* good reason to.
|
you have a *very* good reason to.
|
||||||
The `unstable` branch is unstable, and non-backwards compatible changes are made to it
|
The `trunk` branch is unstable, and non-backwards compatible changes are made to it
|
||||||
routinely.
|
routinely.
|
||||||
|
|
||||||
Use instead a [release](https://github.com/limine-bootloader/limine/releases), or a [release branch](https://github.com/limine-bootloader/limine/branches) (like v1.0-branch).
|
Use instead a [release](https://github.com/limine-bootloader/limine/releases), or a [release branch](https://github.com/limine-bootloader/limine/branches) (like v1.0-branch).
|
||||||
@ -48,19 +50,15 @@ git clone https://github.com/limine-bootloader/limine.git --branch=v1.0-branch
|
|||||||
```
|
```
|
||||||
(replace `v1.0-branch` with the chosen release branch)
|
(replace `v1.0-branch` with the chosen release branch)
|
||||||
|
|
||||||
Also note that the documentation contained in `unstable` does not reflect the
|
Also note that the documentation contained in `trunk` does not reflect the
|
||||||
documentation for the specific releases, and one should refer to the releases'
|
documentation for the specific releases, and one should refer to the releases'
|
||||||
documentation instead, contained in their files.
|
respective documentation instead, contained in their files.
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
### Building the bootloader
|
### Building the bootloader
|
||||||
Building the bootloader is not necessary as a prebuilt copy is shipped in this
|
It is necessary to first build the set of tools that the bootloader needs
|
||||||
repository (`limine.bin`).
|
in order to be built.
|
||||||
|
|
||||||
Should one want to build the bootloader to make sure the shipped copy is authentic,
|
|
||||||
to develop, to debug, or any other reason, it is necessary to first build the
|
|
||||||
set of tools that the bootloader needs in order to be built.
|
|
||||||
|
|
||||||
This can be accomplished by running:
|
This can be accomplished by running:
|
||||||
```bash
|
```bash
|
||||||
@ -73,27 +71,23 @@ After that is done, the bootloader itself can be built with:
|
|||||||
make bootloader
|
make bootloader
|
||||||
```
|
```
|
||||||
|
|
||||||
A newly generated `limine.bin` image should now be present in the root of the repo.
|
The generated bootloader files are going to be in `bin`.
|
||||||
|
|
||||||
This newly built image should match 1:1 (aka, same checksum) with the one shipped
|
|
||||||
with the respective commit.
|
|
||||||
|
|
||||||
### Compiling `limine-install`
|
### Compiling `limine-install`
|
||||||
To build the `limine-install` program, simply run `make` in the root of the repo.
|
To build the `limine-install` program, simply run `make` in the root of the repo.
|
||||||
This will embed the `limine.bin` bootloader image from the repository's root into
|
This will embed the `limine-hdd.bin` bootloader image from the `bin` directory into
|
||||||
`limine-install`, ready to be deployed to a device.
|
`limine-install`, ready to be deployed to a USB/hard drive (or disk image).
|
||||||
|
|
||||||
Then use `make install` to install it, optionally specifying a prefix with a
|
Then use `make install` to install it, optionally specifying a prefix with a
|
||||||
`PREFIX=...` option.
|
`PREFIX=...` option.
|
||||||
|
|
||||||
Installing `limine-install` is optional as it can also be used from the root of the
|
Installing `limine-install` is optional as it can also be used from the `bin` directory of the repository just fine.
|
||||||
repository just fine.
|
|
||||||
|
|
||||||
## How to use
|
## How to use
|
||||||
|
|
||||||
### MBR
|
### MBR
|
||||||
In order to install Limine on a MBR device (which can just be a raw image file),
|
In order to install Limine on a MBR device (which can just be a raw image file),
|
||||||
run the `limine-install` as such:
|
run `limine-install` as such:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
limine-install <path to device/image>
|
limine-install <path to device/image>
|
||||||
@ -116,6 +110,25 @@ In case one wants to let `limine-install` embed stage 2 within GPT's structures,
|
|||||||
simply omit the partition number, and invoke `limine-install` the same as one would
|
simply omit the partition number, and invoke `limine-install` the same as one would
|
||||||
do for an MBR partitioned device.
|
do for an MBR partitioned device.
|
||||||
|
|
||||||
|
### CD-ROM ISO creation
|
||||||
|
In order to create a bootable ISO with Limine, place the `limine-cd.bin` and
|
||||||
|
`limine.sys` files into a directory which will serve as the root of the created ISO.
|
||||||
|
(`limine.sys` must either by in the root or inside a `boot` subdirectory;
|
||||||
|
`limine-cd.bin` can reside anywhere).
|
||||||
|
|
||||||
|
Place any other file you want to be on the final ISO in said directory, then run:
|
||||||
|
```
|
||||||
|
genisoimage -no-emul-boot -b <relative path of limine-cd.bin> \
|
||||||
|
-boot-load-size 4 -boot-info-table -o myiso.iso <root directory>
|
||||||
|
```
|
||||||
|
|
||||||
|
*Note: `genisoimage` is usually part of the `cdrtools` package.*
|
||||||
|
|
||||||
|
`<relative path of limine-cd.bin>` is the relative path of `limine-cd.bin` inside
|
||||||
|
the root directory.
|
||||||
|
For example, if it was copied in `<root directory>/boot/limine-cd.bin`, it would be
|
||||||
|
`boot/limine-cd.bin`.
|
||||||
|
|
||||||
### Configuration
|
### Configuration
|
||||||
Then make sure the device/image contains at least 1 partition formatted in
|
Then make sure the device/image contains at least 1 partition formatted in
|
||||||
a supported filesystem containing a `/limine.cfg` or `/boot/limine.cfg` file
|
a supported filesystem containing a `/limine.cfg` or `/boot/limine.cfg` file
|
||||||
|
Loading…
Reference in New Issue
Block a user