aboutsummaryrefslogtreecommitdiff
path: root/projects/grub/configs/bios
Commit message (Collapse)AuthorAgeFilesLines
* Include FAT fs support in BIOS GRUB core.imgAndrew Robbins2018-12-251-0/+1
| | | | | The SeaGRUB floppy image has a FAT12 filesystem and GRUB needs to be able to read it in order to load modules stored there.
* Refactor SeaGRUB floppy creation codeAndrew Robbins2018-12-251-1/+1
| | | | | | | | | | | | | | | | | | | Related issue #553 Previously, the GRUB boot image and core image were concatenated together and padding added to create a (pseudo) floppy image. However, testing revealed that GRUB has issues dynamically loading modules from $prefix if $prefix is not located on the same device from which GRUB booted. In order to get around this issue, a proper 2.88MiB floppy image is created using mkfs.fat with GRUB modules copied to directories on the filesystem (i.e, /boot/grub/i386-pc). The 2.88MiB filesystem size is necessary to be able to fit all modules onto the image. New functions added to grub-helper: * grub_floppy_image_mmd (create directories on image using mtools mmd) * grub_floppy_image_mcopy (copy files to image using mtools mcopy)
* Load modules from (fd0) in GRUB bios target configAndrew Robbins2018-12-041-3/+3
| | | | | | | | (fd0) should be the proper device for SeaGRUB. $prefix is set using (fd0) as the device considering modules will be placed onto the floppy image--not in CBFS. grub.cfg is still sourced from (cbfsdisk)
* Add useful modules to GRUB modules-minimal filesAndrew Robbins2018-12-041-0/+2
| | | | | | | | | | Module "biosdisk" is necessary for GRUB to boot from the floppy image we're working to create. If this module is not included in core.img it will simply not load. Module "minicmd" has been added in order to provide the commands "lsmod" and "rmmod" which are useful for listing loaded modules and unloading them, respectively (especially great for testing).
* Remove unnecessary commands from embedded grub.cfgAndrew Robbins2018-12-041-5/+3
| | | | | All modules listed in a given target's modules-minimal file are preloaded so there's no need to specifically load any.
* Set prefix in GRUB BIOS image configAndrew Robbins2018-11-271-0/+2
|
* Modify modules to include and load in GRUB imagesAndrew Robbins2018-11-272-1/+4
| | | | | | | | | | | | | | | The cbfs module must be loaded before trying to source grub.cfg from CBFS, for obvious reasons. The test module is bundled into all images in order to avoid the situation where grub gets stuck in a loop trying to locate the module during parsing of grub.cfg. This could happen if a user removes the module or moves it, so it's best to avoid a brick by just bundling it into the image. For the bios target, biosdisk has been removed as it doesn't seem to provide any benefit and memdisk has been added to eliminate an error printed by GRUB upon load.
* Add overlooked GRUB modules to modules-minimalAndrew Robbins2018-04-071-0/+4
|
* Include modules from modules-minimal in GRUB imageAndrew Robbins2018-04-071-0/+2
|
* Add GRUB module 'cbmemc' to each GRUB targetAndrew Robbins2017-09-171-0/+1
| | | | | Dumps CBMEM console log to stdout; this is useful for development/troubleshooting purposes.
* Add GRUB module 'biosdisk' to BIOS target installAndrew Robbins2017-08-291-0/+1
| | | | | Without this module the GRUB can't find devices--as in, 'ls' literally lists nothing, not even the device GRUB booted from.
* Consolidate GRUB BIOS target modules into 'install'Andrew Robbins2017-08-293-202/+201
| | | | | | | | Since the majority of GRUB modules will be placed into CBFS instead of the GRUB image itself, the modules-install and modules-preload files no longer have any use as-is. However, they serve as a useful reference to which modules should be retained for later processing (thus the addition to the new install file).
* Create GRUB BIOS target file 'modules-minimal'Andrew Robbins2017-08-291-0/+7
| | | | | | | | | | | | This file should only contain the minimum of modules necessary to create a working, bootable image able to source other modules and files from CBFS and/or a separate device. (module dependencies are installed automatically) By including as few modules as possible into the GRUB image, selective addition/removal of modules to/from CBFS is now possible. In addition, modules can be reloaded without issue (modules included in the GRUB image can't be reloaded).
* Copy GRUB module lists to BIOS target dirAndrew Robbins2017-08-292-0/+202
| | | | | | A GRUB image will be produced on a target-specific basis so the target will need its own copy of the modules to include in either the GRUB image itself or CBFS.
* Add configuration files to GRUB BIOS target dirAndrew Robbins2017-08-296-0/+7
The purpose of each new file is as follows: * arch -- CPU architecture to target when building images * config -- embedded GRUB configuration * format -- GRUB output format * platform -- the platform GRUB should build images for * prefix -- where GRUB should search for modules by default * size -- the size of the floppy image to produce, in KiB