Merge pull request #1130 from kinvolk/jepio/arm64-sdk-support

enable arm64 SDK bootstrap
This commit is contained in:
Jeremi Piotrowski 2021-08-03 14:28:15 +02:00 committed by GitHub
commit ba7b460518
13 changed files with 65 additions and 24 deletions

View File

@ -8,7 +8,7 @@ HOMEPAGE=""
SRC_URI=""
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm x86"
KEYWORDS="amd64 arm arm64 x86"
IUSE=""
S="${WORKDIR}"
@ -21,4 +21,4 @@ src_install() {
newins "${FILESDIR}/KEK.crt" KEK.crt
newins "${FILESDIR}/DB.key" DB.key
newins "${FILESDIR}/DB.crt" DB.crt
}
}

View File

@ -8,10 +8,10 @@ CROS_WORKON_LOCALNAME="dev"
CROS_WORKON_LOCALDIR="src/platform"
if [[ "${PV}" == 9999 ]]; then
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="~amd64 ~arm64 ~arm ~x86"
else
CROS_WORKON_COMMIT="7b48efb82f5acfe135ea6e0ec2c9c5ee957d64d2" # flatcar-master
KEYWORDS="amd64 arm x86"
KEYWORDS="amd64 arm arm64 x86"
fi
inherit cros-workon multilib python-utils-r1

View File

@ -8,7 +8,7 @@ HOMEPAGE="http://src.chromium.org"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
KEYWORDS="amd64 arm64 x86"
IUSE=""
# Needed to run setup crossdev, run build scripts, and make a bootable image.
@ -20,7 +20,7 @@ RDEPEND="${RDEPEND}
dev-embedded/u-boot-tools
dev-util/ccache
dev-util/crosutils
sys-boot/syslinux
!arm64? ( sys-boot/syslinux )
sys-devel/crossdev
sys-devel/sysroot-wrappers
sys-fs/dosfstools
@ -64,7 +64,7 @@ RDEPEND="${RDEPEND}
>=dev-util/intltool-0.30
dev-util/scons
>=dev-vcs/git-1.7.2
net-misc/google-cloud-sdk
amd64? ( net-misc/google-cloud-sdk )
sys-apps/usbutils
sys-apps/systemd
sys-libs/nss-usrfiles

View File

