diff options
author | Andrew Robbins <contact@andrewrobbins.info> | 2018-12-25 21:41:27 -0500 |
---|---|---|
committer | Andrew Robbins <contact@andrewrobbins.info> | 2018-12-25 21:41:27 -0500 |
commit | c9e5a6b91406fe0e1b8188c2818c5e2f7ad3e267 (patch) | |
tree | ed2e90f3927d0b3094121c42b338e38463057281 /projects/coreboot/configs/kgpe-d16/textmode/2mb/targets | |
parent | 4f989bf93a6b8c1a6ce0f38adf47469cd58493e0 (diff) | |
download | librebootfr-c9e5a6b91406fe0e1b8188c2818c5e2f7ad3e267.tar.gz librebootfr-c9e5a6b91406fe0e1b8188c2818c5e2f7ad3e267.zip |
Automate updating SeaGRUB floppy image blocklists
Related issue #553
Determining the byte offset of core.img on the SeaGRUB floppy
is accomplished using grub_bo(), though it is memory bound as it
requires reading hex dumps for the pattern and comparand into memory.
The blocklists that are stored in the boot record and core.img are
sector numbers. Of particular note is the blocklist written
to core.img is always the location of its *second*
sector--not the first.
Blocklists are used because floppy disks DO NOT have an MBR or
MBR gap as the filesystem spans the entire disk. Consequently, the
core.img cannot be stored in the usual ~1MiB gap. Unfortunately,
using blocklists means they will have to be updated whenever
core.img is moved.
New functions added to grub-helper:
* grub_bo
* grub_bo_dump
* grub_bo_search
* grub_blocklist_format
* grub_blocklist_generate
* grub_floppy_image_make_bootable
* grub_floppy_image_update_blocklists
Diffstat (limited to 'projects/coreboot/configs/kgpe-d16/textmode/2mb/targets')
0 files changed, 0 insertions, 0 deletions