aboutsummaryrefslogtreecommitdiff
path: root/projects
Commit message (Collapse)AuthorAgeFilesLines
* Create SeaBIOS/GRUB targets for D945GCLF corebootAndrew Robbins2019-01-123-0/+4
| | | | | | | D945GCLF ROMs can now be built with either SeaBIOS or GRUB as a default payload for use with a 1MiB flash, e.g.: './libreboot build coreboot d945gclf textmode 1mb seabios'
* Create 1MiB coreboot config/target for D945GCLFAndrew Robbins2019-01-122-0/+6
| | | | | | | | | Previously it was thought that only boards with 512KiB flash chips were produced but JohnMH (in #libreboot) ran across one with an SST25LF080A 1MiB flash. D945GCLF Coreboot ROMs can be built with, e.g.: './libreboot build coreboot d945gclf textmode 1mb'
* Merge branch 'grub-misc' of and_who/libreboot into masterLeah Rowe2018-12-292-19/+15
|\
| * Update BIOS GRUB prefix hard coded in core.imgAndrew Robbins2018-12-291-1/+1
| |
| * Copy correct number of bytes for floppy BPBAndrew Robbins2018-12-291-1/+1
| | | | | | | | | | | | | | | | The Bios Parameter Block (BPB) is 51 bytes, not 52. As-is, the first byte of executable code from the floppy image boot record is copied along with the BPB to boot.img; this extra byte isn't harmful to leave in since execution begins at offset 0x63+2 rather than 0x3C+2, but is a little messy.
| * Trim some less useful comments in grub-helperAndrew Robbins2018-12-281-4/+0
| |
| * Remove extraneous radix specifier in grub_bo_dump()Andrew Robbins2018-12-281-1/+1
| |
| * Use tabs for indentation in grub_bo functionsAndrew Robbins2018-12-281-13/+13
| |
* | Amend dejavu-fonts patch message about fontforgeAndrew Robbins2018-12-281-4/+4
|/ | | | | | | | 2017-12-20 was not the initial date from which fontforge could build fonts deterministically--builds of the DejaVu LGC subset were reproducible for some time before then. Though, it wasn't until that date that fontforge could reproducibly build the full DejaVu family of fonts (including DejaVuSansMono, which we use).
* Add redundancy for seabios git clone in case the main git repository is offlineLeah Rowe2018-12-281-1/+2
| | | | This modification has been made to both build systems.
* 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.
* Automate updating SeaGRUB floppy image blocklistsAndrew Robbins2018-12-251-1/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Refactor SeaGRUB floppy creation codeAndrew Robbins2018-12-252-29/+45
| | | | | | | | | | | | | | | | | | | 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)
* Update dejavu-fonts .gitignore patchAndrew Robbins2018-12-112-24/+28
| | | | | | | | The fc-lang symlink has been added to the .gitignore file in order to allow creating the symlink once after the initial download of dejavu-fonts. This avoids the otherwise necessary step of recreating the symlink before each build (as it could have been removed by the project's clean() action).
* Link fontconfig orthography files in dejavu buildAndrew Robbins2018-12-101-4/+3
| | | | | | | | | | The path contained in the symlink has been made relative for reproducibility reasons. Also, it just makes more sense to create the symlink during the download() action vs. build(). The `-f` flag was added to avoid an error if the link already exists (i.e., download() has been executed previously).
* Pull in Unicode data for a specific UCD versionAndrew Robbins2018-12-104-8/+44
| | | | | | | | | | | | | | Previously the dejavu-fonts script pulled in the latest versions of UnicodeData.txt and Blocks.txt files from https://www.unicode.org/Public/UNIDATA/ which are unversioned. This is an issue because the files at this URI will change over time as new UCD versions are released, making reproducible builds of dejavu-fonts impossible. The solution to this issue is to simply download the requisite files from https://www.unicode.org/Public/$ucd_version/ucd/ where $ucd_version is the version specified in projects/dejavu-fonts/configs/unicode/ucd-version
* Patch dejavu-fonts to require a recent fontforgeAndrew Robbins2018-12-101-0/+51
| | | | | | | | | fontforge was not able to create fonts in a reproducible manner until upstream revision 69e561773b91e37096a855f0353b1d6781a61250 Requiring at minimum a fontforge built from source on 2017-12-20 (the date the aforementioned revision was made) ensures that dejavu fonts are reproducible in Libreboot's build system.
* Merge branch 'grub-scripts' of and_who/libreboot into masterLeah Rowe2018-12-106-14/+12
|\
| * 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-043-0/+4
| | | | | | | | | | | | | | | | | | | | 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-043-15/+9
| | | | | | | | | | All modules listed in a given target's modules-minimal file are preloaded so there's no need to specifically load any.
* | Merge branch 'crossgcc' of and_who/libreboot into masterSwift Geek2018-12-085-24/+24
|\ \ | |/ |/|
| * Unquote $bootstrap_flag expansion in crossgccAndrew Robbins2018-12-071-1/+1
| | | | | | | | | | If quoted and $bootstrap_flag expands to an empty string, make interprets it as an invalid file name and errors out.
| * Update coreboot patch removing git submodulesAndrew Robbins2018-12-073-22/+22
| | | | | | | | | | Paul Kocialkowski was not retained as the original author due to the triviality of the patch.
| * Bump coreboot revision to pull in buildgcc v1.53Andrew Robbins2018-12-071-1/+1
| | | | | | | | | | | | | | The revision currently used has an issue building crossgcc due to a libelf bug. Upstream no longer depends on libelf when building crossgcc (since afda56e1ad8719a1) so using a more recent revision sidesteps this issue.
* | Set prefix in GRUB BIOS image configAndrew Robbins2018-11-271-0/+2
| |
* | Modify modules to include and load in GRUB imagesAndrew Robbins2018-11-276-1/+10
|/ | | | | | | | | | | | | | | 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.
* Amend path to SeaBIOS payload in coreboot configsAndrew Robbins2018-11-2456-56/+56
|
* Place built SeaBIOS files in its build directoryAndrew Robbins2018-11-241-2/+1
|
* Consolidate SeaBIOS configsAndrew Robbins2018-11-246-103/+2
| | | | | | | | | | | The only difference between the previous "bios" and "vgabios" targets was whether or not a VGA BIOS binary was built along with SeaBIOS. It seemed needless to compile twice in the event that you want both the SeaBIOS payload and its VGA BIOS when you can compile once and make the decision yourself whether to use the produced vgabios.bin
* Bump SeaBIOS revision and update configsAndrew Robbins2018-11-243-1/+5
| | | | | | New options enabled (set to their default values): CONFIG_NVME=y CONFIG_SERCON=y
* Merge branch 'new-boards' of and_who/libreboot into masterSwift Geek2018-11-2416-0/+705
|\
| * Create SeaBIOS/GRUB targets for Z61t corebootAndrew Robbins2018-11-166-0/+8
| | | | | | | | | | | | | | Z61t ROMs can now be built with either SeaBIOS or GRUB as a default payload, e.g.: './libreboot build coreboot z61t textmode 2mb seabios'
| * Create 2,16MiB Coreboot configs/targets for Z61tAndrew Robbins2018-11-164-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 2MiB flash is the default for this board. A 16MiB config is included for those looking to modify their board with a larger flash chip. Also, text mode is the only display mode available for this board; as such, inclusion of the textmode subtarget serves only to explicitly indicate the display mode when packaging ROMs upon release. Z61t Coreboot ROMs can be built with, e.g.: './libreboot build coreboot z61t textmode 2mb'
| * Add Z61t coreboot targetAndrew Robbins2018-11-163-0/+676
| |
| * Add iMac5,2 as MacBook2,1 variantAndrew Robbins2018-11-164-0/+9
| |
* | Add function depthcharge_libpayload_build_path()Andrew Robbins2018-11-222-1/+21
| | | | | | | | | | | | | | | | | | This function will return the correct build path for libpayload built for depthcharge targets nyan and veyron. Without this function, and using project_build_path() instead, LIBPAYLOAD_DIR would be set to "$root/$BUILD/libpayload-depthcharge-nyan-big" instead of the proper "$root/$BUILD/libpayload-depthcharge-nyan", for example.
* | Remove libpayload's veyron subtarget targets fileAndrew Robbins2018-11-221-2/+0
|/ | | | | There's no need to build for each supported veyron model since the libpayload veyron config is just for veyron in general.
* Patch CrOS-EC veyron to avoid compilation errorsAndrew Robbins2018-11-152-0/+94
|
* Update CrOS-EC context switching patchAndrew Robbins2018-11-061-80/+100
| | | | This is the final version of the patch which was merged upstream.
* Remove obsolete CrOS-EC Veyron patch for math_util.cAndrew Robbins2018-11-052-29/+0
|
* Revert to older CrOS-EC revision for Veyron boardsAndrew Robbins2018-11-051-1/+1
| | | | | Support was removed for Veyron Speedy/Minnie in the more recent revision.
* Revert to older CrOS-EC revision for Nyan boardsAndrew Robbins2018-11-051-1/+1
| | | | Support was removed for Nyan Big/Blaze in the more recent revision.
* Create Coreboot Depthcharge target for Veyron SpeedyAndrew Robbins2018-10-304-0/+4
| | | | | | | Veyron Speedy ROMs are built with Depthcharge as the default payload, e.g.: './libreboot build coreboot veyron speedy corebootfb 4mb depthcharge'
* Create 4,16MiB Coreboot configs/targets for Veyron SpeedyAndrew Robbins2018-10-304-0/+12
| | | | | | | | | | | | | 4MiB flash is the default for this board. A 16MiB config is included for those looking to modify their board with a larger flash chip. Also, corebootfb is the only display mode available for this board; as such, inclusion of the corebootfb subtarget serves only to explicitly indicate the display mode when packaging ROMs upon release. Veyron Speedy Coreboot ROMs can be built with, e.g.: './libreboot build coreboot veyron speedy corebootfb 4mb'
* Correct CBFS_SIZE in Veyron Speedy Coreboot ConfigAndrew Robbins2018-10-301-1/+1
|
* Create Coreboot Depthcharge target for Veyron MinnieAndrew Robbins2018-10-304-0/+4
| | | | | | | Veyron Minnie ROMs are built with Depthcharge as the default payload, e.g.: './libreboot build coreboot veyron minnie corebootfb 4mb depthcharge'
* Create 4,16MiB Coreboot configs/targets for Veyron MinnieAndrew Robbins2018-10-304-0/+12
| | | | | | | | | | | | | 4MiB flash is the default for this board. A 16MiB config is included for those looking to modify their board with a larger flash chip. Also, corebootfb is the only display mode available for this board; as such, inclusion of the corebootfb subtarget serves only to explicitly indicate the display mode when packaging ROMs upon release. Veyron Minnie Coreboot ROMs can be built with, e.g.: './libreboot build coreboot veyron minnie corebootfb 4mb'
* Correct CBFS_SIZE in Veyron Minnie Coreboot ConfigAndrew Robbins2018-10-301-1/+1
|
* Create Coreboot Depthcharge target for Veyron MickeyAndrew Robbins2018-10-302-0/+2
| | | | | | | Veyron Mickey ROMs are built with Depthcharge as the default payload, e.g.: './libreboot build coreboot veyron mickey corebootfb 4mb depthcharge'