mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-11 22:12:40 +02:00
f9afeb6feb
Very nice ivybridge board that supports ECC RAM. NOTE: I couldn't get onboard graphics working yet, but this was confirmed working with a graphics card (in my case nvidia quadra k420) booted in text mode on the SeaBIOS payload. The GRUB payload also works, when loaded from SeaBIOS. Therefore, this is a SeaBIOS-only board (as far as first payload is concerned), but you can pick GRUB from the menu. You could make it "GRUB-only" in practise by setting SeaBIOS boot order to only load GRUB, and disable the SeaBIOS menu. We refer to this as "SeaGRUB". I've made lbmk use biosutilities and uefiextract, to get at the SMSC SCH5545 Environmental Control (EC) firmware. This firmware is needed for fan control. This is automatically downloaded and extracted, from Dell UEFI firmware updates. As with other blobs such as Intel ME, this firmware is then scrubbed by the release build scripts. The blobutil "inject" script can be used to re-insert it. Of note: there is no fixed offset, but no other blobs to be inserted in CBFS either, so the offset when re-inserting on release ROMs should still be the same, and thus the ROM checksums should match, when running blobutil inject. Signed-off-by: Leah Rowe <leah@libreboot.org>
139 lines
4.3 KiB
Bash
Executable File
139 lines
4.3 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
# ubuntu2004 script: installs build dependencies for Ubuntu 20.04
|
|
#
|
|
# Copyright (C) 2014, 2015, 2021 Leah Rowe <info@minifree.org>
|
|
# Copyright (C) 2022 Caleb La Grange <thonkpeasant@protonmail.com>
|
|
# Copyright (C) 2022 Ferass El Hafidi <vitali64pmemail@protonmail.com>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, version 3 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
|
|
set -e
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
printf "This script must be run as root\n"
|
|
exit 1
|
|
fi
|
|
|
|
# Duplications are intentional. Please do not re-factor.
|
|
#
|
|
# This is so that they can moved to separate scripts.
|
|
#
|
|
|
|
apt-get -y install wget
|
|
|
|
# For downloading source code
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install git
|
|
|
|
# For Tianocore and iPXE
|
|
# TODO: check whether this is the full list
|
|
|
|
apt-get -y install uuid-dev nasm
|
|
|
|
# For building source code:
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install build-essential
|
|
|
|
# for running the crostool script (to get mrc.bin file for t440p)
|
|
apt-get -y install sharutils curl parted e2fsprogs unzip
|
|
|
|
# to use the right software versions and links for compiling
|
|
apt-get -y install pkg-config
|
|
|
|
# for cross-compiling ARM binaries
|
|
apt-get -y install gcc-arm-linux-gnueabi
|
|
|
|
[ "$(uname -i)" = x86_64 ] || [ "$(uname -m)" = x86_64 ]
|
|
arch=${?}
|
|
|
|
# For cross-compiling i686 target on x86_64 host.
|
|
if [ "${arch}" -eq 0 ]; then
|
|
apt-get -y install gcc-multilib libc6-i386 libc6-dev-i386
|
|
apt-get -y install lib32stdc++6 g++-multilib dh-autoreconf
|
|
# recommended, but not sure what for:
|
|
apt-get -y install lib32tinfo-dev
|
|
fi
|
|
|
|
# Memtest86+ build dependencies
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install build-essential python3
|
|
|
|
# i945-pwm build dependencies
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install build-essential perl
|
|
|
|
# u-boot needed this
|
|
|
|
apt-get -y install python3-setuptools
|
|
|
|
# Coreboot build dependencies (also requires build-essential and git)
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install libncurses5-dev doxygen iasl gdb flex bison \
|
|
build-essential git libssl-dev gnat python-is-python3
|
|
|
|
# For cross-compiling i686 target on x86_64 host.
|
|
[ "${arch}" -eq 0 ] && apt-get -y install lib32ncurses5-dev
|
|
|
|
# GRUB build dependencies (also requires build-essential, bison and flex)
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install fonts-unifont libopts25 libselinux1-dev autogen \
|
|
m4 autoconf help2man libopts25-dev libfont-freetype-perl \
|
|
automake autotools-dev build-essential bison flex \
|
|
libfuse-dev liblzma-dev gawk libdevmapper-dev libtool \
|
|
libfreetype6-dev gettext
|
|
|
|
apt-get -y install unifont
|
|
|
|
# U-Boot build dependencies
|
|
# -------------------------
|
|
|
|
apt-get -y install bc bison build-essential device-tree-compiler efitools \
|
|
flex libfdt-dev liblz4-tool libgnutls28-dev libncurses-dev \
|
|
libpython3-dev libsdl2-dev libssl-dev lz4 lzma lzma-alone \
|
|
openssl pkg-config python3 python3-distutils \
|
|
python3-pkg-resources python3-pycryptodome \
|
|
python3-pyelftools swig uuid-dev
|
|
|
|
# BucTS build dependencies (external script)
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install build-essential
|
|
|
|
# Flashrom build dependencies (also requires build-essential)
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install libpci-dev pciutils zlib1g-dev libftdi-dev \
|
|
build-essential libusb-1.0-0-dev libusb-1.0 \
|
|
libusb-1.0-0-dev libusb-dev
|
|
|
|
# For cross-compiling i686 target on x86_64 host.
|
|
[ "${arch}" -eq 0 ] && apt-get -y install lib32z1-dev
|
|
|
|
# UEFIExtract
|
|
# ------------
|
|
|
|
apt-get -y install cmake
|
|
|
|
# Blobs building dependencies (for me)
|
|
# ------------------------------------------------------------
|
|
|
|
apt-get -y install innoextract p7zip p7zip-full unar
|