Update README.md

This commit is contained in:
mintsuki 2020-09-13 15:47:43 +02:00
parent ccbba7eeb5
commit 6a6171d5e1
2 changed files with 28 additions and 8 deletions

View File

@ -6,10 +6,13 @@ CC = cc
OBJCOPY = objcopy OBJCOPY = objcopy
CFLAGS = -O2 -pipe -Wall -Wextra CFLAGS = -O2 -pipe -Wall -Wextra
.PHONY: all limine install clean echfs-test ext2-test test.img .PHONY: all toolchain limine install clean echfs-test ext2-test test.img
all: limine-install all: limine-install
toolchain:
cd toolchain && ./make_toolchain.sh -j`nproc`
limine: limine:
$(MAKE) -C src all $(MAKE) -C src all
cp src/limine.bin ./ cp src/limine.bin ./

View File

@ -18,14 +18,30 @@ x86/x86_64 BIOS Bootloader
## Building ## Building
### Dependencies ### Building the bootloader
To build Limine, it is necessary to have an LLVM/Clang toolchain installed. Building the bootloader is not necessary as a prebuilt copy is shipped in this
More specifically, the following programs need to be present: `clang`, `llvm-objcopy`, repository (`limine.bin`).
`llvm-link`, `opt`, `ld.lld`.
Furthermore, `nasm` also needs to be installed.
`curl`, `tar`, and `zstd` need to be installed for retrieving `libgcc.a` during build.
### Compiling 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:
```bash
make toolchain
```
After that is done, the bootloader itself can be built with:
```bash
make limine
```
A newly generated `limine.bin` image should now be present in the root dir of the repo.
This newly built image should match 1:1 (aka, same checksum) as the one shipped with the
respective commit.
### Compiling `limine-install`
A simple `make` and `make install` will suffice. Use the PREFIX variable with A simple `make` and `make install` will suffice. Use the PREFIX variable with
`make install` to specify where to install `limine-install`. It defaults to `make install` to specify where to install `limine-install`. It defaults to
`/usr/local`. `/usr/local`.
@ -76,6 +92,7 @@ limine-install test.img
One can get `echfs-utils` by installing https://github.com/qword-os/echfs. One can get `echfs-utils` by installing https://github.com/qword-os/echfs.
## Acknowledgments
Limine uses a stripped-down version of https://github.com/jibsen/tinf Limine uses a stripped-down version of https://github.com/jibsen/tinf
## Discord server ## Discord server