aboutsummaryrefslogtreecommitdiff
path: root/projects/mosys
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2016-12-23 14:20:24 +0100
committerLeah Rowe <info@minifree.org>2017-01-15 14:24:45 +0000
commit112003a55671ffa5285145280988dc1248b26b08 (patch)
treee103e0f21ac52c28056db6211758217a41b0b3fd /projects/mosys
parent3d08effb91acf985bae9c4eb4386937ce7ed92a9 (diff)
downloadlibrebootfr-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/install1
-rw-r--r--projects/mosys/configs/revision1
-rwxr-xr-xprojects/mosys/mosys111
-rw-r--r--projects/mosys/patches/0001-Force-the-definition-of-build-tools.patch44
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
+