@ -37,7 +37,9 @@ RDEPEND="!coreos-base/coreos-installer
net-misc/curl
>=sys-apps/seismograph-2.2.0
sys-fs/e2fsprogs"
BDEPEND="dev-util/glib-utils"
DEPEND="dev-cpp/gtest
${BDEPEND}
${RDEPEND}"
src_configure() {

View File

@ -10,7 +10,7 @@ SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64"
KEYWORDS="amd64 arm64"
IUSE=""
DEPEND="
@ -25,7 +25,7 @@ DEPEND="
coreos-base/hard-host-depends
coreos-base/coreos-sb-keys
coreos-devel/fero-client
coreos-devel/kola-data
amd64? ( coreos-devel/kola-data )
coreos-devel/mantle
dev-libs/gobject-introspection
dev-python/setuptools
@ -40,7 +40,7 @@ DEPEND="
net-misc/curl
sys-apps/debianutils
sys-apps/iproute2
sys-apps/iucode_tool
amd64? ( sys-apps/iucode_tool )
sys-apps/seismograph
sys-boot/grub
sys-boot/shim
@ -52,8 +52,10 @@ DEPEND="
# Must match the build-time dependencies listed in selinux-policy-2.eclass
DEPEND="${DEPEND}
>=sys-apps/checkpolicy-2.0.21
>=sys-apps/policycoreutils-2.0.82
!arm64? (
>=sys-apps/checkpolicy-2.0.21
>=sys-apps/policycoreutils-2.0.82
)
sys-devel/m4"
# Required by dev-lang/spidermonkey-1.8.5

View File

@ -190,7 +190,7 @@ src_configure() {
fi
fi
# Auto-enable cross-building only if the cross-compiler is available
if [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then
if [ "${CBUILD}" != "aarch64-unknown-linux-gnu" ] && [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then
rust_targets="${rust_targets},\"aarch64-unknown-linux-gnu\""
fi
rust_targets="${rust_targets#,}"
@ -300,7 +300,7 @@ src_configure() {
fi
done
# Could soon be replaced by the "experimental cross support" below
if [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then
if [ "${CBUILD}" != "aarch64-unknown-linux-gnu" ] && [ -f /usr/bin/aarch64-cros-linux-gnu-gcc ]; then
cat <<- 'EOF' > "${S}/cc.sh"
#!/bin/bash
args=("$@")

View File

@ -14,7 +14,7 @@ HOMEPAGE="http://www.chromium.org/chromium-os"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64"
KEYWORDS="amd64 arm64"
IUSE=""
src_configure() {

View File

@ -1,7 +1,3 @@
# Enable optimizations for common x86_64 CPUs
CFLAGS="-O2 -pipe -mtune=generic"
CXXFLAGS="${CFLAGS}"
# add cros_host to bootstrapping USE flags so SDK / toolchains bootstrapping
# will use vim's vimrc instead of baselayouts',
BOOTSTRAP_USE="$BOOTSTRAP_USE cros_host"

View File

@ -0,0 +1,2 @@
# platform "pc" is not supported for target CPU "arm64"
GRUB_PLATFORMS="efi-64"

View File

@ -3,12 +3,20 @@
=app-arch/bzip2-1.0.6-r8 ~arm64
=app-arch/libarchive-3.3.1 ~arm64
~app-arch/pbzip2-1.1.12 ~arm64
=app-arch/pigz-2.3.3 ~arm64
=app-crypt/mit-krb5-1.14.2 ~arm64
=app-emulation/open-vmdk-1.0 *
=app-eselect/eselect-rust-20190311 ~arm64
app-misc/editor-wrapper *
=app-text/asciidoc-8.6.9-r3 ~arm64
=dev-cpp/gflags-2.2.0 ~arm64
=dev-cpp/glog-0.3.4-r1 ~arm64
=dev-embedded/u-boot-tools-2019.10 ~arm64
=dev-lang/nasm-2.14.02 *
=dev-lang/perl-5.24.1-r2 ~arm64
=dev-lang/swig-3.0.12 ~arm64
=dev-lang/yasm-1.3.0 ~arm64
=dev-libs/ding-libs-0.4.0 **
=dev-libs/elfutils-0.169-r1 ~arm64
=dev-libs/libassuan-2.5.1 ~arm64
@ -21,9 +29,25 @@
=dev-libs/userspace-rcu-0.9.1 **
=dev-perl/libintl-perl-1.240.0-r2 ~arm64
=dev-perl/Text-Unidecode-1.270.0 ~arm64
=dev-python/astroid-1.4.8 *
=dev-python/backports-functools-lru-cache-1.3 *
=dev-python/configparser-3.5.0 *
=dev-python/ctypesgen-0_p72-r1 *
=dev-python/flake8-2.5.4 ~arm64
=dev-python/isort-4.2.5 *
=dev-python/lazy-object-proxy-1.2.1 *
=dev-python/mako-1.0.3 ~arm64
=dev-python/mccabe-0.2.1 *
dev-python/pep8 ~arm64
=dev-python/pyflakes-0.8.1 *
=dev-python/pylint-1.6.5-r1 *
=dev-python/wrapt-1.10.5 *
dev-util/checkbashisms *
=dev-util/meson-0.43.0 ~arm64
=dev-util/ninja-1.8.2 ~arm64
=dev-util/re2c-0.16 ~arm64
dev-util/patchelf *
dev-util/shflags *
=net-analyzer/nmap-7.40 ~arm64
=net-analyzer/tcpdump-4.9.2 ~arm64
=net-dialup/minicom-2.7.1 ~arm64
@ -46,23 +70,37 @@
=net-misc/socat-1.7.3.2 ~arm64
=net-nds/openldap-2.4.44 ~arm64
=perl-core/File-Path-2.130.0 ~arm64
sys-apps/checkpolicy *
sys-apps/debianutils *
sys-apps/dtc ~arm64
=sys-apps/i2c-tools-3.1.1-r1 ~arm64
=sys-apps/lshw-02.17b-r2 **
=sys-apps/man-db-2.7.6.1-r2 ~arm64
sys-apps/policycoreutils *
=sys-apps/pv-1.3.4 *
=sys-apps/rng-tools-5-r2 **
=sys-apps/sandbox-2.12 ~arm64
=sys-apps/smartmontools-6.4 **
=sys-block/parted-3.2-r1 ~arm64
=sys-block/thin-provisioning-tools-0.7.0 ~arm64
=sys-boot/efibootmgr-15 ~arm64
=sys-boot/gnu-efi-3.0.3 ~arm64
=sys-cluster/ipvsadm-1.27-r1 **
=sys-firmware/edk2-aarch64-18.02 **
=sys-firmware/ipxe-1.0.0_p20190728 ~arm64
=sys-firmware/seabios-1.12.0 ~arm64
~sys-firmware/sgabios-0.1_pre8 ~arm64
=sys-fs/btrfs-progs-4.10.2 ~arm64
=sys-fs/btrfs-progs-4.19.1 ~arm64
=sys-fs/cryptsetup-1.7.5 ~arm64
=sys-fs/lsscsi-0.28 ~arm64
=sys-fs/quota-4.04-r1 ~arm64
=sys-libs/binutils-libs-2.29.1-r1 ~arm64
=sys-libs/efivar-31 ~arm64
=sys-libs/libcap-ng-0.7.8 ~arm64
=sys-power/iasl-20161222 ~arm64
=virtual/krb5-0-r1 ~arm64
=virtual/libusb-1-r2 ~arm64
=virtual/perl-File-Path-2.130.0 ~arm64
=virtual/cdrtools-0 *
=x11-libs/pixman-0.32.8 ~arm64

View File

@ -95,7 +95,7 @@ cros_pre_pkg_setup_sysroot_build_bin_dir() {
}
# Insert our sysroot wrappers into the path
SYSROOT_WRAPPERS_BIN="/usr/lib/sysroot-wrappers/bin"
SYSROOT_WRAPPERS_BIN="/usr/lib64/sysroot-wrappers/bin"
if [[ "$PATH" != *"$SYSROOT_WRAPPERS_BIN"* ]]; then
export PATH="$SYSROOT_WRAPPERS_BIN:$PATH"
fi

View File

@ -4,9 +4,6 @@ USE="man -pam"
# TODO: clean up that old goo
CROS_SDK_HOST="cros-sdk-host"
# Enable our assorted GRUB targets
GRUB_PLATFORMS="efi-64 pc xen"
# Enable CPU architectures needed by Rust builds
LLVM_TARGETS="X86 AArch64"
@ -18,3 +15,7 @@ QEMU_USER_TARGETS="aarch64"
# Disable ccache in the SDK so it stops randomly breaking catalyst.
FEATURES="-ccache"
# add cros_host to bootstrapping USE flags so SDK / toolchains bootstrapping
# will use vim's vimrc instead of baselayouts',
BOOTSTRAP_USE="$BOOTSTRAP_USE cros_host"

View File

@ -9,7 +9,7 @@ SRC_URI="https://github.com/coreos/${PN}/releases/download/v${PV}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64"
KEYWORDS="amd64 arm64"
IUSE=""
# Probably can be reduced in later versions but