Building Coreboot for Protectli Platforms

Total Page:16

File Type:pdf, Size:1020Kb

Building Coreboot for Protectli Platforms Building coreboot for Protectli platforms Step-by-step guide 3MDEB CONTACT ul. Burgaska 9D/10 Piotr Król, 3mdeb CEO 80-287 Gdańsk, Poland +48 880 673 344 TAX ID: PL2530164147 [email protected] Website About Us Introduction This document describes how to build a coreboot image for Protectli platforms using the upstream coreboot repository. Although coreboot is an open-source firmware framework, building firmware for x86 architecture is currently impossible without certain blobs. These blobs consists of: CPU microcode (automatically included during build process) Intel Firmware Support Package - silicon initialization code in binary form require to initialize modern Intel CPU. May be automatically included in coreboot image or an explicitly selected blob file. VGA option ROM - a binary required for BIOS graphics output to display logo or boot menu Preparing environment In order to build coreboot image a Linux operating system is preferred. Additionally a docker container will be used in the build process to ensure all the libraries and utilities have correct versions, the appropriate toolchain is present and the build will proceed without errors. Install Docker for the Linux distribution you are using. You may refer to https://docs.docker.com/engine/install/ for installation process. The build process is also possible on Windows 10 machine. However it requires Pro version to have correct Docker support and it has not been thoroughly validated. If you are experienced enough, you may try Windows. Install git: sudo apt-get install git # or sudo yum install git # or sudo dnf install git . Clone the coreboot repository with its submodules: git clone --recurse-submodules https://review.coreboot.org/coreboot.git . Enter the container and mount the directory with coreboot source code inside the container: docker run --rm -it -v $PWD/coreboot:/home/coreboot/coreboot \ -w /home/coreboot/coreboot coreboot/coreboot-sdk:1.52 /bin/bash -v $PWD/coreboot:/home/coreboot/coreboot mounts the coreboot directory as /home/coreboot/coreboot inside container. -w /home/coreboot/coreboot automatically changes the working directory to the mounted coreboot source. coreboot/coreboot-sdk:1.52 indicates the name of the container to use. If it is not locally present it will be pulled from dockerhub (it may take a while). /bin/bash tells to enter terminal inside the container. The terminal should switch to something similar like coreboot@0a222d9455c8:~/coreboot$. Now the environment is ready Configuring the coreboot If you have set up the environment correctly it is time to select the platform and desired configuration. To do that, follow steps below. Open configuration menu to select platform and options inside container (in my example it is FW4B): coreboot@0a222d9455c8:~/coreboot$ make menuconfig A coreboot configuration menu should display: Go to Mainboard submenu, choose vendor Protectli select the platform you need: Do not touch other settings, otherwise the built image will not be appropriate for flashing on the platform. You may navigate through the menu using key arrows on the keyboard. To enter a submenu press ENTER. To select/deselect an option press SPACE. You may go back to previous menu with ESC. To display a help for given option press "?" (Shift + /). Now let's have a quick look at Chipset submenu (entered from the main menu). For FW2B and FW4B platform there is nothing particular to do. I will just briefly explain few options. Perform MP Initalization by FSP - this option tells coreboot to leave CPU cores initialization to Intel FSP. Typically we leave this option disabled, because we want to have MP initialization under open-source control. Enable SOC debug interface - this option may enable debugging the CPU via Intel DCI or DBC. It is a debugging method over USB 3.0. It requires Intel System Studio to utilize the debug interface. Additionally this option poses a security threat so it should be used by developers for debugging problems with silicon. Leave disabled. Enable VMX for virtualization - enables the virtualization extensions (Intel VT-x). Typically we leave this option as enabled Include CPU microcode in CBFS - this option is very important. By default it tells the coreboot build system to include the microcode update binary from Intel microcode repository submodule. Without microcode update the platform will not boot. If you wish you may include own microcode binary, but be sure that the binary matches the processor on the platform. For the safety better leave this option as is, i.e. Generate from tree. Validate Intel descriptor - this option enables Intel flash descriptor validation. Use with cause as it may make you platform unbootable. Add Intel descriptor.bin file - this option allows to integrate the Intel flash descriptor into the final image. Not needed to deploy coreboot on a platform. Requires extraction of original descriptor from the original platform firmware image. This option also opens a way to include Intel ME firmware to final image. As this is for more advanced users we leave these options as disabled. Protect flash regions - this option allows to select the flash protection, for example to lock the Intel ME region in the image When FW6 is selected as a platform few additional options may appear: Enable Hyperthreading - enables Hyperthreading technology (1 core may have 2 threads) Board can contain Skylake/Kaby Lake - this option tells coreboot build system to include more microcode updates in case platform (or its variants have different CPU series). Leave the default choice. Enable Software Guard Extensions (SGX) if available - as name indicates, it enables Intel SGX secure enclaves Next submenu is Device. Here we can configure the graphics. For FW2B/FW4B in order to have BIOS graphics output to select the boot device one must include an VGA option ROM. In order to do this select: Add a VGA BIOS image and provide the path to the VGA option ROM. The path is relative to coreboot root directory. The blob can be downloaded from 3mdeb cloud: FW2B/FW4B VGA option ROM FW6 VGA option ROM In case of the FW2B and FW4B the VGA PCI device ID should be set to 8086,22b0 so it matches the graphics device identification on the platform. For FW6A it must be 8086,5906 and for FW6B/FW6C 8086,5916. Be sure to use the correct option ROM for the platform and the correct device identification. Additionally there is certain trick for FW2B/FW4B that has to be made to avoid build failure. coreboot expects another VGA option ROM for different stepping of the graphics device. So copy the downloaded vgabios.bin with: cp vgabios.bin vgabios_c0.bin. When VGA BIOS image addition is enabled the field Graphics initialzation will change to None. Since the payload will use the option ROM to initialize graphics, coreboot doesn't need to do it. An alternative option to initialize graphics on FW6 platform is an open-source graphics initialization library called libgfxinit. It can be selected in Graphics initialzation option as Use libgfxinit. The VGA option ROM will no longer be required in such case (although libgfxinit has some limitations). With libgfxinit one should set the desired framebuffer mode. So got Display submenu and change the Framebuffer mode: Legacy VGA text mode will simply give basic text output on the screen from BIOS. Displaying images like logo will be impossible. Linear "high-resolution" framebuffer will enable the graphical mode to display images in BIOS. When Linear framebuffer is enabled one may select the maximum resolution for the graphical display. More about it a little bit later. Another important submenu is the Generic drivers. Enter this submenu from the main menu. The example view of Generic drivers submenu when FW2B/FW4B is selected: Typically there is nothing to do here, but pay attention to the following options: Add Intel FSP binary to flash image - this must be always selected to include FSP blob that initializes the CPU. Otherwise the platform will not boot. Intel FSP binary location in CBFS - this is the location where FSP will be placed in coreboot image. Leave the default value, otherwise FSP will not be executed correctly and the platform will not boot. Use FSP binary from 3rdparty/fsp repo - this option tells coreboot to automatically include FSP binary for the right CPU during build process. Unless you want to use different FSP binary which is appropriate for your platform, leave it enabled. The right FSP binary will be take from official Intel FSP repository mirror. Enable protection on MRC setting - this option will protect the memory training results from overwriting during firmware updates. It may be useful, because these settings allow the platform to boot much faster and avoid retraining (which is time-consuming). The example view of Generic drivers submenu when FW6 is selected: Typically there is nothing to do here, but pay attention to the following options: Use binaries of the Intel FSP repository on GitHub - this option tells coreboot to automatically include FSP binary for the right CPU during build process. Unless you want to use different FSP binary which is appropriate for your platform, leave it enabled. The right FSP binary will be take from official Intel FSP repository mirror. If the option is deselected another options to include different FSP binary will appear, but it is out of scope. Enable protection on MRC setting - this option will protect the memory training results from overwriting during firmware updates. It may be useful, because these settings allow the platform to boot much faster and avoid retraining (which is time-consuming). Another important submenu is Console it controls the debugging output from coreboot. Enter this submenu from main menu. The only one important option worth attention is Default console log level. It controls the verbosity of coreboot booting process.
Recommended publications
  • Boot Mode Considerations: BIOS Vs UEFI
    Boot Mode Considerations: BIOS vs. UEFI An overview of differences between UEFI Boot Mode and traditional BIOS Boot Mode Dell Engineering June 2018 Revisions Date Description October 2017 Initial release June 2018 Added DHCP Server PXE configuration details. The information in this publication is provided “as is.” Dell Inc. makes no representations or warranties of any kind with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a particular purpose. Use, copying, and distribution of any software described in this publication requires an applicable software license. Copyright © 2017 Dell Inc. or its subsidiaries. All Rights Reserved. Dell, EMC, and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be the property of their respective owners. Published in the USA [1/15/2020] [Deployment and Configuration Guide] [Document ID] Dell believes the information in this document is accurate as of its publication date. The information is subject to change without notice. 2 : BIOS vs. UEFI | Doc ID 20444677 | June 2018 Table of contents Revisions............................................................................................................................................................................. 2 Executive Summary ............................................................................................................................................................ 4 1 Introduction ..................................................................................................................................................................
    [Show full text]
  • Status Update on PCI Express Support in Qemu
    Status Update on PCI Express Support in QEmu Isaku Yamahata, VA Linux Systems Japan K.K. <[email protected]> Xen Summit North America April 28, 2010 Agenda ● Introduction ● Usage and Example ● Implementation Details ● Future Work ● Considerations on further development issues Introduction From http://en.wikipedia.org/wiki/PCI_Express PCI Express native Hotplug Electro Mechanical Lock(EMI) Slot Number From http://docs.hp.com/ Eventual Goal Dom0 qemu-dm interrupt root DomU Inject the error up Virtual PCIe Bus down Interrupt to notify the error Xen VMM hardware PCI express bus PCI Express root port PCI Express upstream port PCI Express Error Message native passthrough PCI Express downstream port With native hot plug support Error PCI Express device Eventual Goal ● More PCI features/PCI express features – The current emulated chipset(I440FX/PIIX3) is too old. – So new Chipset emulator is wanted. ● Xen PCI Express support – PCI Express native hotplug – PCI Express native passthourgh ● When error is detected via AER(Advanced Error Reporting), inject the error into the guest. ● these require several steps, so the first step is... First Phase Goal ● Make Qemu PCI Express ready – Introduce new chipset emulator(Q35) ● PCI Express native hot plug ● Implement PCI Express port emulators, and make it possible to inject errors into guest Current status Qemu/PCI express ● PCIe MMCONFIG Merged. the qemu/guest Q35 chipset base working PCIe portemulator working PCIe native hotplug working firmware PCIe AER WIP PCIe error injection WIP VBE paravirtualization working enhancement is seabios mcfg working almost done. e820 working host bridge initiazatlin working ● pci io/memory The next step is space initialization working passing acpi table outside qemu working qemu upstream vgabios VBE paravirtualization working merge.
    [Show full text]
  • Multiprocessor Initialization of INTEL SOC in Coreboot
    Multiprocessor Initialization OF INTEL SOC in Coreboot Pratik Prajapati ([email protected]) Subrata Banik ([email protected]) 1 Agenda • Intel Multiple Processor (MP) Initialization • Coreboot + Intel FSP Boot Flow • Problem with existing model • Solution space • Design • Future Scope 2 Intel Multiple Processor (MP) Initialization • The IA-32 architecture (beginning with the P6 family processors) defines a multiple-processor (MP) initialization protocol called the Multiprocessor Specification Version 1.4. • The MP initialization protocol has the following important features: • It supports controlled booting of multiple processors without requiring dedicated system hardware. • It allows hardware to initiate the booting of a system without the need for a dedicated signal or a predefined boot processor. • It allows all IA-32 processors to be booted in the same manner, including those supporting Intel Hyper-Threading Technology. • The MP initialization protocol also applies to MP systems using Intel 64 processors. • Entire CPU multiprocessor initialization can be divided into two parts – BSP (Boot Strap Processor) Initialization – AP (Application Processor) Initialization Reference: Intel SDM Multiple Processor Init - section 8.4 3 Coreboot + Intel FSP (Firmware support package) Boot Flow Coreboot/BIOS FSP * Coreboot uses its own temp ram init code. 4 Problem Statement with existing model • Background: Coreboot is capable enough to handle multiprocessor initialization on IA platforms. So ideally, CPU features programming can be part of Coreboot MP Init sequence. • But, there might be some cases where certain feature programming can't be done with current flow of MP init sequence. Because, Intel FSP-S has to program certain registers to meet silicon init flow due to SAI (Security Attributes of Initiator) and has to lock other registers before exiting silicon init API.
    [Show full text]
  • ARM-USB-TINY User's Manual
    ARM-USB-TINY-H, ARM-USB-TINY OLIMEX OPENOCD ARM JTAG DEBUGGERS USER’S MANUAL Document revision G, October 2020 All boards produced by Olimex LTD are ROHS compliant OLIMEX© 2020 ARM-USB-TINY user's manual DISCLAIMER © 2020 Olimex Ltd. Olimex®, logo and combinations thereof, are registered trademarks of Olimex Ltd. Other product names may be trademarks of others and the rights belong to their respective owners. The information in this document is provided in connection with Olimex products. No license, express or implied or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Olimex products. The hardware designs of the devices, subjects of this manual, are proprietary. The design files would not be distributed nor shared with the end customer. The products described in this manual are intended to work with open source software software. It is possible that the pictures in this manual differ from the latest revision of the board. The product described in this document is subject to continuous development and improvements. All particulars of the product and its use contained in this document are given by OLIMEX in good faith. However all warranties implied or expressed including but not limited to implied warranties of merchantability or fitness for purpose are excluded. This document is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss or damage arising from the use of any information in this document or any error or omission in such information or any incorrect use of the product.
    [Show full text]
  • HP Iscsi Boot for Windows User Guide
    HP iSCSI Boot for Windows User Guide Part Number 434706-00A September 2007 © Copyright 2007 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. Audience assumptions This document is for the person who installs, administers, and troubleshoots servers and storage systems. HP assumes you are qualified in the servicing of computer equipment and trained in recognizing hazards in products with hazardous energy levels. Contents Overview..................................................................................................................................... 4 iSCSI boot for Windows overview ............................................................................................................... 4 Limitations ................................................................................................................................................ 5 System
    [Show full text]
  • Chelsio T5/T4 Unified Boot for Linux & Windows
    noteIf no This document and related products are distributed under licenses restricting their use, copying, distribution, and reverse-engineering. No part of this document may be reproduced in any form or by any means without prior written permission by Chelsio Communications. All third party trademarks are copyright of their respective owners. THIS DOCUMENTATION IS PROVIDED “AS IS” AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE USE OF THE SOFTWARE AND ANY ASSOCIATED MATERIALS (COLLECTIVELY THE “SOFTWARE”) IS SUBJECT TO THE SOFTWARE LICENSE TERMS OF CHELSIO COMMUNICATIONS, INC. Chelsio Communications (Headquarters) Chelsio (India) Private Limited 370 San Aleso Ave. Subramanya Arcade, Floor 3, Tower B Suite 100 No. 12, Bannerghatta Road, Sunnyvale, CA 94085 Bangalore-560029 U.S.A Karnataka, India www.chelsio.com Tel: +1-91-80-4039-6800 Tel: 408.962.3600 Fax: 408.962.3661 Chelsio KK (Japan) SHIMA Akasaka Bldg. Minato-ku, Tokyo Japan 107-0052 Tel: 03-6234-4353 Sales For all sales inquiries please send email to [email protected] Support For all support related questions please send email to [email protected] Copyright © 2015. Chelsio Communications. All Rights Reserved. Chelsio ® is a registered trademark of Chelsio Communications. All other marks and names mentioned herein may be trademarks of their respective companies. Chelsio T5/T4 Unified Boot for Linux & Windows ii Document Revision History Version Revision Date 1.0.0 05/18/2012 1.0.1 07/30/2012 1.0.2 10/05/2012 1.0.3 16/05/2012 1.0.4 07/31/2013 1.0.5 04/29/2014 1.0.6 09/05/2014 1.0.7 09/26/2014 1.0.8 10/13/2014 1.0.9 02/24/2015 1.1.0 05/05/2015 1.1.1 07/07/2015 Chelsio T5/T4 Unified Boot for Linux & Windows iii TABLE OF CONTENTS I.
    [Show full text]
  • UEFI PXE and Ipxe Alternative Approaches to PXE Booting
    Installing ESXi Using PXE n gPXELINUX is a hybrid configuration that includes both PXELINUX and gPXE and supports booting from a Web server. gPXELINUX is part of the SYSLINUX package. If you use gPXELINUX to boot the ESXi installer, only the gpxelinux.0 binary file, mboot.c32, and the configuration file are transferred via TFTP. The remaining files are transferred via HTTP. HTTP is typically faster and more reliable than TFTP, especially for transferring large amounts of data on a heavily loaded network. NOTE VMware currently builds the mboot.c32 plugin to work with SYSLINUX version 3.86 and tests PXE booting only with that version. Other versions are likely to be incompatible. This is not a statement of limited support. For support of third-party agents that you use to set up your PXE booting infrastructure, contact the vendor. UEFI PXE and iPXE Most UEFI firmware natively includes PXE support that allows booting from a TFTP server. The firmware can directly load the ESXi boot loader for UEFI systems, mboot.efi. Additional software such as PXELINUX is not required. iPXE can also be useful for UEFI systems that do not include PXE in firmware and for older UEFI systems with bugs in their PXE support. For such cases you can try installing iPXE on a USB flash drive and booting from there. NOTE Apple Macintosh products do not include PXE boot support. They include support for network booting via an Apple-specific protocol instead. Alternative Approaches to PXE Booting Alternative approaches to PXE booting different software on different hosts are also possible, for example: n Configuring the DHCP server to provide different initial boot loader filenames to different hosts depending on MAC address or other criteria.
    [Show full text]
  • Coreboot - the Free firmware
    coreboot - the free firmware Linux Club of Peking University April 9th, 2016 . Linux Club of Peking University coreboot - the free firmware April 9th, 2016 1 / 30 1 History 2 Why use coreboot 3 How coreboot works 4 Building and using coreboot 5 Flashing 6 Utilities and Debugging 7 Contribute to coreboot 8 Proprietary Components 9 References . Linux Club of Peking University coreboot - the free firmware April 9th, 2016 2 / 30 History: from LinuxBIOS to coreboot coreboot has a very long history, stretching back more than 15 years to when it was known as LinuxBIOS. While the project has gone through lots of changes over the years, many of the earliest developers still contribute today. Linux Club of Peking University coreboot - the free firmware April 9th, 2016 3 / 30 LinuxBIOS v1: 1999-2000 The coreboot project originally started as LinuxBIOS in 1999 at Los Alamos National Labs (LANL) by Ron Minnich. Ron needed to boot a cluster made up of many x86 mainboards without the hassles that are part of the PC BIOS. The goal was to do minimal hardware initilization in order to boot Linux as fast as possible. Linux already had the drivers and support to initialize the majority of devices. Ron and a number of other key contributors from LANL, Linux NetworkX, and other open source firmware projects successfully booted Linux from flash. From there they were able to discover other nodes in the cluster, load a full kernel and user space, and start the clustering software. Linux Club of Peking University coreboot - the free firmware April 9th, 2016 4 / 30 LinuxBIOS v2: 2000-2005 After the initial success of v1, the design was expanded to support more CPU architectures (x86, Alpha, PPC) and to support developers with increasingly diverse needs.
    [Show full text]
  • User's Manual L Tqmx80uc UM 0102 L © 2020, TQ-Systems Gmbh Page I
    User's Manual l TQMx80UC UM 0102 l © 2020, TQ-Systems GmbH Page i TQMx80UC User's Manual TQMx80UC UM 0102 2020-02-04 User's Manual l TQMx80UC UM 0102 l © 2020, TQ-Systems GmbH Page i TABLE OF CONTENTS 1. ABOUT THIS MANUAL......................................................................................................................................................................... 1 1.1 Copyright and License Expenses .................................................................................................................................................... 1 1.2 Registered Trademarks ...................................................................................................................................................................... 1 1.3 Disclaimer ............................................................................................................................................................................................... 1 1.4 Imprint ..................................................................................................................................................................................................... 1 1.5 Service and Support ............................................................................................................................................................................ 1 1.6 Tips on Safety .......................................................................................................................................................................................
    [Show full text]
  • UEFI Firmware Overview on the HP Z210 Workstation
    UEFI Firmware Overview on the HP Z210 Workstation The HP Z210 Workstation is the first model with system firmware based on UEFI standards; it also includes HP legacy BIOS compatibility. UEFI (Unified Extensible Firmware Interface) provides a modern 64-bit interface between the operating system and system firmware, and removes several limitations present in BIOS, including disk size, option ROM size, pre-boot access to files and the network. UEFI will also enable new features over time. HP recommends Windows® 7. Overview Feature Benefits Unicode Support Allows displaying a wider range of non-Latin characters Graphics support UEFI applications have direct access to high-resolution graphics. Menus are rendered graphically using a built-in forms browser. GPT support GPT (GUID Partition Table) is a disk partitioning mechanism that allows booting UEFI operating systems from disks larger than 2.2 TB. Booting on large drives will be enabled on models on which HP makes them available. Large option UEFI option ROMs for add-in cards can be any size. BIOS options ROMs were required to fit together in a 160 KB area. ROM support Add-in cards can contain both BIOS and UEFI option ROMs. Note that a BIOS-based operating system cannot boot using a UEFI option ROM, although a UEFI-based OS can boot using a BIOS option ROM. File system support Allows pre-boot access to files on any FAT12/FAT16/FAT32 or El Torito (optical) device. EFI shell The EFI shell is a simple command-line environment that is not hampered by DOS limitations. On the HP Z210, the EFI shell is available as a web download, as part of the “HP Workstation BIOS Utilities” Softpaq.
    [Show full text]
  • CS3210: Booting and X86
    1 CS3210: Booting and x86 Taesoo Kim 2 What is an operating system? • e.g. OSX, Windows, Linux, FreeBSD, etc. • What does an OS do for you? • Abstract the hardware for convenience and portability • Multiplex the hardware among multiple applications • Isolate applications to contain bugs • Allow sharing among applications 3 Example: Intel i386 4 Example: IBM T42 5 Abstract model (Wikipedia) 6 Abstract model: CPU, Memory, and I/O • CPU: execute instruction, IP → next IP • Memory: read/write, address → data • I/O: talk to external world, memory-mapped I/O or port I/O I/O: input and output, IP: instruction pointer 7 Today: Bootstrapping • CPU → what's first instruction? • Memory → what's initial code/data? • I/O → whom to talk to? 8 What happens after power on? • High-level: Firmware → Bootloader → OS kernel • e.g., jos: BIOS → boot/* → kern/* • e.g., xv6: BIOS → bootblock → kernel • e.g., Linux: BIOS/UEFI → LILO/GRUB/syslinux → vmlinuz • Why three steps? • What are the handover protocols? 9 BIOS: Basic Input/Output System • QEMU uses an opensource BIOS, called SeaBIOS • e.g., try to run, qemu (with no arguments) 10 From power-on to BIOS in x86 (miniboot) • Set IP → 4GB - 16B (0xfffffff0) • e.g., 80286: 1MB - 16B (0xffff0) • e.g., SPARCS v8: 0x00 (reset vector) DEMO : x86 initial state on QEMU 11 The first instruction • To understand, we first need to understand: 1. x86 state (e.g., registers) 2. Memory referencing model (e.g,. segmentation) 3. BIOS features (e.g., memory aliasing) (gdb) x/1i 0xfffffff0 0xfffffff0: ljmp $0xf000,$0xe05b 12 x86
    [Show full text]
  • Coreboot - the Free Firmware
    coreboot - the free firmware vimacs <https://vimacs.lcpu.club> Linux Club of Peking University May 19th, 2018 . vimacs (LCPU) coreboot - the free firmware May 19th, 2018 1 / 77 License This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/. You can find the source code of this presentation at: https://git.wehack.space/coreboot-talk/ . vimacs (LCPU) coreboot - the free firmware May 19th, 2018 2 / 77 Index 1 What is coreboot? History Why use coreboot 2 How coreboot works 3 Building and using coreboot Building Flashing 4 Utilities and Debugging 5 Join the community . vimacs (LCPU) coreboot - the free firmware May 19th, 2018 3 / 77 Index 6 Porting coreboot with autoport ASRock B75 Pro3-M Sandy/Ivy Bridge HP Elitebooks Dell Latitude E6230 7 References . vimacs (LCPU) coreboot - the free firmware May 19th, 2018 4 / 77 1 What is coreboot? History Why use coreboot 2 How coreboot works 3 Building and using coreboot Building Flashing 4 Utilities and Debugging 5 Join the community . vimacs (LCPU) coreboot - the free firmware May 19th, 2018 5 / 77 What is coreboot? coreboot is an extended firmware platform that delivers a lightning fast and secure boot experience on modern computers and embedded systems. As an Open Source project it provides auditability and maximum control over technology. The word ’coreboot’ should always be written in lowercase, even at the start of a sentence. vimacs (LCPU) coreboot - the free firmware May 19th, 2018 6 / 77 History: from LinuxBIOS to coreboot coreboot has a very long history, stretching back more than 18 years to when it was known as LinuxBIOS.
    [Show full text]