summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-11-22build/roms: remove seabios_grubfirst logicLeah Rowe
the intended use-case scenario was one in which vga rom initialisation would be used, on desktop configurations, but without coreboot itself handling vga rom initialisation, instead leaving that task to seabios it was assumed that grub, when running on the bare metal with build option "--with-platform=coreboot" would be able to display like this, but it is not so when tested in such setups (add-on gpu with grub payload), it is necessary to extract the video bios and insert it into the coreboot rom, having coreboot handle such execution. this is beyond the scope of lbmk, in context of automated building, because we cannot reliably predict things such as PCI IDs do away with this build option entirely, for it does not serve the intended purpose. it will be necessary to run PC GRUB instead (build option --with-platform=i386-pc). PC GRUB can still read from CBFS, and you could provide it as a floppy image file inside CBFS for SeaBIOS to execute. in this setup, GRUB would function as originally intended by the seabios_withgrub option; such a configuration is referred to as "SeaGRUB" by the libreboot project, and experimentation was done with it in the past, to no avail it's better to keep things simple, in the libreboot project. simpler for users, that is
2022-11-19remove duplicate patch causing build errorLeah Rowe
2022-11-19bump grub revision to latest upstreamLeah Rowe
gnulib too gnulib...
2022-11-19dependencies/arch: notice about unifont dependencyLeah Rowe
2022-11-19also fix crossgcc on cros/fhd coreboot treesLeah Rowe
2022-11-19cros devices: use a common coreboot treeLeah Rowe
2022-11-19remove kfsn4-dre, kcma-d8 and kgpe-d16Leah Rowe
buggy, buggy, buggy, buggy, buggy, buggy, buggy full of bugs, these boards never worked properly. i got ripped off with these. now i'm ripping off the band aid use dasharo if you want d16 stuff. i'm done with it.
2022-11-19update gitignoreLeah Rowe
2022-11-19fix gnat build issue on coreboot repositoriesLeah Rowe
backported from newer coreboot revisions, see patch coreboot/default/patches/0014-coreboot-default-fix-crossgcc-build.patch
2022-11-19add innoextract to federa dependency scriptLeah Rowe
2022-11-19ditto othersLeah Rowe
2022-11-19ditto debian scriptLeah Rowe
2022-11-19remove stupid flags from arch dependency scriptLeah Rowe
2022-11-19build/dependencies/*: remove python2Leah Rowe
python2 is eol and the only thing that needed it was build scripts inside tianocore, back in osbmk days when tianocore was supported in the (osboot) build system. nothing else requires it, so chuck it
2022-11-18util/nvmutil: more human-friendly exit messagesLeah Rowe
2022-11-18fix part 1 checksum in t440p gbe.binLeah Rowe
i used "copy 0" in nvmutil to do this the error people saw in nvmutil was benign. i'm literally doing this just to prevent more errant user reports.
2022-11-17update .gitignoreLeah Rowe
2022-11-17assimilate nvmutilLeah Rowe
2022-11-16make background splash screen purpleLeah Rowe
to match the assimilated osboot, which had purple colours
2022-11-15bonerfixLeah Rowe
2022-11-14blobs/inject: use nvmutil, not nvmutilsLeah Rowe
2022-11-14update the READMELeah Rowe
2022-11-14pragmatic system distribution guideline compliancepsdgLeah Rowe
osboot is now part of libreboot, and will soon shut down. libreboot now conforms to osboot policy.
2022-11-11Merge branch 'u-boot-chromebooks' of alpernebbi/lbmk into masterLeah Rowe
2022-08-29u-boot: Add peach pi chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the Samsung Chromebook 2 13", also known as "peach-pi" in the U-Boot upstream defconfigs. It uses the shared tree for the "peach" baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the peach pi chromebook. Note the there doesn't seem to be any coreboot support for this chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add peach pit chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the Samsung Chromebook 2 11", which is based on the "google/peach_pit" mainboard in upstream coreboot. Also adds a shared "peach" board directory to share with others having the same baseboard. The config is based on the following defconfig: CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x00400000 CONFIG_UART_FOR_CONSOLE=3 CONFIG_BOARD_GOOGLE_PEACH_PIT=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the peach pit chromebook. This also fails without a non-free 3rdparty/blobs/cpu/samsung/exynos5420/bl1.bin blob. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add peach pit chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the Samsung Chromebook 2 11", also known as "peach-pit" in the U-Boot upstream defconfigs. Also adds a shared "peach" board directory to share with others having the same baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the peach pit chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add spring chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the HP Chromebook 11 G1, which is part of the "google/daisy" mainboard in upstream coreboot. It uses the shared tree for the "daisy" baseboard. The config is based on the following defconfig: CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x00400000 CONFIG_UART_FOR_CONSOLE=3 CONFIG_BOARD_GOOGLE_DAISY=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_EC_GOOGLE_CHROMEEC_I2C_BUS=0x4 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the spring chromebook. This also fails without a non-free 3rdparty/blobs/cpu/samsung/exynos5250/bl1.bin blob. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add spring chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the HP Chromebook 11 G1, also known as "spring" in the U-Boot upstream defconfigs. It uses the shared tree for the "daisy" baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the spring chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add snow chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the Samsung Chromebook - XE303, which is based on the "google/daisy" mainboard in upstream coreboot. Also adds a shared "daisy" board directory to share with others having the same baseboard. The config is based on the following defconfig: CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x00400000 CONFIG_UART_FOR_CONSOLE=3 CONFIG_BOARD_GOOGLE_DAISY=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_EC_GOOGLE_CHROMEEC_I2C_BUS=0x4 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the snow chromebook. This also fails without a non-free 3rdparty/blobs/cpu/samsung/exynos5250/bl1.bin blob. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add snow chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the Samsung Chromebook - XE303, also known as "snow" in the U-Boot upstream defconfigs. Also adds a shared "daisy" board directory to share with others having the same baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the snow chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add nyan blaze chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the HP Chromebook 14 G3, which is based on the "google/nyan_blaze" mainboard in upstream coreboot. It uses the shared tree for the "nyan" baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x400000 CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=4 CONFIG_BOARD_GOOGLE_NYAN_BLAZE=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_DRIVERS_AS3722_RTC_BUS=4 CONFIG_DRIVERS_AS3722_RTC_ADDR=0x40 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the nyan blaze chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add nyan blaze chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the HP Chromebook 14 G3, also known as "nyan-blaze" but not in the U-Boot upstream defconfigs. Apparently the "nyan-big" defconfig can also work for this version. It uses the shared tree for the "nyan" baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the nyan blaze chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add nyan big chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the Acer Chromebook 13 (CB5-311, C810), which is based on the "google/nyan_big" mainboard in upstream coreboot. Also adds a shared "nyan" board directory to share with others having the same baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x400000 CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=4 CONFIG_BOARD_GOOGLE_NYAN_BIG=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_DRIVERS_AS3722_RTC_BUS=4 CONFIG_DRIVERS_AS3722_RTC_ADDR=0x40 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the nyan big chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add nyan big chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the Acer Chromebook 13 (CB5-311, C810), also known as "nyan_big" in the U-Boot upstream defconfigs. Also adds a shared "nyan" board directory to share with others having the same baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the nyan big chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add veyron mickey chromebit configsAlper Nebi Yasak
This adds coreboot configuration for the ASUS Chromebit CS10, which is based on the "google/veyron_mickey" mainboard in upstream coreboot. It uses the shared tree for the "veyron" baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x400000 CONFIG_BOARD_GOOGLE_VEYRON_MICKEY=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the veyron mickey chromebit. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add veyron mickey chromebit configsAlper Nebi Yasak
This adds U-Boot configuration for the ASUS Chromebit CS10, also known as "chromebit_mickey" in the U-Boot upstream defconfigs. It uses the shared tree for the "veyron" baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the veyron mickey chromebit. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add veyron jerry chromebook configsAlper Nebi Yasak
This adds coreboot configuration for a few white-label chromebooks which are based on the "google/veyron" mainboard in upstream coreboot. It uses the shared tree for the "veyron" baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x400000 CONFIG_BOARD_GOOGLE_VEYRON_JERRY=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have any of the veyron jerry chromebooks. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add veyron jerry chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for a few white-label chromebooks, known as "chromebook_jerry" in the U-Boot upstream defconfigs. It uses the shared tree for the "veyron" baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have any of the veyron jerry chromebooks. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add veyron minnie chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the ASUS Chromebook Flip C100PA, which is based on the "google/veyron" mainboard in upstream coreboot. It uses the shared tree for the "veyron" baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x400000 CONFIG_BOARD_GOOGLE_VEYRON_MINNIE=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the veyron minnie chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add veyron minnie chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the ASUS Chromebook Flip C100PA, also known as "chromebook_minnie" in the U-Boot upstream defconfigs. It uses the shared tree for the "veyron" baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the veyron minnie chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add veyron speedy chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the ASUS Chromebook C201PA, which is based on the "google/veyron" mainboard in upstream coreboot. Also adds a shared "veyron" board directory to share with others having the same baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x400000 CONFIG_BOARD_GOOGLE_VEYRON_SPEEDY=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 Untested since I don't have the veyron speedy chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add veyron speedy chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the ASUS Chromebook C201PA, also known as "chromebook_speedy" in the U-Boot upstream defconfigs. Also adds a shared "veyron" board directory to share with others having the same baseboard. The config is almost the same as upstream defconfig, but with REMAKE_ELF and POSITION_INDEPENDENT enabled. Untested since I don't have the veyron speedy chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add bob chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the ASUS Chromebook Flip C101, which is based on the "google/gru" mainboard in upstream coreboot. It uses the shared tree for the "gru" baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x00800000 CONFIG_BOARD_GOOGLE_BOB=y CONFIG_DRIVER_TPM_SPI_BUS=0x0 CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 CONFIG_PAYLOAD_FIT_SUPPORT=y Untested since I don't have the bob chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29u-boot: Add bob chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the ASUS Chromebook Flip C101, also known as "chromebook_bob" in the U-Boot upstream defconfigs. It uses the shared tree for the "gru" baseboard. The config has the following diffconfig from kevin: # chromebook_bob instead of chromebook_kevin DEFAULT_DEVICE_TREE "rk3399-gru-kevin" -> "rk3399-gru-bob" DEFAULT_FDT_FILE "rockchip/rk3399-gru-kevin.dtb" -> "rockchip/rk3399-gru-bob.dtb" OF_LIST "rk3399-gru-kevin" -> "rk3399-gru-bob" SPL_OF_LIST "rk3399-gru-kevin" -> "rk3399-gru-bob" TARGET_CHROMEBOOK_BOB n -> y TARGET_CHROMEBOOK_KEVIN y -> n # Display resolution is 1280x800, and no need for the big font VIDEO_FONT_8X16 n -> y VIDEO_FONT_TER16X32 y -> n VIDEO_ROCKCHIP_MAX_XRES 2400 -> 1280 VIDEO_ROCKCHIP_MAX_YRES 1600 -> 800 Untested since I don't have the bob chromebook. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-29coreboot: Add kevin chromebook configsAlper Nebi Yasak
This adds coreboot configuration for the Samsung Chromebook Plus (v1), which is based on the "google/gru" mainboard in upstream coreboot. Also adds a shared "gru" board directory to share with others having the same baseboard. The config is based on the following defconfig: # CONFIG_USE_BLOBS is not set CONFIG_VENDOR_GOOGLE=y CONFIG_CBFS_SIZE=0x00800000 CONFIG_BOARD_GOOGLE_KEVIN=y CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 CONFIG_UART_PCI_ADDR=0x0 CONFIG_I2C_TRANSFER_TIMEOUT_US=500000 CONFIG_PAYLOAD_FIT_SUPPORT=y Most things work, but one significant problem is that the board can't power off properly. It also happens with my manual U-Boot-only builds, but not when I manually build coreboot with a U-Boot payload. Not sure why it is happening here as well. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28u-boot: Add kevin chromebook configsAlper Nebi Yasak
This adds U-Boot configuration for the Samsung Chromebook Plus (v1), also known as "chromebook_kevin" in the U-Boot upstream defconfigs. Also adds a shared "gru" board directory to share with others having the same baseboard. It uses v2022.07 with some quality-of-life patches. The first one is a clock adjustment to match coreboot clocks for the video output, the second one is a series about text cursor support and larger fonts. These are because the display has a high resolution of 2400x1600 at 12.3". The config has the following diffconfig from the upstream defconfig for this board: # For chainloading from depthcharge like a payload (RW_LEGACY). # Not everything might be necessary, but didn't test without these. INIT_SP_RELATIVE n -> y LNX_KRNL_IMG_TEXT_OFFSET_BASE 0x00200000 -> 0x18000000 POSITION_INDEPENDENT n -> y SYS_TEXT_BASE 0x00200000 -> 0x18000000 +SYS_INIT_SP_BSS_OFFSET 524288 # Higher speeds for eMMC MMC_HS200_SUPPORT n -> y MMC_HS400_ES_SUPPORT n -> y MMC_HS400_SUPPORT n -> y MMC_IO_VOLTAGE n -> y MMC_SDHCI_SDMA n -> y MMC_SPEED_MODE_SET n -> y +MMC_UHS_SUPPORT y # Build the u-boot.elf to use as a payload REMAKE_ELF n -> y # Slightly faster video output VIDEO_COPY n -> y # Larger fonts per the applied series VIDEO_FONT_8X16 y -> n VIDEO_FONT_TER16X32 n -> y Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28build/roms: Rebuild cbutils module before starting coreboot buildAlper Nebi Yasak
In recent coreboot versions, running distclean started to erase the cbfstool binary we built earlier in the util/cbfstool dir via the cbutils build script call. The coreboot build puts it in a different directory, and the roms build script can't find it when trying to add payloads to the roms. This doesn't make the script fail (because set -e is stupid like that), and the build appears to succeed if you don't look close enough to see the "cbfsutil not found" error. Build the coreboot utils we want at the places we want them after calling distclean, so that we can actually use cbfsutil and avoid silently-broken roms with newer coreboot versions. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28build/roms: Support using U-Boot as a coreboot payloadAlper Nebi Yasak
This enables embedding U-Boot into the coreboot roms as the payload. For now, the ELF file generated by enabling CONFIG_REMAKE_ELF is used, which includes the U-Boot binary and the board-specific device-tree file. It might be better to use the FIT payload support for U-Boot, but that was reportedly broken and is not tested yet. Coreboot boards can specify payload_uboot="y" in their board.cfg to enable building a rom with U-Boot as the payload, which is built from the U-Boot board with the same name. Boards can further specify a uboot_config option, to choose which board-specific config file U-Boot should be built with. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-08-28build/roms: Build 32-bit crossgcc for AArch64 as wellAlper Nebi Yasak
The 32-bit ARM cross compiler toolchain is used to build parts of arm-trusted-firmware needed by AArch64 boards, compile the toolchain for those boards as well. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>