1
0
Fork 0
mirror of https://gitlab.com/bztsrc/bootboot.git synced 2023-02-13 20:54:32 -05:00

Updated docs

This commit is contained in:
bzt 2020-09-17 18:57:34 +02:00
parent 7914657ce5
commit d475acef85
6 changed files with 27 additions and 13 deletions

View file

@ -25,8 +25,8 @@ memórialeképezéseket kezel, ami az 1-es protokoll szintnek felel meg.
Gyors kipróbáláshoz találsz bootolható képfájlokat az [images](https://gitlab.com/bztsrc/bootboot/tree/master/images) mappában. Gyors kipróbáláshoz találsz bootolható képfájlokat az [images](https://gitlab.com/bztsrc/bootboot/tree/master/images) mappában.
BOOTBOOT lefordítható [coreboot](https://coreboot.org) payloadként is, lásd *x86_64-cb* és *aarch64-cb*, de mivel ezek szorosan BOOTBOOT lefordítható [coreboot](https://gitlab.com/bztsrc/bootboot/tree/master/x86_64-cb) payloadként is, lásd *x86_64-cb*
kapcsolódnak a libpayload-hoz, nincs belőlük előre fordított bináris. és *aarch64-cb*, de mivel ezek szorosan kapcsolódnak a libpayload-hoz, nincs belőlük előre fordított bináris.
BOOTBOOT Protokoll BOOTBOOT Protokoll
================== ==================

View file

@ -25,8 +25,8 @@ static mappings which makes it a level 1 loader.
For a quick test, you can find example bootable disk [images](https://gitlab.com/bztsrc/bootboot/tree/master/images) too. For a quick test, you can find example bootable disk [images](https://gitlab.com/bztsrc/bootboot/tree/master/images) too.
BOOTBOOT can also be compiled as a [coreboot](https://coreboot.org) payload, see *x86_64-cb* and *aarch64-cb*, but since BOOTBOOT can also be compiled as a [coreboot](https://gitlab.com/bztsrc/bootboot/tree/master/x86_64-cb) payload,
they are tied strongly with libpayload, I do not provide binaries for those. see *x86_64-cb* and *aarch64-cb*, but since they are tied strongly with libpayload, I do not provide binaries for those.
BOOTBOOT Protocol BOOTBOOT Protocol
================= =================

View file

@ -43,6 +43,11 @@ $ make menuconfig
alatta a 'Mainboard vendor' legyen '(Emulation)' alatta a 'Mainboard vendor' legyen '(Emulation)'
alatta a 'Mainboard model' legyen 'QEMU AArch64' alatta a 'Mainboard model' legyen 'QEMU AArch64'
válaszd az 'Exit'-t válaszd az 'Exit'-t
válaszd a 'Devices' menüt
válaszd a 'Display' menüt
alatta a 'Framebuffer mode' legyen 'Linear "high-resolution" framebuffer'
válaszd az 'Exit'-t
válaszd az 'Exit'-t
válaszd a 'Payload' menüt válaszd a 'Payload' menüt
válaszd az 'Add a Payload' opciót válaszd az 'Add a Payload' opciót
válaszd ki a 'BOOTBOOT'-ot válaszd ki a 'BOOTBOOT'-ot
@ -50,6 +55,8 @@ $ make menuconfig
válaszd az 'Exit'-t válaszd az 'Exit'-t
válaszd a 'Yes'-t válaszd a 'Yes'-t
``` ```
Fontos, hogy a kijelzőt "linear framebuffer"-re állítsd, mert a BOOTBOOT nem kezeli az elavult, nem portolható VGA szöveges
módot. Sajnos a libpayload nem támogatja a futás időben való beállítást.
### 5. lépés - A coreboot fordítása ### 5. lépés - A coreboot fordítása
@ -61,7 +68,7 @@ $ make
Bővebb információért lásd a [coreboot dokumentáció](https://doc.coreboot.org/mainboard/emulation/qemu-aarch64.html)t. Bővebb információért lásd a [coreboot dokumentáció](https://doc.coreboot.org/mainboard/emulation/qemu-aarch64.html)t.
```sh ```sh
$ qemu-system-aarch64 -bios $(COREBOOT)/build/coreboot.rom -M virt,secure=on,virtualization=on -cpu cortex-a53 -m 1024M \ $ qemu-system-aarch64 -bios build/coreboot.rom -M virt,secure=on,virtualization=on -cpu cortex-a53 -m 1024M \
-drive file=$(BOOTBOOT)/images/disk-rpi.img,format=raw -serial stdio -drive file=$(BOOTBOOT)/images/disk-rpi.img,format=raw -serial stdio
``` ```

View file

@ -43,6 +43,11 @@ $ make menuconfig
Beside 'Mainboard vendor' should be '(Emulation)' Beside 'Mainboard vendor' should be '(Emulation)'
Beside 'Mainboard model' should be 'QEMU AArch64' Beside 'Mainboard model' should be 'QEMU AArch64'
select 'Exit' select 'Exit'
select 'Devices' menu
select 'Display' menu
Beside 'Framebuffer mode' should be 'Linear "high-resolution" framebuffer'
select 'Exit'
select 'Exit'
select 'Payload' menu select 'Payload' menu
select 'Add a Payload' select 'Add a Payload'
choose 'BOOTBOOT' choose 'BOOTBOOT'
@ -50,6 +55,8 @@ $ make menuconfig
select 'Exit' select 'Exit'
select 'Yes' select 'Yes'
``` ```
It is important to set the display to "linear framebuffer", because BOOTBOOT does not handle the legacy, non-portable VGA
text mode. Sadly there's no way of configuring this in run-time with libpayload.
### Step 5 - Build coreboot ### Step 5 - Build coreboot
@ -61,7 +68,7 @@ $ make
For more information, read [coreboot docs](https://doc.coreboot.org/mainboard/emulation/qemu-aarch64.html). For more information, read [coreboot docs](https://doc.coreboot.org/mainboard/emulation/qemu-aarch64.html).
```sh ```sh
$ qemu-system-aarch64 -bios $(COREBOOT)/build/coreboot.rom -M virt,secure=on,virtualization=on -cpu cortex-a53 -m 1024M \ $ qemu-system-aarch64 -bios build/coreboot.rom -M virt,secure=on,virtualization=on -cpu cortex-a53 -m 1024M \
-drive file=$(BOOTBOOT)/images/disk-rpi.img,format=raw -serial stdio -drive file=$(BOOTBOOT)/images/disk-rpi.img,format=raw -serial stdio
``` ```

View file

@ -69,7 +69,7 @@ $ make
Bővebb információért lásd a [coreboot dokumentáció](https://doc.coreboot.org/mainboard/emulation/qemu-i440fx.html)t. Az Bővebb információért lásd a [coreboot dokumentáció](https://doc.coreboot.org/mainboard/emulation/qemu-i440fx.html)t. Az
[images](https://gitlab.com/bztsrc/bootboot/tree/master/images) mappában találsz lefordított coreboot.rom binárist. [images](https://gitlab.com/bztsrc/bootboot/tree/master/images) mappában találsz lefordított coreboot.rom binárist.
```sh ```sh
$ qemu-system-x86_64 -bios $(COREBOOT)/build/coreboot.rom -drive file=$(BOOTBOOT)/images/disk-x86.img,format=raw -serial stdio $ qemu-system-x86_64 -bios build/coreboot.rom -drive file=$(BOOTBOOT)/images/disk-x86.img,format=raw -serial stdio
``` ```
Initrd hozzáadása a ROM-hoz Initrd hozzáadása a ROM-hoz
@ -82,12 +82,12 @@ $ ./mkbootimg myos.json initrd.bin
``` ```
Ezután a coreboot repójában található `cbfstool` alkalmazással lehet az initrd lemezképet a ROM képhez hozzáadni: Ezután a coreboot repójában található `cbfstool` alkalmazással lehet az initrd lemezképet a ROM képhez hozzáadni:
```sh ```sh
$ ./build/util/cbfstool/cbfstool $(COREBOOT)/build/coreboot.rom add -t raw -f $(BOOTBOOT)/initrd.bin -n bootboot/initrd $ ./build/cbfstool build/coreboot.rom add -t raw -f $(BOOTBOOT)/initrd.bin -n bootboot/initrd
``` ```
Ehhez hasonlóan hozzá lehet adni egy alapértelmezett környezeti fájlt is (csak akkor használja, ha a szokásos helyeken nem Ehhez hasonlóan hozzá lehet adni egy alapértelmezett környezeti fájlt is (csak akkor használja, ha a szokásos helyeken nem
találta): találta):
```sh ```sh
$ ./build/util/cbfstool/cbfstool $(COREBOOT)/build/coreboot.rom add -t raw -f environment.txt -n bootboot/config $ ./build/cbfstool build/coreboot.rom add -t raw -f environment.txt -n bootboot/config
``` ```
Ez természetesen csak akkor működik, ha a libpayload `CONFIG_LP_CBFS=y` opcióval lett fordítva. Ennek hiányában az initrd Ez természetesen csak akkor működik, ha a libpayload `CONFIG_LP_CBFS=y` opcióval lett fordítva. Ennek hiányában az initrd
egy "INITRD" nevű Flashmap partíción is elhelyezhető (bár az fmaptool és az fmd formátum kezelése nem kicsit pilótavizsgás). egy "INITRD" nevű Flashmap partíción is elhelyezhető (bár az fmaptool és az fmd formátum kezelése nem kicsit pilótavizsgás).

View file

@ -69,7 +69,7 @@ $ make
For more information, read the [coreboot docs](https://doc.coreboot.org/mainboard/emulation/qemu-i440fx.html). In the For more information, read the [coreboot docs](https://doc.coreboot.org/mainboard/emulation/qemu-i440fx.html). In the
[images](https://gitlab.com/bztsrc/bootboot/tree/master/images) directory you can find a precompiled coreboot.rom binary. [images](https://gitlab.com/bztsrc/bootboot/tree/master/images) directory you can find a precompiled coreboot.rom binary.
```sh ```sh
$ qemu-system-x86_64 -bios $(COREBOOT)/build/coreboot.rom -drive file=$(BOOTBOOT)/images/disk-x86.img,format=raw -serial stdio $ qemu-system-x86_64 -bios build/coreboot.rom -drive file=$(BOOTBOOT)/images/disk-x86.img,format=raw -serial stdio
``` ```
Adding Initrd to ROM Adding Initrd to ROM
@ -82,11 +82,11 @@ $ ./mkbootimg myos.json initrd.bin
``` ```
Then use the `cbfstool` utility in the coreboot repository to add the initrd image into the ROM image: Then use the `cbfstool` utility in the coreboot repository to add the initrd image into the ROM image:
```sh ```sh
$ ./build/util/cbfstool/cbfstool $(COREBOOT)/build/coreboot.rom add -t raw -f $(BOOTBOOT)/initrd.bin -n bootboot/initrd $ ./build/cbfstool build/coreboot.rom add -t raw -f $(BOOTBOOT)/initrd.bin -n bootboot/initrd
``` ```
You can add a fallback environment configuration similarily (only used if environment cannot be loaded from the usual places): You can add a fallback environment configuration similarily (only used if environment cannot be loaded from the usual places):
```sh ```sh
$ ./build/util/cbfstool/cbfstool $(COREBOOT)/build/coreboot.rom add -t raw -f environment.txt -n bootboot/config $ ./build/cbfstool build/coreboot.rom add -t raw -f $(BOOTBOOT)/environment.txt -n bootboot/config
``` ```
Obviously this can only work if libpayload was compiled with `CONFIG_LP_CBFS=y`. Without you can still place the initrd on Obviously this can only work if libpayload was compiled with `CONFIG_LP_CBFS=y`. Without you can still place the initrd on
a Flashmap partition named "INITRD" (however using the fmaptool and dealing with the fmd format is a rocket science). a Flashmap partition named "INITRD" (however using the fmaptool and dealing with the fmd format is a rocket science).
@ -106,5 +106,5 @@ Limitations
----------- -----------
- The CMOS nvram does not store timezone, so always GMT+0 returned in bootboot.timezone. - The CMOS nvram does not store timezone, so always GMT+0 returned in bootboot.timezone.
- Coreboot does not provide a way to set screen resolution, so "screen=" config option is skipped. - Coreboot does not provide a way to set screen resolution, so "screen=" config option is not used.
- Only supports SHA-XOR-CBC, no AES - Only supports SHA-XOR-CBC, no AES