From b6c994b9473491a745ffb83cf69f4b8674a790c4 Mon Sep 17 00:00:00 2001 From: bzt Date: Sat, 12 Mar 2022 19:06:29 +0100 Subject: [PATCH] Added overview --- mkbootimg/OLVASSEL.md | 9 ++++++++- mkbootimg/README.md | 9 ++++++++- mkbootimg/overview.gif | Bin 0 -> 26000 bytes 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 mkbootimg/overview.gif diff --git a/mkbootimg/OLVASSEL.md b/mkbootimg/OLVASSEL.md index e28cb90..2f5fbc6 100644 --- a/mkbootimg/OLVASSEL.md +++ b/mkbootimg/OLVASSEL.md @@ -21,11 +21,18 @@ fájlrendszerek: | `ext2` | ✗No | ✔Yes | [spec](https://gitlab.com/bztsrc/bootboot/raw/binaries/specs/ext2.pdf), [dokumentáció](https://www.nongnu.org/ext2-doc/ext2.html) | | `lean` | ✗No | ✔Yes | [V0.6 spec](http://freedos-32.sourceforge.net/lean/specification.php), [V0.7 spec](http://www.fysnet.net/leanfs/specification.php) | -A kód úgy lett megírva, hogy könnyű legyen bővíteni. +A kód úgy lett megírva, hogy könnyű legyen bővíteni új fájlrendszerekkel. A kigenerált képet leellenőriztem fdisk-el, valamint a gdisk verify funkciójával. A FAT partíció tesztelve lett fsck.vfat-al és UEFI förmverrel, továbbá Raspberry Pi-n. Az ISO9660-es rész iat-vel (ISO9660 Analyzer Tool) és Linux mounttal lett tesztelve. +Áttekintés +---------- + +Itt a minden komponenst tartalmazó, teljes kép: + + + Működési módok -------------- diff --git a/mkbootimg/README.md b/mkbootimg/README.md index 641699d..34776ae 100644 --- a/mkbootimg/README.md +++ b/mkbootimg/README.md @@ -20,11 +20,18 @@ also creates an initrd or a disk partition from a directory. Supported file syst | `ext2` | ✗No | ✔Yes | [spec](https://gitlab.com/bztsrc/bootboot/raw/binaries/specs/ext2.pdf), [documentation](https://www.nongnu.org/ext2-doc/ext2.html) | | `lean` | ✗No | ✔Yes | [V0.6 spec](http://freedos-32.sourceforge.net/lean/specification.php), [V0.7 spec](http://www.fysnet.net/leanfs/specification.php) | -The code is written in a way that it is easily expandable. +The code is written in a way that it is easily expandable with new file systems. The generated image was tested with fdisk, and with the verify function of gdisk. The FAT partition was tested with fsck.vfat and with TianoCore UEFI firmware and on Raspberry Pi. The ISO9660 part tested with iat (ISO9660 Analyzer Tool) and Linux mount. +Overview +-------- + +This is the big picture, showing all components: + + + Operating Modes --------------- diff --git a/mkbootimg/overview.gif b/mkbootimg/overview.gif new file mode 100644 index 0000000000000000000000000000000000000000..75930ded4c5b797261548074c51d1ca3c8093751 GIT binary patch literal 26000 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