diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2016-12-23 14:20:24 +0100 |
---|---|---|
committer | Leah Rowe <info@minifree.org> | 2017-01-15 14:24:45 +0000 |
commit | 112003a55671ffa5285145280988dc1248b26b08 (patch) | |
tree | e103e0f21ac52c28056db6211758217a41b0b3fd /projects/mosys | |
parent | 3d08effb91acf985bae9c4eb4386937ce7ed92a9 (diff) | |
download | librebootfr-112003a55671ffa5285145280988dc1248b26b08.tar.gz librebootfr-112003a55671ffa5285145280988dc1248b26b08.zip |
Paper build system initial import into Libreboot
This is the initial import of the Paper build system into Libreboot.
It was written as a flexible and painless replacement for the Libreboot
build system, allowing to support many different configurations.
It currently only supports the following CrOS devices:
* Chromebook 13 CB5-311 (nyan big)
* Chromebook 14 (nyan blaze)
* Chromebook 11 (HiSense) (veyron jerry)
* Chromebit CS10 (veyron mickey)
* Chromebook Flip C100PA (veyron minnie)
* Chromebook C201PA (veyron speedy)
The build system also supports building various tools and provides
various scripts to ease the installation on CrOS devices.
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'projects/mosys')
-rw-r--r-- | projects/mosys/configs/install | 1 | ||||
-rw-r--r-- | projects/mosys/configs/revision | 1 | ||||
-rwxr-xr-x | projects/mosys/mosys | 111 | ||||
-rw-r--r-- | projects/mosys/patches/0001-Force-the-definition-of-build-tools.patch | 44 |
4 files changed, 157 insertions, 0 deletions
diff --git a/projects/mosys/configs/install b/projects/mosys/configs/install new file mode 100644 index 00000000..9ef89f79 --- /dev/null +++ b/projects/mosys/configs/install @@ -0,0 +1 @@ +mosys:mosys diff --git a/projects/mosys/configs/revision b/projects/mosys/configs/revision new file mode 100644 index 00000000..79d3a325 --- /dev/null +++ b/projects/mosys/configs/revision @@ -0,0 +1 @@ +origin/release-R56-9000.B diff --git a/projects/mosys/mosys b/projects/mosys/mosys new file mode 100755 index 00000000..76b9d15b --- /dev/null +++ b/projects/mosys/mosys @@ -0,0 +1,111 @@ +#!/bin/bash + +# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> +# +# 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, either version 3 of the License, or +# (at your option) any later version. +# +# 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/>. + +download() { + local repository=$project + + project_download_git "$project" "$repository" "https://chromium.googlesource.com/chromiumos/platform/mosys" "$@" +} + +download_check() { + local repository=$project + + project_download_check_git "$project" "$repository" "$@" +} + +extract() { + local repository=$project + + project_extract "$project" "$@" +} + +extract_check() { + local repository=$project + + project_extract_check "$project" "$@" +} + +update() { + local repository=$project + + project_update_git "$project" "$repository" "$@" +} + +update_check() { + local repository=$project + + project_update_check_git "$project" "$repository" "$@" +} + +build() { + local repository=$project + + project_sources_directory_missing_empty_error "$project" "$repository" "$@" + + local sources_path=$( project_sources_path "$project" "$repository" "$@" ) + local build_path=$( project_build_path "$project" "$@" ) + + local flashmap_build_path=$( project_build_path "flashmap" "$@" ) + + if git_project_check "$repository" + then + git_project_checkout "$project" "$repository" "$@" + fi + + project_action "build" "flashmap" "$@" + + mkdir -p "$build_path" + + make -C "$sources_path" objtree="$build_path" "defconfig" + make -C "$sources_path" objtree="$build_path" EXTRA_CFLAGS="-I $flashmap_build_path/lib" FMAP_LINKOPT="-I $flashmap_build_path/lib -L $flashmap_build_path/lib -lfmap" -j$TASKS + + cp "$sources_path/mosys" "$build_path" + + make -C "$sources_path" "clean" +} + +build_check() { + project_build_check "$project" "$@" +} + +install() { + project_install "$project" "$@" +} + +install_check() { + project_install_check "$project" "$@" +} + +release() { + local repository=$project + + project_release_install_archive "$project" "$TOOLS" "$@" + + project_release_sources_git "$project" "$repository" "$@" +} + +release_check() { + local repository=$project + + project_release_install_archive_check "$project" "$TOOLS" "$@" + + project_release_check_sources_git "$project" "$repository" "$@" +} + +clean() { + project_clean "$project" "$@" +} diff --git a/projects/mosys/patches/0001-Force-the-definition-of-build-tools.patch b/projects/mosys/patches/0001-Force-the-definition-of-build-tools.patch new file mode 100644 index 00000000..cb5728db --- /dev/null +++ b/projects/mosys/patches/0001-Force-the-definition-of-build-tools.patch @@ -0,0 +1,44 @@ +From f8aa6a0eeaa6ae3fd4dfe2d60118a47a3867c906 Mon Sep 17 00:00:00 2001 +From: Paul Kocialkowski <contact@paulk.fr> +Date: Wed, 10 Feb 2016 20:44:09 +0100 +Subject: [PATCH] Force the definition of build tools + +Signed-off-by: Paul Kocialkowski <contact@paulk.fr> +--- + Makefile | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/Makefile b/Makefile +index c4cd006..5244242 100644 +--- a/Makefile ++++ b/Makefile +@@ -264,16 +264,16 @@ include $(srctree)/scripts/Kbuild.include + + # Make variables (CC, etc...) + +-AR ?= $(CROSS_COMPILE)ar +-AS ?= $(CROSS_COMPILE)as +-CC ?= $(CROSS_COMPILE)gcc +-CPP ?= $(CC) -E +-LD ?= $(CROSS_COMPILE)ld +-NM ?= $(CROSS_COMPILE)nm +-STRIP ?= $(CROSS_COMPILE)strip +-OBJCOPY ?= $(CROSS_COMPILE)objcopy +-OBJDUMP ?= $(CROSS_COMPILE)objdump +-INSTALL ?= install ++AR := $(CROSS_COMPILE)ar ++AS := $(CROSS_COMPILE)as ++CC := $(CROSS_COMPILE)gcc ++CPP := $(CC) -E ++LD := $(CROSS_COMPILE)ld ++NM := $(CROSS_COMPILE)nm ++STRIP := $(CROSS_COMPILE)strip ++OBJCOPY := $(CROSS_COMPILE)objcopy ++OBJDUMP := $(CROSS_COMPILE)objdump ++INSTALL := install + AWK = awk + DEPMOD = /sbin/depmod + CHECK = sparse +-- +1.9.1 + |