diff --git a/overlay-lakitu/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r205.ebuild b/overlay-lakitu/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r205.ebuild
new file mode 100644
index 0000000..577f58d
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/chromeos-common-script/chromeos-common-script-0.0.1-r205.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="c142078820d0707858873cedb290a78d36f531af"
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "0468cec41388f85dd89a5eb66bef35fcf7a5c524" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk chromeos-common-script .gn"
+
+PLATFORM_SUBDIR="chromeos-common-script"
+
+inherit cros-workon platform
+
+DESCRIPTION="Chrome OS storage info tools"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-common-script/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="direncryption"
+
+DEPEND=""
+
+RDEPEND="!<chromeos-base/chromeos-installer-0.0.3"
+
+src_install() {
+	insinto /usr/share/misc
+	doins share/chromeos-common.sh
+	if use direncryption; then
+		sed -i '/local direncryption_enabled=/s/false/true/' \
+			"${D}/usr/share/misc/chromeos-common.sh" ||
+			die "Can not set directory encryption in common library"
+	fi
+}
diff --git a/overlay-lakitu/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3381.ebuild b/overlay-lakitu/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3381.ebuild
new file mode 100644
index 0000000..6953a19
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/chromeos-installer/chromeos-installer-0.0.3-r3381.ebuild
@@ -0,0 +1,79 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT="c142078820d0707858873cedb290a78d36f531af"
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "3a608885c9d4dc5bc5fee48f1bac2c54e75363e1" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk installer .gn"
+
+PLATFORM_SUBDIR="installer"
+
+inherit cros-workon platform systemd
+
+DESCRIPTION="Chrome OS Installer"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/installer/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+SLOT="0"
+KEYWORDS="*"
+IUSE="cros_embedded cros_host enable_slow_boot_notify -mtd pam systemd test +oobe_config"
+
+COMMON_DEPEND="
+	chromeos-base/libbrillo:=
+	chromeos-base/vboot_reference
+"
+
+DEPEND="${COMMON_DEPEND}
+	chromeos-base/verity
+	dev-libs/openssl:0=
+"
+
+RDEPEND="${COMMON_DEPEND}
+	pam? ( app-admin/sudo )
+	chromeos-base/chromeos-common-script
+	!cros_host? (
+		!cros_embedded? ( chromeos-base/chromeos-storage-info )
+		oobe_config? ( chromeos-base/oobe_config )
+		dev-libs/openssl:0=
+	)
+	dev-util/shflags
+	sys-apps/rootdev
+	sys-apps/util-linux
+	sys-apps/which
+	sys-fs/e2fsprogs"
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/cros_installer_test"
+}
+
+src_install() {
+	if use cros_host ; then
+		dosbin chromeos-install
+	else
+		dobin "${OUT}"/{cros_installer,cros_oobe_crypto}
+		if use mtd ; then
+			dobin "${OUT}"/nand_partition
+		fi
+		dosbin chromeos-* encrypted_import "${OUT}"/evwaitkey
+		dosym usr/sbin/chromeos-postinst /postinst
+
+		# Install init scripts.
+		if use systemd; then
+			systemd_dounit init/install-completed.service
+			systemd_enable_service boot-services.target install-completed.service
+			systemd_dounit init/crx-import.service
+			systemd_enable_service system-services.target crx-import.service
+		else
+			insinto /etc/init
+			doins init/*.conf
+		fi
+		exeinto /usr/share/cros/init
+		doexe init/crx-import.sh
+	fi
+}
diff --git a/overlay-lakitu/chromeos-base/chromeos-installer/files/chromeos-version.sh b/overlay-lakitu/chromeos-base/chromeos-installer/files/chromeos-version.sh
new file mode 100755
index 0000000..43df299
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/chromeos-installer/files/chromeos-version.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This echo statement sets the package base version (without its -r value).
+# If it is necessary to add a new blocker or version dependency on this ebuild
+# at the same time as revving the ebuild to a known version value, editing this
+# version can be useful.
+echo 0.0.3
diff --git a/overlay-lakitu/chromeos-base/crash-reporter/OWNERS b/overlay-lakitu/chromeos-base/crash-reporter/OWNERS
new file mode 100644
index 0000000..b457d36
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/crash-reporter/OWNERS
@@ -0,0 +1,2 @@
+set noparent
+include chromiumos/platform2:/crash-reporter/OWNERS
diff --git a/overlay-lakitu/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3312.ebuild b/overlay-lakitu/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3312.ebuild
new file mode 100644
index 0000000..742af3c
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/crash-reporter/crash-reporter-0.0.1-r3312.ebuild
@@ -0,0 +1,142 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="a1b9a034138b73293749ad546a885d23ddba5f82"
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "197046ff3b04ce2b8d6a73c415ec3b924bccdc44" "7e189936f29d145c4191ea147e48256c92fac75d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+# TODO(crbug.com/809389): Avoid directly including headers from other packages.
+CROS_WORKON_SUBTREE="common-mk crash-reporter metrics .gn"
+
+PLATFORM_SUBDIR="crash-reporter"
+
+inherit cros-i686 cros-workon platform systemd udev user
+
+DESCRIPTION="Crash reporting service that uploads crash reports with debug information"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/crash-reporter/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cheets chromeless_tty cros_embedded -direncryption kvm_guest systemd fuzzer"
+
+COMMON_DEPEND="
+	chromeos-base/minijail:=
+	chromeos-base/google-breakpad:=[cros_i686?]
+	chromeos-base/metrics:=
+	dev-libs/libpcre:=
+	dev-libs/protobuf:=
+	dev-libs/re2:=
+	kvm_guest? ( net-libs/grpc:= )
+	net-misc/curl:=
+	sys-libs/zlib:=
+"
+RDEPEND="${COMMON_DEPEND}
+	chromeos-base/chromeos-ca-certificates
+	|| ( sys-apps/journald:= sys-apps/systemd:= )
+	direncryption? ( sys-apps/keyutils:= )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/debugd-client:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+	chromeos-base/vm_protos:=
+"
+
+src_configure() {
+	platform_src_configure
+	use cheets && use_i686 && platform_src_configure_i686
+}
+
+src_compile() {
+	platform_src_compile
+	use cheets && use_i686 && platform_src_compile_i686 "core_collector"
+}
+
+pkg_setup() {
+	# Has to be done in pkg_setup() instead of pkg_preinst() since
+	# src_install() will need the crash user and group.
+	enewuser "crash"
+	enewgroup "crash"
+	# A group to manage file permissions for files that crash reporter
+	# components need to access.
+	enewgroup "crash-access"
+	# A group to grant access to the user's crash directory (in /home)
+	enewgroup "crash-user-access"
+	cros-workon_pkg_setup
+}
+
+src_install() {
+	into /
+	dosbin "${OUT}"/crash_reporter
+	dosbin "${OUT}"/crash_sender
+
+	insinto /etc/dbus-1/system.d
+	doins dbus/org.chromium.AnomalyEventService.conf
+
+	local daemon_store="/etc/daemon-store/crash"
+	dodir "${daemon_store}"
+	fperms 3770 "${daemon_store}"
+	fowners crash:crash-user-access "${daemon_store}"
+
+	into /usr
+	use cros_embedded || dobin "${OUT}"/anomaly_detector
+	dosbin kernel_log_collector.sh
+
+	if use cheets; then
+		dobin "${OUT}"/core_collector
+		use_i686 && newbin "$(platform_out_i686)"/core_collector "core_collector32"
+	fi
+
+	if use systemd; then
+		systemd_dounit init/crash-reporter.service
+		systemd_dounit init/crash-boot-collect.service
+		systemd_enable_service multi-user.target crash-reporter.service
+		systemd_enable_service multi-user.target crash-boot-collect.service
+		systemd_dounit init/crash-sender.service
+		systemd_enable_service multi-user.target crash-sender.service
+		systemd_dounit init/crash-sender.timer
+		systemd_enable_service timers.target crash-sender.timer
+		if ! use cros_embedded; then
+			systemd_dounit init/anomaly-detector.service
+			systemd_enable_service multi-user.target anomaly-detector.service
+		fi
+	else
+		insinto /etc/init
+		doins init/crash-reporter.conf
+		doins init/crash-reporter-early-init.conf
+		doins init/crash-boot-collect.conf
+		doins init/crash-sender.conf
+		use cros_embedded || doins init/anomaly-detector.conf
+	fi
+
+	insinto /etc
+	doins crash_reporter_logs.conf
+
+	udev_dorules 99-crash-reporter.rules
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/crash_sender_fuzzer \
+		--dict "${S}"/crash_sender_fuzzer.dict
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/anomaly_detector_fuzzer \
+		--dict "${S}"/anomaly_detector_fuzzer.dict
+}
+
+platform_pkg_test() {
+	local gtest_filter_user_tests="-*.RunAsRoot*:"
+	local gtest_filter_root_tests="*.RunAsRoot*-"
+
+	platform_test "run" "${OUT}/crash_reporter_test" "0" \
+		"${gtest_filter_user_tests}"
+	platform_test "run" "${OUT}/crash_reporter_test" "1" \
+		"${gtest_filter_root_tests}"
+	platform_test "run" "${OUT}/anomaly_detector_test"
+	platform_test "run" "${OUT}/anomaly_detector_text_file_reader_test"
+	platform_test "run" "${OUT}/anomaly_detector_log_reader_test"
+}
diff --git a/overlay-lakitu/chromeos-base/google-breakpad/OWNERS b/overlay-lakitu/chromeos-base/google-breakpad/OWNERS
new file mode 100644
index 0000000..b457d36
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/google-breakpad/OWNERS
@@ -0,0 +1,2 @@
+set noparent
+include chromiumos/platform2:/crash-reporter/OWNERS
diff --git a/overlay-lakitu/chromeos-base/google-breakpad/files/chromeos-version.sh b/overlay-lakitu/chromeos-base/google-breakpad/files/chromeos-version.sh
new file mode 100755
index 0000000..0e459c2
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/google-breakpad/files/chromeos-version.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This script is given one argument: the base of the source directory of
+# the package, and it prints a string on stdout with the numerical version
+# number for said repo.
+
+# Use the timestamp of the last git commit as our version.
+# In practice, it should never go backwards in time ...
+stamp=$(git --git-dir="$1/.git" log -n1 --pretty=format:%ci HEAD)
+exec date --date="${stamp}" -u "+%Y.%m.%d.%H%M%S"
diff --git a/overlay-lakitu/chromeos-base/google-breakpad/google-breakpad-2020.06.05.013145-r187.ebuild b/overlay-lakitu/chromeos-base/google-breakpad/google-breakpad-2020.06.05.013145-r187.ebuild
new file mode 100644
index 0000000..f86920c
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/google-breakpad/google-breakpad-2020.06.05.013145-r187.ebuild
@@ -0,0 +1,134 @@
+# Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("2757a2c9c819fcae3784576aef0c8400c7ad06d7" "8048ece6c16c91acfe0d36d1d3cc0890ab6e945c")
+CROS_WORKON_TREE=("db3eb4400e3481586bfabec9075d3aebbfee8d1b" "84dd0fabdc4d0729885dc7ce3ac35903504ba5e6")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform/google-breakpad"
+	"linux-syscall-support"
+)
+CROS_WORKON_LOCALNAME=(
+	"third_party/breakpad"
+	"third_party/breakpad/src/third_party/lss"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}"
+	"${S}/src/third_party/lss"
+)
+
+inherit cros-i686 cros-workon flag-o-matic multiprocessing
+
+DESCRIPTION="Google crash reporting"
+HOMEPAGE="https://chromium.googlesource.com/breakpad/breakpad"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-alltests cros_host test"
+
+COMMON_DEPEND="net-misc/curl:="
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	test? (
+		dev-cpp/gtest:=
+	)
+"
+
+src_prepare() {
+	default
+	find "${S}" -type f -exec touch -r "${S}"/configure {} +
+}
+
+src_configure() {
+	append-flags -g
+
+	# Disable flaky tests by default.  Do it here because the CPPFLAGS
+	# are recorded at configure time and not read on the fly.
+	# http://crbug.com/359999
+	use alltests && append-cppflags -DENABLE_FLAKY_TESTS
+
+	multijob_init
+
+	mkdir build
+	pushd build >/dev/null || die
+	ECONF_SOURCE=${S} multijob_child_init econf --enable-system-test-libs
+	popd >/dev/null || die
+
+	if use cros_host || use_i686; then
+		# The mindump code is still wordsize specific.  Needs to be redone
+		# like https://code.google.com/p/google-breakpad/source/detail?r=987.
+		einfo "Configuring 32-bit build"
+		mkdir work32
+		pushd work32 >/dev/null
+		use cros_host && append-flags "-m32"
+		use_i686 && push_i686_env
+		# Can be dropped once this is merged upstream:
+		# https://breakpad.appspot.com/619002/
+		append-lfs-flags # crbug.com/266064
+		ECONF_SOURCE=${S} multijob_child_init econf
+		filter-lfs-flags
+		use_i686 && pop_i686_env
+		use cros_host && filter-flags "-m32"
+		popd >/dev/null
+	fi
+
+	multijob_finish
+}
+
+src_compile() {
+	emake -C build
+
+	if use cros_host; then
+		einfo "Building 32-bit tools"
+		emake -C work32 \
+			src/tools/linux/md2core/minidump-2-core
+	fi
+
+	if use_i686; then
+		einfo "Building 32-bit library"
+		push_i686_env
+		emake -C work32 src/client/linux/libbreakpad_client.a
+		pop_i686_env
+	fi
+}
+
+src_test() {
+	if ! use x86 && ! use amd64 ; then
+		einfo Skipping unit tests on non-x86 platform
+		return
+	fi
+	emake -C build check
+}
+
+src_install() {
+	pushd build >/dev/null
+	emake DESTDIR="${D}" install
+	dobin src/tools/linux/core2md/core2md \
+	      src/tools/linux/md2core/minidump-2-core \
+	      src/tools/linux/dump_syms/dump_syms \
+	      src/tools/linux/symupload/sym_upload \
+	      src/tools/linux/symupload/minidump_upload
+	popd >/dev/null
+
+	insinto /usr/include/google-breakpad/client/linux/handler
+	doins src/client/linux/handler/*.h
+	insinto /usr/include/google-breakpad/client/linux/crash_generation
+	doins src/client/linux/crash_generation/*.h
+	insinto /usr/include/google-breakpad/common/linux
+	doins src/common/linux/*.h
+	insinto /usr/include/google-breakpad/processor
+	doins src/processor/*.h
+
+	if use cros_host; then
+		newbin work32/src/tools/linux/md2core/minidump-2-core \
+		       minidump-2-core.32
+	fi
+
+	if use_i686; then
+		push_i686_env
+		dolib.a work32/src/client/linux/libbreakpad_client.a
+		pop_i686_env
+	fi
+}
diff --git a/overlay-lakitu/chromeos-base/libbrillo/files/chromeos-version.sh b/overlay-lakitu/chromeos-base/libbrillo/files/chromeos-version.sh
new file mode 100755
index 0000000..cb927b8
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/libbrillo/files/chromeos-version.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This echo statement sets the package base version (without its -r value).
+# If it is necessary to add a new blocker or version dependency on this ebuild
+# at the same time as revving the ebuild to a known version value, editing this
+# version can be useful.
+echo 0.0.1
diff --git a/overlay-lakitu/chromeos-base/libbrillo/libbrillo-0.0.1-r1668.ebuild b/overlay-lakitu/chromeos-base/libbrillo/libbrillo-0.0.1-r1668.ebuild
new file mode 100644
index 0000000..ea5cf07
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/libbrillo/libbrillo-0.0.1-r1668.ebuild
@@ -0,0 +1,87 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="aec2eaa3b24aa7fc9ec3c27a8675265cb67837c7"
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "9da9751f965ac8cdb8411a0766dad4f0676e1083" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_OUTOFTREE_BUILD=1
+CROS_WORKON_SUBTREE="common-mk libbrillo .gn"
+
+PLATFORM_SUBDIR="libbrillo"
+
+# platform.eclass automatically add dependency to libbrillo by default,
+# but this package should not have the dependency.
+WANT_LIBBRILLO="no"
+
+inherit cros-workon platform
+
+DESCRIPTION="Base library for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/libbrillo/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host +dbus +device_mapper fuzzer +udev"
+
+COMMON_DEPEND="
+	chromeos-base/minijail:=
+	dbus? ( dev-libs/dbus-glib:= )
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	net-libs/grpc:=
+	net-misc/curl:=
+	sys-apps/rootdev:=
+	device_mapper? ( sys-fs/lvm2:= )
+	udev? ( virtual/libudev )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	!cros_host? ( chromeos-base/libchromeos-use-flags )
+	chromeos-base/chromeos-ca-certificates
+	!chromeos-base/libchromeos
+"
+DEPEND="
+	${COMMON_DEPEND}
+	>=chromeos-base/protofiles-0.0.39:=
+	dbus? ( chromeos-base/system_api:=[fuzzer?] )
+	dev-libs/modp_b64:=
+"
+
+src_install() {
+	insinto "/usr/$(get_libdir)/pkgconfig"
+
+	dolib.so "${OUT}"/lib/lib{brillo,installattributes,policy}*.so
+	dolib.a "${OUT}"/libbrillo*.a
+	# Install libbrillo with and without version number as a temporary
+	# measure.
+	doins "${OUT}"/obj/libbrillo/libbrillo*.pc
+
+	# Install all the header files from libbrillo/brillo/*.h into
+	# /usr/include/brillo (recursively, with sub-directories).
+	local dir
+	while read -d $'\0' -r dir; do
+		insinto "/usr/include/${dir}"
+		doins "${dir}"/*.h
+	done < <(find brillo -type d -print0)
+
+	insinto /usr/include/policy
+	doins policy/*.h
+	insinto /usr/include/install_attributes
+	doins install_attributes/libinstallattributes.h
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_data_encoding_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/libbrillo_dbus_data_serialization_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/libbrillo_http_form_data_fuzzer
+}
+
+platform_pkg_test() {
+	local gtest_filter_qemu="-*DeathTest*"
+	platform_test "run" "${OUT}/libbrillo_tests" "" "" "${gtest_filter_qemu}"
+	platform_test "run" "${OUT}/libinstallattributes_tests"
+	platform_test "run" "${OUT}/libpolicy_tests"
+	platform_test "run" "${OUT}/libbrillo-grpc_tests"
+}
diff --git a/overlay-lakitu/chromeos-base/libchrome/files/libchrome-Disable-memory-allocator.patch b/overlay-lakitu/chromeos-base/libchrome/files/libchrome-Disable-memory-allocator.patch
new file mode 100644
index 0000000..2e0f06a
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/libchrome/files/libchrome-Disable-memory-allocator.patch
@@ -0,0 +1,50 @@
+From: Hidehiko Abe <hidehiko@chromium.org>
+Date: Thu, 22 Nov 2018 01:59:18 +0900
+Subject: [PATCH] libchrome: Disable memory allocator in asan builds.
+
+Memory allocator in //base/allocator should not be used
+with address sanitizer. Otherwise, it breaks asan builds since
+many memory allocations will go to the base allocator instead
+of asan.
+
+BUG=chromium:807685
+TEST=Build.
+---
+ base/allocator/allocator_shim_override_cpp_symbols.h  | 2 ++
+ base/allocator/allocator_shim_override_libc_symbols.h | 2 ++
+ 2 files changed, 4 insertions(+)
+
+diff --git a/base/allocator/allocator_shim_override_cpp_symbols.h b/base/allocator/allocator_shim_override_cpp_symbols.h
+index 3313687..9f57025 100644
+--- a/base/allocator/allocator_shim_override_cpp_symbols.h
++++ b/base/allocator/allocator_shim_override_cpp_symbols.h
+@@ -15,6 +15,7 @@
+ 
+ #include "base/allocator/allocator_shim_internals.h"
+ 
++#if 0
+ SHIM_ALWAYS_EXPORT void* operator new(size_t size) {
+   return ShimCppNew(size);
+ }
+@@ -49,3 +50,4 @@ SHIM_ALWAYS_EXPORT void operator delete[](void* p,
+                                           const std::nothrow_t&) __THROW {
+   ShimCppDelete(p);
+ }
++#endif
+diff --git a/base/allocator/allocator_shim_override_libc_symbols.h b/base/allocator/allocator_shim_override_libc_symbols.h
+index b77cbb1..c501c23 100644
+--- a/base/allocator/allocator_shim_override_libc_symbols.h
++++ b/base/allocator/allocator_shim_override_libc_symbols.h
+@@ -14,6 +14,7 @@
+ 
+ #include "base/allocator/allocator_shim_internals.h"
+ 
++#if 0
+ extern "C" {
+ 
+ SHIM_ALWAYS_EXPORT void* malloc(size_t size) __THROW {
+@@ -61,3 +62,4 @@ SHIM_ALWAYS_EXPORT int posix_memalign(void** r, size_t a, size_t s) __THROW {
+ //   size_t malloc_usable_size(const void*);
+ 
+ }  // extern "C"
++#endif
diff --git a/overlay-lakitu/chromeos-base/libchrome/files/libchrome-Disable-object-tracking.patch b/overlay-lakitu/chromeos-base/libchrome/files/libchrome-Disable-object-tracking.patch
new file mode 100644
index 0000000..2cf628d
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/libchrome/files/libchrome-Disable-object-tracking.patch
@@ -0,0 +1,16 @@
+Remove the object tracking code as it is causing memory leaks
+in sanitizer builds, https://crbug.com/908138.
+This code is already removed from upstream chromium //base code.
+
+diff --git a/base/tracked_objects.cc b/base/tracked_objects.cc
+index 1507c09..882f5fb 100644
+--- a/base/tracked_objects.cc
++++ b/base/tracked_objects.cc
+@@ -891,7 +891,6 @@ void ThreadData::ShutdownSingleThreadedCleanup(bool leak) {
+ // static
+ ThreadData* ThreadData::GetRetiredOrCreateThreadData(
+     const std::string& sanitized_thread_name) {
+-  SCOPED_UMA_HISTOGRAM_TIMER("TrackedObjects.GetRetiredOrCreateThreadData");
+ 
+   {
+     base::AutoLock lock(*list_lock_.Pointer());
diff --git a/overlay-lakitu/chromeos-base/libchrome/files/ubsan_blocklist.txt b/overlay-lakitu/chromeos-base/libchrome/files/ubsan_blocklist.txt
new file mode 100644
index 0000000..e5b4d51
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/libchrome/files/ubsan_blocklist.txt
@@ -0,0 +1,3 @@
+# Suppress spurious Incorrect-function-pointer-type error.
+# https://crbug.com/950000
+fun:*internal*BindStateBaseRefCountTraits*Destruct*
diff --git a/overlay-lakitu/chromeos-base/libchrome/libchrome-0.0.1-r37.ebuild b/overlay-lakitu/chromeos-base/libchrome/libchrome-0.0.1-r37.ebuild
new file mode 100644
index 0000000..85efe71
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/libchrome/libchrome-0.0.1-r37.ebuild
@@ -0,0 +1,240 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+CROS_WORKON_COMMIT=("3c84ec7b4a00f71d4c24b04aeeb0533d9242150d" "58af3a81c74511678039bf6a17f21f4aae54eae3")
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "debc0344fe932d71dd37515f6fd39ce72638529a")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/libchrome")
+CROS_WORKON_LOCALNAME=("platform2" "aosp/external/libchrome")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/libchrome")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+WANT_LIBCHROME="no"
+IS_LIBCHROME="yes"
+inherit cros-workon libchrome-version platform
+
+DESCRIPTION="Chrome base/ and dbus/ libraries extracted for use on Chrome OS"
+HOMEPAGE="http://dev.chromium.org/chromium-os/packages/libchrome"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host +crypto +dbus fuzzer +mojo +timers"
+
+PLATFORM_SUBDIR="libchrome"
+
+# TODO(avakulenko): Put dev-libs/nss behind a USE flag to make sure NSS is
+# pulled only into the configurations that require it.
+# TODO(fqj): remove !chromeos-base/libchrome-${BASE_VER} on next uprev to r680000.
+RDEPEND="dev-libs/glib:2=
+	dev-libs/libevent:=
+	dev-libs/modp_b64:=
+	crypto? (
+		dev-libs/nss:=
+		dev-libs/openssl:=
+	)
+	dbus? (
+		sys-apps/dbus:=
+		dev-libs/protobuf:=
+	)
+	dev-libs/re2:=
+	!~chromeos-base/libchrome-576279
+	!chromeos-base/libchrome:576279
+	!chromeos-base/libchrome:462023
+	!chromeos-base/libchrome:456626
+	!chromeos-base/libchrome:395517
+"
+DEPEND="${RDEPEND}
+	dev-cpp/gtest:=
+"
+
+# libmojo used to be in a separate package, which now conflicts with libchrome.
+# Add softblocker here, to resolve the conflict, in case building the package
+# on the environment where old libmojo is installed.
+# TODO(hidehiko): Clean up the blocker after certain period.
+RDEPEND="${RDEPEND}
+	!chromeos-base/libmojo"
+
+# libmojo depends on libbase-crypto.
+REQUIRED_USE="mojo? ( crypto )"
+
+src_prepare() {
+	# epatch "${FILESDIR}"/${PN}-Replace-std-unordered_map-with-std-map-for-dbus-Prop.patch
+	# epatch "${FILESDIR}"/${PN}-dbus-Filter-signal-by-the-sender-we-are-interested-i.patch
+	# epatch "${FILESDIR}"/${PN}-dbus-Make-MockObjectManager-useful.patch
+	# epatch "${FILESDIR}"/${PN}-dbus-Don-t-DCHECK-unexpected-message-type-but-ignore.patch
+	# epatch "${FILESDIR}"/${PN}-Mock-more-methods-of-dbus-Bus-in-dbus-MockBus.patch
+
+	# Disable custom memory allocator when asan is used.
+	# https://crbug.com/807685
+	use_sanitizers && epatch "${FILESDIR}"/${PN}-Disable-memory-allocator.patch
+
+	# Disable object lifetime tracking since it cuases memory leaks in
+	# sanitizer builds, https://crbug.com/908138
+	# TODO
+	# epatch "${FILESDIR}"/${PN}-Disable-object-tracking.patch
+
+	# Apply patches
+	while read -r patch; do
+		epatch "${S}/libchrome_tools/patches/${patch}"
+	done < <(grep -E '^[^#]' "${S}/libchrome_tools/patches/patches")
+}
+
+src_install() {
+	export BASE_VER="$(cat BASE_VER)"
+	dolib.so "${OUT}"/lib/libbase*-"${BASE_VER}".so
+	dolib.a "${OUT}"/libbase*-"${BASE_VER}".a
+
+	local mojom_dirs=()
+	local header_dirs=(
+		base
+		base/allocator
+		base/containers
+		base/debug
+		base/files
+		base/hash
+		base/i18n
+		base/json
+		base/memory
+		base/message_loop
+		base/metrics
+		base/numerics
+		base/posix
+		base/process
+		base/strings
+		base/synchronization
+		base/system
+		base/task
+		base/task/common
+		base/task/sequence_manager
+		base/task/thread_pool
+		base/third_party/icu
+		base/third_party/nspr
+		base/third_party/valgrind
+		base/threading
+		base/time
+		base/timer
+		base/trace_event
+		base/trace_event/common
+		build
+		components/policy
+		components/policy/core/common
+		testing/gmock/include/gmock
+		testing/gtest/include/gtest
+	)
+	use dbus && header_dirs+=( dbus )
+	use timers && header_dirs+=( components/timers )
+
+	insinto /usr/include/base-"${BASE_VER}"/base/test
+	doins \
+		base/test/bind_test_util.h \
+		base/test/scoped_task_environment.h \
+		base/test/simple_test_clock.h \
+		base/test/simple_test_tick_clock.h \
+		base/test/task_environment.h \
+		base/test/test_mock_time_task_runner.h \
+		base/test/test_pending_task.h \
+		base/test/test_timeouts.h \
+
+	if use crypto; then
+		insinto /usr/include/base-${BASE_VER}/crypto
+		doins \
+			crypto/crypto_export.h \
+			crypto/hmac.h \
+			crypto/libcrypto-compat.h \
+			crypto/nss_key_util.h \
+			crypto/nss_util.h \
+			crypto/nss_util_internal.h \
+			crypto/openssl_util.h \
+			crypto/p224.h \
+			crypto/p224_spake.h \
+			crypto/random.h \
+			crypto/rsa_private_key.h \
+			crypto/scoped_nss_types.h \
+			crypto/scoped_openssl_types.h \
+			crypto/scoped_test_nss_db.h \
+			crypto/secure_hash.h \
+			crypto/secure_util.h \
+			crypto/sha2.h \
+			crypto/signature_creator.h \
+			crypto/signature_verifier.h
+	fi
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins "${OUT}"/obj/libchrome/libchrome*-"${BASE_VER}".pc
+
+	# Install libmojo.
+	if use mojo; then
+		# Install binary.
+		dolib.a "${OUT}"/libmojo-"${BASE_VER}".a
+
+		# Install headers.
+		header_dirs+=(
+			ipc
+			mojo/core/
+			mojo/core/embedder
+			mojo/core/ports
+			mojo/public/c/system
+			mojo/public/cpp/base
+			mojo/public/cpp/bindings
+			mojo/public/cpp/bindings/lib
+			mojo/public/cpp/platform
+			mojo/public/cpp/system
+		)
+		mojom_dirs+=(
+			mojo/public/interfaces/bindings
+			mojo/public/mojom/base
+		)
+
+		# Install libmojo.pc.
+		insinto /usr/$(get_libdir)/pkgconfig
+		doins "${OUT}"/obj/libchrome/libmojo-"${BASE_VER}".pc
+
+		# Install generate_mojom_bindings.
+		# TODO(hidehiko): Clean up tools' install directory.
+		insinto /usr/src/libmojo-"${BASE_VER}"/mojo
+		doins -r mojo/public/tools/bindings/*
+		doins build/gn_helpers.py
+		doins -r build/android/gyp/util
+		doins -r build/android/pylib
+		exeinto /usr/src/libmojo-"${BASE_VER}"/mojo
+		doexe libchrome_tools/mojom_generate_type_mappings.py
+
+		insinto /usr/src/libmojo-"${BASE_VER}"/third_party
+		doins -r third_party/jinja2
+		doins -r third_party/markupsafe
+		doins -r third_party/ply
+
+		# Mark scripts executable.
+		fperms +x \
+			/usr/src/libmojo-"${BASE_VER}"/mojo/generate_type_mappings.py \
+			/usr/src/libmojo-"${BASE_VER}"/mojo/mojom_bindings_generator.py
+	fi
+
+	# Install header files.
+	local d
+	for d in "${header_dirs[@]}" ; do
+		insinto /usr/include/base-"${BASE_VER}"/"${d}"
+		doins "${d}"/*.h
+	done
+	for d in "${mojom_dirs[@]}"; do
+		insinto /usr/include/base-"${BASE_VER}"/"${d}"
+		doins "${OUT}"/gen/include/"${d}"/*.h
+		# Not to install mojom and pickle file to prevent misuse until Chromium IPC
+		# team is ready to have a stable mojo_base. see crbug.com/1055379
+		# insinto /usr/src/libchrome/mojom/"${d}"
+		# doins "${S}"/"${d}"/*.mojom
+		# insinto /usr/share/libchrome/pickle/"${d}"
+		# doins "${OUT}"/gen/include/"${d}"/*.p
+	done
+
+	# Install libchrome base type mojo mapping
+	if use mojo; then
+		insinto /usr/share/libchrome/mojom_type_mappings_typemapping
+		doins "${OUT}"/gen/libchrome/mojom_type_mappings_typemapping
+	fi
+
+	insinto /usr/share/libchrome
+	doins BASE_VER
+}
diff --git a/overlay-lakitu/chromeos-base/metrics/metrics-0.0.1-r3136.ebuild b/overlay-lakitu/chromeos-base/metrics/metrics-0.0.1-r3136.ebuild
new file mode 100644
index 0000000..12d7d20
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/metrics/metrics-0.0.1-r3136.ebuild
@@ -0,0 +1,110 @@
+# Copyright 2014 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="e120a38324e6a4f913141f6cf31bccdb4d17caa2"
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "7e189936f29d145c4191ea147e48256c92fac75d" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_LOCALNAME="platform2"
+CROS_WORKON_PROJECT="chromiumos/platform2"
+CROS_WORKON_DESTDIR="${S}/platform2"
+CROS_WORKON_SUBTREE="common-mk metrics .gn"
+
+PLATFORM_SUBDIR="metrics"
+
+inherit cros-constants cros-workon libchrome-version platform systemd user
+
+DESCRIPTION="Metrics aggregation service for Chromium OS"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/metrics/"
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="fuzzer metrics_uploader +passive_metrics systemd"
+
+COMMON_DEPEND="
+	dev-libs/dbus-glib:=
+	dev-libs/libpcre:=
+	dev-libs/protobuf:=
+	sys-apps/rootdev:=
+	"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="
+	${COMMON_DEPEND}
+	chromeos-base/session_manager-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/vboot_reference:=
+	"
+
+src_install() {
+	dobin "${OUT}"/metrics_client
+	dobin "${OUT}"/chromeos-pgmem
+
+	if use passive_metrics; then
+		dobin "${OUT}"/metrics_daemon
+		if use systemd; then
+			systemd_dounit init/metrics-daemon.service
+			systemd_enable_service multi-user.target metrics-daemon.service
+			systemd_dotmpfilesd init/metrics.conf
+		else
+			insinto /etc/init
+			doins init/metrics_library.conf init/metrics_daemon.conf
+		fi
+
+		if use metrics_uploader; then
+			if use systemd; then
+				sed -i '/ExecStart=/s:metrics_daemon:metrics_daemon -uploader:' \
+					"${D}"/usr/lib/systemd/system/metrics-daemon.service || die
+			else
+				sed -i '/DAEMON_FLAGS=/s:=.*:="-uploader":' \
+					"${D}"/etc/init/metrics_daemon.conf || die
+			fi
+		fi
+	fi
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	local v="$(libchrome_ver)"
+	./platform2_preinstall.sh "${OUT}" "${v}"
+	dolib.so "${OUT}/lib/libmetrics-${v}.so"
+	doins "${OUT}/lib/libmetrics-${v}.pc"
+
+	insinto /usr/include/metrics
+	doins c_metrics_library.h \
+		cumulative_metrics.h \
+		metrics_library{,_mock}.h \
+		persistent_integer.h \
+		timer{,_mock}.h
+
+	# Install the protobuf so that autotests can have access to it.
+	insinto /usr/include/metrics/proto
+	doins uploader/proto/*.proto
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/metrics_library_consent_id_fuzzer
+	platform_fuzzer_install "${S}"/OWNERS \
+		"${OUT}"/metrics_serialization_utils_fuzzer
+}
+
+platform_pkg_test() {
+	# Disable asan container overflow checks that is coming from gtest,
+	# not metrics code, https://crbug.com/1067977 .
+	export ASAN_OPTIONS+=":detect_container_overflow=0:"
+	local tests=(
+		cumulative_metrics_test
+		metrics_library_test
+		$(usex passive_metrics 'metrics_daemon_test' '')
+		persistent_integer_test
+		process_meter_test
+		timer_test
+		upload_service_test
+	)
+
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" "${OUT}/${test_bin}"
+	done
+}
+
+pkg_preinst() {
+	enewuser metrics
+	enewgroup metrics
+}
diff --git a/overlay-lakitu/chromeos-base/minijail/files/chromeos-version.sh b/overlay-lakitu/chromeos-base/minijail/files/chromeos-version.sh
new file mode 100755
index 0000000..e289018
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/minijail/files/chromeos-version.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Look at the set of minijail tags (ignore Android ones) and grab the latest.
+git --git-dir="$1/.git" tag --list 'linux-v*' | \
+  sed 's:^linux-v::' | \
+  sort -V | \
+  tail -n1
diff --git a/overlay-lakitu/chromeos-base/minijail/minijail-14-r8.ebuild b/overlay-lakitu/chromeos-base/minijail/minijail-14-r8.ebuild
new file mode 100644
index 0000000..2c10c31
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/minijail/minijail-14-r8.ebuild
@@ -0,0 +1,115 @@
+# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="a42182d5658f60679235e37a3cf6bdb8e598dda8"
+CROS_WORKON_TREE="52499e0eb2a6d3eaac83231e956caf2c68f564aa"
+CROS_WORKON_BLACKLIST=1
+CROS_WORKON_LOCALNAME="aosp/external/minijail"
+CROS_WORKON_PROJECT="platform/external/minijail"
+CROS_WORKON_REPO="https://android.googlesource.com"
+PYTHON_COMPAT=( python3_{6,7} )
+
+# TODO(crbug.com/689060): Re-enable on ARM.
+CROS_COMMON_MK_NATIVE_TEST="yes"
+
+DISTUTILS_OPTIONAL=1
+DISTUTILS_SINGLE_IMPL=1
+
+inherit cros-debug cros-sanitizers cros-workon cros-common.mk toolchain-funcs multilib distutils-r1
+
+DESCRIPTION="helper binary and library for sandboxing & restricting privs of services"
+HOMEPAGE="https://android.googlesource.com/platform/external/minijail"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan cros-debug +seccomp test"
+
+COMMON_DEPEND="sys-libs/libcap:=
+	!<chromeos-base/chromeos-minijail-1"
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}
+	cros_host? (
+		${PYTHON_DEPS}
+		dev-python/setuptools[${PYTHON_USEDEP}]
+	)
+	test? (
+		dev-cpp/gtest:=
+	)"
+
+src_configure() {
+	sanitizers-setup-env
+	cros-common.mk_src_configure
+	export LIBDIR="/$(get_libdir)"
+	export USE_seccomp=$(usex seccomp)
+	export ALLOW_DEBUG_LOGGING=$(usex cros-debug)
+	export USE_SYSTEM_GTEST=yes
+	export DEFAULT_PIVOT_ROOT=/mnt/empty
+}
+
+# Use qemu-user to run the platform-specific dump_constants binary in order to
+# generate constants.json.
+generate_constants_json() {
+	local cmd
+	case "${ARCH}" in
+	x86)   cmd=( "${OUT}"/dump_constants ) ;;
+	amd64) cmd=( "${WORKDIR}"/sdk/dump_constants ) ;;
+	arm)   cmd=( qemu-arm "${OUT}"/dump_constants ) ;;
+	arm64) cmd=( qemu-aarch64 "${OUT}"/dump_constants ) ;;
+	*) die "Unsupported architecture in generate_constants_json(): ${ARCH}."
+	esac
+	echo "+" "${cmd[@]}" ">${OUT}/constants.json"
+	"${cmd[@]}" >"${OUT}"/constants.json || die
+}
+
+src_compile() {
+	# Avoid confusing people with our docs.
+	sed -i "s:/var/empty:${DEFAULT_PIVOT_ROOT}:g" minijail0.[15] || die
+
+	local minijail_targets=( all )
+
+	# We need to generate & run dump_constants.  Intel/AMD targets often use newer
+	# ISAs than our build systems & QEMU supports.  The constants care about kernel
+	# headers (for the most part), and our build keeps SDK & board headers in sync,
+	# so using the SDK compiler here should be safe for our needs.
+	if ! use cros_host; then
+		if use amd64; then
+			tc-env_build emake OUT="${WORKDIR}/sdk" dump_constants
+		else
+			minijail_targets+=( dump_constants )
+		fi
+	fi
+
+	cros-common.mk_src_compile "${minijail_targets[@]}"
+	if use cros_host ; then
+		BUILD_DIR="${OUT}" distutils-r1_python_compile
+	else
+		generate_constants_json
+	fi
+}
+
+src_install() {
+	into /
+	dosbin "${OUT}"/minijail0
+	dolib.so "${OUT}"/libminijail{,preload}.so
+
+	doman minijail0.[15]
+
+	if use cros_host ; then
+		distutils-r1_python_install
+	else
+		insinto /build/share
+		doins "${OUT}"/constants.json
+	fi
+
+	local include_dir="/usr/include/chromeos"
+
+	"${S}"/platform2_preinstall.sh "${PV}" "${include_dir}"
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libminijail.pc
+
+	insinto "${include_dir}"
+	doins libminijail.h
+	doins scoped_minijail.h
+}
diff --git a/overlay-lakitu/chromeos-base/update_engine/files/chromeos-version.sh b/overlay-lakitu/chromeos-base/update_engine/files/chromeos-version.sh
new file mode 100755
index 0000000..81da3c7
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/update_engine/files/chromeos-version.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This echo statement sets the package base version (without its -r value).
+# If it is necesary to add a new blocker or version dependency on this ebuild
+# at the same time as revving the ebuild to a known version value, editing this
+# version can be useful.
+echo 0.0.3
diff --git a/overlay-lakitu/chromeos-base/update_engine/files/update-engine.service b/overlay-lakitu/chromeos-base/update_engine/files/update-engine.service
new file mode 100644
index 0000000..716500c
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/update_engine/files/update-engine.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Chromium OS system update service
+After=network.target
+
+[Service]
+IOSchedulingClass=3
+ExecStart=/usr/sbin/update_engine --foreground --logtostderr
+Slice=system-sysdaemons.slice
+Restart=on-failure
+RestartSec=5
+
+[Install]
+WantedBy=multi-user.target
diff --git a/overlay-lakitu/chromeos-base/update_engine/update_engine-0.0.3-r3572.ebuild b/overlay-lakitu/chromeos-base/update_engine/update_engine-0.0.3-r3572.ebuild
new file mode 100644
index 0000000..02d4d97
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/update_engine/update_engine-0.0.3-r3572.ebuild
@@ -0,0 +1,142 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("6b7a4a600d398a34ec63c5b9dec33b4048f9e19f" "cc6ab9f076694a816fa35f133e98e7737542ddd8")
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "a9cad6253f307e9e129fa4dd846f45ebf5c1258e")
+CROS_WORKON_LOCALNAME=("platform2" "aosp/system/update_engine")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/system/update_engine")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/update_engine")
+CROS_WORKON_USE_VCSID=1
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="update_engine"
+# Some unittests crash when run through qemu/arm.  Should figure this out.
+PLATFORM_NATIVE_TEST="yes"
+
+inherit cros-debug cros-workon platform systemd
+
+DESCRIPTION="Chrome OS Update Engine"
+HOMEPAGE="https://chromium.googlesource.com/aosp/platform/system/update_engine/"
+SRC_URI=""
+
+LICENSE="Apache-2.0"
+KEYWORDS="*"
+IUSE="cfm cros_p2p +dbus dlc fuzzer -hwid_override +power_management systemd"
+
+COMMON_DEPEND="
+	app-arch/bzip2:=
+	chromeos-base/chromeos-ca-certificates:=
+	chromeos-base/metrics:=
+	chromeos-base/vboot_reference:=
+	cros_p2p? ( chromeos-base/p2p:= )
+	dev-libs/expat:=
+	dev-libs/openssl:=
+	dev-libs/protobuf:=
+	dev-libs/xz-embedded:=
+	dev-util/bsdiff:=
+	dev-util/puffin:=
+	net-misc/curl:=
+	sys-apps/rootdev:="
+
+DEPEND="
+	app-arch/xz-utils:=
+	chromeos-base/debugd-client:=
+	dlc? ( chromeos-base/dlcservice-client:= )
+	chromeos-base/power_manager-client:=
+	chromeos-base/session_manager-client:=
+	chromeos-base/shill-client:=
+	chromeos-base/system_api:=[fuzzer?]
+	chromeos-base/update_engine-client:=
+	sys-fs/e2fsprogs:=
+	test? ( sys-fs/squashfs-tools:= )
+	${COMMON_DEPEND}"
+
+DELTA_GENERATOR_RDEPEND="
+	app-arch/unzip
+	app-arch/xz-utils
+	app-shells/bash
+	dev-util/shflags
+	sys-fs/e2fsprogs
+	sys-fs/squashfs-tools
+"
+
+RDEPEND="
+	chromeos-base/chromeos-installer
+	${COMMON_DEPEND}
+	cros_host? ( ${DELTA_GENERATOR_RDEPEND} )
+	power_management? ( chromeos-base/power_manager )
+	virtual/update-policy
+"
+
+platform_pkg_test() {
+	local unittests_binary="${OUT}"/update_engine_unittests
+
+	# The unittests will try to exec `./helpers`, so make sure we're in
+	# the right dir to execute things.
+	cd "${OUT}"
+	# The tests also want keys to be in the current dir.
+	# .pub.pem files are generated on the "gen" directory.
+	for f in unittest_key.pub.pem unittest_key2.pub.pem; do
+		cp "${S}"/${f/.pub} ./ || die
+		ln -fs gen/include/update_engine/$f $f  \
+			|| die "Error creating the symlink for $f."
+	done
+
+	# The unit tests check to make sure the minor version value in
+	# update_engine.conf match the constants in update engine, so we need to be
+	# able to access this file.
+	cp "${S}/update_engine.conf" ./
+
+	# If GTEST_FILTER isn't provided, we run two subsets of tests
+	# separately: the set of non-privileged  tests (run normally)
+	# followed by the set of privileged tests (run as root).
+	# Otherwise, we pass the GTEST_FILTER environment variable as
+	# an argument and run all the tests as root; while this might
+	# lead to tests running with excess privileges, it is necessary
+	# in order to be able to run every test, including those that
+	# need to be run with root privileges.
+	if [[ -z "${GTEST_FILTER}" ]]; then
+		platform_test "run" "${unittests_binary}" 0 '-*.RunAsRoot*'
+		platform_test "run" "${unittests_binary}" 1 '*.RunAsRoot*'
+	else
+		platform_test "run" "${unittests_binary}" 1 "${GTEST_FILTER}"
+	fi
+
+	for f in "omaha_request_action" "delta_performer"; do
+		platform_fuzzer_test "${OUT}/update_engine_${f}_fuzzer"
+	done
+}
+
+src_install() {
+	dosbin "${OUT}"/update_engine
+	dobin "${OUT}"/update_engine_client
+
+	if use cros_host; then
+		dobin "${OUT}"/delta_generator
+	fi
+
+	insinto /etc
+	doins update_engine.conf
+
+	if use systemd; then
+		systemd_dounit "${FILESDIR}"/update-engine.service
+		systemd_enable_service multi-user.target update-engine.service
+	else
+		# Install upstart script
+		insinto /etc/init
+		doins init/update-engine.conf
+	fi
+
+	# Install DBus configuration
+	insinto /etc/dbus-1/system.d
+	doins UpdateEngine.conf
+
+	platform_fuzzer_install "${S}"/OWNERS \
+				"${OUT}"/update_engine_omaha_request_action_fuzzer \
+				--dict "${S}"/fuzz/xml.dict
+	platform_fuzzer_install "${S}"/OWNERS \
+				"${OUT}"/update_engine_delta_performer_fuzzer
+}
diff --git a/overlay-lakitu/chromeos-base/vboot_reference/vboot_reference-1.0-r1980.ebuild b/overlay-lakitu/chromeos-base/vboot_reference/vboot_reference-1.0-r1980.ebuild
new file mode 100644
index 0000000..a70cee1
--- /dev/null
+++ b/overlay-lakitu/chromeos-base/vboot_reference/vboot_reference-1.0-r1980.ebuild
@@ -0,0 +1,104 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CROS_WORKON_COMMIT="1a2ddae3d9782cbf0f0a1ab27ae3820c90abec54"
+CROS_WORKON_TREE="82e77f6c98187361303fffeeba118a1a365e16d5"
+CROS_WORKON_PROJECT="chromiumos/platform/vboot_reference"
+CROS_WORKON_LOCALNAME="platform/vboot_reference"
+
+inherit cros-debug cros-fuzzer cros-sanitizers cros-workon
+
+DESCRIPTION="Chrome OS verified boot tools"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="cros_host dev_debug_force fuzzer pd_sync test tpmtests tpm tpm2"
+
+REQUIRED_USE="?? ( tpm2 tpm )"
+
+COMMON_DEPEND="dev-libs/libzip:=
+	dev-libs/openssl:=
+	sys-apps/util-linux:="
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+get_build_dir() {
+	echo "${S}/build-main"
+}
+
+src_configure() {
+	# Determine sanitizer flags. This is necessary because the Makefile
+	# purposely ignores CFLAGS from the environment. So we collect the
+	# sanitizer flags and pass just them to the Makefile explicitly.
+	SANITIZER_CFLAGS=$(
+		append-flags() {
+			printf "%s" "$* "
+		}
+		sanitizers-setup-env
+	)
+	if use_sanitizers; then
+		# Disable alignment sanitization, https://crbug.com/1015908 .
+		SANITIZER_CFLAGS+=" -fno-sanitize=alignment"
+
+		# Suppressions for unit tests.
+		if use test; then
+			# Do not check memory leaks or odr violations in address sanitizer.
+			# https://crbug.com/1015908 .
+			export ASAN_OPTIONS+=":detect_leaks=0:detect_odr_violation=0:"
+			# Suppress array bound checks, https://crbug.com/1082636 .
+			SANITIZER_CFLAGS+=" -fno-sanitize=array-bounds"
+		fi
+	fi
+	cros-debug-add-NDEBUG
+	default
+}
+
+vemake() {
+	emake \
+		SRCDIR="${S}" \
+		LIBDIR="$(get_libdir)" \
+		ARCH=$(tc-arch) \
+		SDK_BUILD=$(usev cros_host) \
+		TPM2_MODE=$(usev tpm2) \
+		PD_SYNC=$(usev pd_sync) \
+		DEV_DEBUG_FORCE=$(usev dev_debug_force) \
+		FUZZ_FLAGS="${SANITIZER_CFLAGS}" \
+		"$@"
+}
+
+src_compile() {
+	mkdir "$(get_build_dir)"
+	tc-export CC AR CXX PKG_CONFIG
+	# vboot_reference knows the flags to use
+	unset CFLAGS
+	vemake BUILD="$(get_build_dir)" all $(usex fuzzer fuzzers '')
+}
+
+src_test() {
+	! use amd64 && ! use x86 && ewarn "Skipping unittests for non-x86" && return 0
+	vemake BUILD="$(get_build_dir)" runtests
+}
+
+src_install() {
+	einfo "Installing programs"
+	vemake \
+		BUILD="$(get_build_dir)" \
+		DESTDIR="${D}" \
+		install install_dev
+
+	if use tpmtests; then
+		into /usr
+		# copy files starting with tpmtest, but skip .d files.
+		dobin "$(get_build_dir)"/tests/tpm_lite/tpmtest*[^.]?
+		dobin "$(get_build_dir)"/utility/tpm_set_readsrkpub
+	fi
+
+	if use fuzzer; then
+		einfo "Installing fuzzers"
+		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/cgpt_fuzzer
+		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/vb2_keyblock_fuzzer
+		fuzzer_install "${S}"/OWNERS "$(get_build_dir)"/tests/vb2_preamble_fuzzer
+	fi
+}
diff --git a/overlay-lakitu/dev-libs/modp_b64/modp_b64-0.0.1-r61.ebuild b/overlay-lakitu/dev-libs/modp_b64/modp_b64-0.0.1-r61.ebuild
new file mode 100644
index 0000000..a575842
--- /dev/null
+++ b/overlay-lakitu/dev-libs/modp_b64/modp_b64-0.0.1-r61.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+CROS_WORKON_COMMIT=("c142078820d0707858873cedb290a78d36f531af" "467734f4870d3ab23968f5ebdd461f6112e4103b")
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "0d9f5ec1543458ecbe0d97bbabbdd59b79d56c5a")
+inherit cros-constants
+
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/modp_b64")
+CROS_WORKON_LOCALNAME=("../platform2" "../third_party/modp_b64")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "aosp/platform/external/modp_b64")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="modp_b64"
+
+WANT_LIBCHROME=no
+
+inherit cros-fuzzer cros-sanitizers cros-workon platform
+
+DESCRIPTION="Base64 encoder/decoder library."
+HOMEPAGE="https://github.com/client9/stringencoders"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="*"
+IUSE="fuzzer"
+
+src_install() {
+	dolib.a "${OUT}"/libmodp_b64.a
+
+	insinto /usr/include
+	doins -r modp_b64
+
+	fuzzer_install "${S}/OWNERS.fuzzer" "${OUT}"/modp_b64_decode_fuzzer
+	fuzzer_install "${S}/OWNERS.fuzzer" "${OUT}"/modp_b64_encode_fuzzer
+}
diff --git a/overlay-lakitu/dev-util/bsdiff/bsdiff-4.3.1-r29.ebuild b/overlay-lakitu/dev-util/bsdiff/bsdiff-4.3.1-r29.ebuild
new file mode 100644
index 0000000..c3e9338
--- /dev/null
+++ b/overlay-lakitu/dev-util/bsdiff/bsdiff-4.3.1-r29.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-util/bsdiff/bsdiff-4.3-r2.ebuild,v 1.1 2010/12/13 00:35:03 flameeyes Exp $
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("9edc1ccf0b71426a4e0945a82963e78ba9613958" "4500e02a8a33ec8defead90294a1d8fa6d538145")
+CROS_WORKON_TREE=("e2a3a6742f6acdc76df13145ab31b6471243d736" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "a6219da561ac98cfa3cdf9d1fb98cf15b5b28473")
+inherit cros-constants
+
+# cros-workon expects the repo to be in src/third_party, but is in src/aosp.
+CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/bsdiff")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/external/bsdiff")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/bsdiff")
+CROS_WORKON_REPO=("${CROS_GIT_HOST_URL}" "${CROS_GIT_AOSP_URL}")
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_BLACKLIST=1
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+
+PLATFORM_SUBDIR="bsdiff"
+
+inherit cros-workon platform
+
+DESCRIPTION="bsdiff: Binary Differencer using a suffix alg"
+HOMEPAGE="http://www.daemonology.net/bsdiff/"
+SRC_URI=""
+
+LICENSE="BSD-2"
+KEYWORDS="*"
+
+RDEPEND="
+	>=app-arch/brotli-1.0.6:=
+	app-arch/bzip2:=
+	dev-libs/libdivsufsort:=
+"
+DEPEND="${RDEPEND}"
+
+src_install() {
+	if use cros_host; then
+		dobin "${OUT}"/bsdiff
+		dobin "${OUT}"/bspatch
+	fi
+	dolib.a "${OUT}"/libbsdiff.a
+	dolib.a "${OUT}"/libbspatch.a
+
+	insinto /usr/include
+	doins -r include/bsdiff
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libbsdiff.pc libbspatch.pc
+
+	platform_fuzzer_install "${S}"/OWNERS "${OUT}"/bspatch_fuzzer
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/bsdiff_test"
+
+	# Run fuzzer.
+	platform_fuzzer_test "${OUT}"/bspatch_fuzzer
+}
diff --git a/overlay-lakitu/dev-util/bsdiff/files/chromeos-version.sh b/overlay-lakitu/dev-util/bsdiff/files/chromeos-version.sh
new file mode 100755
index 0000000..2bcd274
--- /dev/null
+++ b/overlay-lakitu/dev-util/bsdiff/files/chromeos-version.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+exec awk '$1 == "Version:" {print $2}' "$2"/README.chromium
diff --git a/overlay-lakitu/dev-util/bsdiff/metadata.xml b/overlay-lakitu/dev-util/bsdiff/metadata.xml
new file mode 100644
index 0000000..42d88df
--- /dev/null
+++ b/overlay-lakitu/dev-util/bsdiff/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer><email>ferringb@gentoo.org</email></maintainer>
+</pkgmetadata>
diff --git a/overlay-lakitu/dev-util/puffin/files/chromeos-version.sh b/overlay-lakitu/dev-util/puffin/files/chromeos-version.sh
new file mode 100755
index 0000000..e199249
--- /dev/null
+++ b/overlay-lakitu/dev-util/puffin/files/chromeos-version.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Copyright 2018 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+exec awk '$1 == "Version:" {print $2}' "$2"/README.version
diff --git a/overlay-lakitu/dev-util/puffin/puffin-1.0.0-r434.ebuild b/overlay-lakitu/dev-util/puffin/puffin-1.0.0-r434.ebuild
new file mode 100644
index 0000000..dcb8aa5
--- /dev/null
+++ b/overlay-lakitu/dev-util/puffin/puffin-1.0.0-r434.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+EAPI=7
+
+CROS_WORKON_COMMIT=("9edc1ccf0b71426a4e0945a82963e78ba9613958" "3b9a741dc7310d343585ed92667ad6bc8ab0d067")
+CROS_WORKON_TREE=("e2a3a6742f6acdc76df13145ab31b6471243d736" "e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "7af8a5581078de78894a5f59bbd5e179fc71a804")
+inherit cros-constants
+
+CROS_WORKON_INCREMENTAL_BUILD="1"
+CROS_WORKON_LOCALNAME=("../platform2" "../aosp/external/puffin")
+CROS_WORKON_PROJECT=("chromiumos/platform2" "platform/external/puffin")
+CROS_WORKON_DESTDIR=("${S}/platform2" "${S}/platform2/puffin")
+CROS_WORKON_REPO=("${CROS_GIT_HOST_URL}" "${CROS_GIT_AOSP_URL}")
+CROS_WORKON_SUBTREE=("common-mk .gn" "")
+CROS_WORKON_BLACKLIST=1
+
+PLATFORM_SUBDIR="puffin"
+
+inherit cros-workon platform
+
+DESCRIPTION="Puffin: Deterministic patching tool for deflate streams"
+HOMEPAGE="https://android.googlesource.com/platform/external/puffin/"
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="asan fuzzer"
+
+COMMON_DEPEND="chromeos-base/libbrillo:=[asan?,fuzzer?]
+	dev-libs/protobuf:=
+	dev-util/bsdiff:=
+"
+
+RDEPEND="${COMMON_DEPEND}"
+DEPEND="${COMMON_DEPEND}"
+
+src_install() {
+	if use cros_host; then
+		dobin "${OUT}"/puffin
+	fi
+	dolib.a "${OUT}"/libpuffpatch.a
+	dolib.a "${OUT}"/libpuffdiff.a
+
+	insinto /usr/include
+	doins -r src/include/puffin
+
+	insinto "/usr/$(get_libdir)/pkgconfig"
+	doins libpuffdiff.pc libpuffpatch.pc
+
+	for f in "huff" "puff" "puffpatch"; do
+		platform_fuzzer_install "${S}"/OWNERS "${OUT}/puffin_${f}_fuzzer"
+	done
+}
+
+platform_pkg_test() {
+	platform_test "run" "${OUT}/puffin_test"
+
+	# Run fuzzers.
+	for f in "huff" "puff" "puffpatch"; do
+		platform_fuzzer_test "${OUT}/puffin_${f}_fuzzer"
+	done
+}
diff --git a/overlay-lakitu/profiles/base/package.mask b/overlay-lakitu/profiles/base/package.mask
index b168123..368f219 100644
--- a/overlay-lakitu/profiles/base/package.mask
+++ b/overlay-lakitu/profiles/base/package.mask
@@ -3,3 +3,20 @@
 sys-apps/shadow::portage-stable
 # Mask audit from chromiumos-overlay
 sys-process/audit::chromiumos
+# Forked packages from chromiumos-overlay
+chromeos-base/chromeos-common-script::chromiumos
+chromeos-base/chromeos-installer::chromiumos
+chromeos-base/crash-reporter::chromiumos
+chromeos-base/google-breakpad::chromiumos
+chromeos-base/libbrillo::chromiumos
+chromeos-base/libchrome::chromiumos
+chromeos-base/metrics::chromiumos
+chromeos-base/minijail::chromiumos
+chromeos-base/update_engine::chromiumos
+chromeos-base/vboot_reference::chromiumos
+dev-libs/modp_b64::chromiumos
+dev-util/bsdiff::chromiumos
+dev-util/puffin::chromiumos
+sys-apps/flashmap::chromiumos
+sys-apps/mosys::chromiumos
+sys-apps/rootdev::chromiumos
diff --git a/overlay-lakitu/sys-apps/flashmap/flashmap-0.3-r35.ebuild b/overlay-lakitu/sys-apps/flashmap/flashmap-0.3-r35.ebuild
new file mode 100644
index 0000000..26a39ea
--- /dev/null
+++ b/overlay-lakitu/sys-apps/flashmap/flashmap-0.3-r35.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2011 The Chromium OS Authors
+# Distributed under the terms of the GNU General Public License v2
+# $Header:
+
+EAPI=7
+CROS_WORKON_COMMIT="2f7b2e16f588dde75a0c9c28175f16b8cb9e11dc"
+CROS_WORKON_TREE="6fdc81bee0326e66662115d9bda50159bf41db9f"
+CROS_WORKON_PROJECT="chromiumos/third_party/flashmap"
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
+
+inherit cros-workon toolchain-funcs python-r1
+
+DESCRIPTION="Utility for manipulating firmware ROM mapping data structure"
+HOMEPAGE="http://flashmap.googlecode.com"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="python"
+
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}"
+
+# Disable unit testing for now because one of the test cases for detecting
+# buffer overflow causes emake to fail when fmap_test is run.
+# RESTRICT="test" will override FEATURES="test" and will also cause
+# src_test() to be ignored by relevant scripts.
+RESTRICT="test"
+
+src_configure() {
+	tc-export AR CC LD NM STRIP OBJCOPY
+}
+
+src_test() {
+	# default "test" target uses lcov, so "test_only" was added to only
+	# build and run the test without generating coverage statistics
+	emake test_only
+}
+
+src_install() {
+	emake LIBDIR=$(get_libdir) DESTDIR="${D}" USE_PKG_CONFIG=1 install
+
+	if use python; then
+		install_python() {
+			insinto "$(python_get_sitedir)"
+			doins "fmap.py"
+		}
+		python_foreach_impl install_python
+	fi
+}
diff --git a/overlay-lakitu/sys-apps/mosys/Manifest b/overlay-lakitu/sys-apps/mosys/Manifest
new file mode 100644
index 0000000..af9166a
--- /dev/null
+++ b/overlay-lakitu/sys-apps/mosys/Manifest
@@ -0,0 +1,41 @@
+DIST aho-corasick-0.6.3.crate 24963 BLAKE2B 7d22a3501664a4324e43a20874fe4d2afcb1576d66f76bcfd894c0ea03b0daefd85e03e20196370dcb86d8c81067c3bc2202889349389c23b876d4b2bf8f2bbd SHA512 4d0d55d8a6657fe13009d66728b7417926325dd9ca4f7ad7cd5d40e59cf0a55b906cd109d724a0b385ee988526535fc64a467ded171419e452c5a8c90196ae45
+DIST ansi_term-0.9.0.crate 11718 BLAKE2B c3a29c8efe994822aa37854cc804ce2ea7f03ea622cfe05dd063f2e07f3d666ab7a8fc21f0f5a7f7f6c2a520b5cf6409ceb8b2438b3a416a44e70de4c094fa20 SHA512 4b5297d80f2a7fa840aeb1c31e7b893b33abcc7ce7f6f54371f6d7fc8e2915b43b5e3be3baab32b0821e174d8f7b58961029569a4f9e59b8a46c05f24ecaf04b
+DIST atty-0.2.3.crate 5486 BLAKE2B 5c1b3bc8cd680ae639302d51fd54a10ad2595ed112d7e179d200d81a0c3bce326cde22458c9c757beb6601f00fcb61000f6f1785b7ca6832ca28b9f58472d604 SHA512 9c944334333ca59d28588e164d2a68750eaf889dcc6b28bc49fe9a7990e0b1694d302a685142866362b7b97ef3f36daa410b59d6222e99cf6f096836850794cb
+DIST bindgen-0.31.3.crate 168734 BLAKE2B 97c57d76538292260cf9b97ad59dba330fe854796cc21e24bf6e1061324950cca8c922f7c00d215566da4bb7c2b969c3ccb2bca2f2a37a1f12d9cd701969f82b SHA512 237480b374c78fa7c87774d4470c704a869f19284fc75138cb0073551ae406298f4b6a9de20af3b8e0e848374b42a189314c154894f36a55cd0b092e654d4f35
+DIST bitflags-0.9.1.crate 12406 BLAKE2B e89527c5411150c09bc16072e0e4e5b2dde4b50fb2ed76984c1b58db225912db580f96c7954cbbf597036e9d743658364977ba24d0d7660312c3b8d38306d879 SHA512 3c106186aa8b5b8d0fba377818618e6428af38f60e4f707873142b44cb6f64d1d7f347840c8bfba084ff569ac8c57d87f2288c4a1d79e282bc02544d69f976c0
+DIST cexpr-0.2.2.crate 15614 BLAKE2B 50053511c9c5db165bfdef54b064ef6ec630a555f2bec7b0183f9e6b015db153e524d63e30566f09b9664ccabc48e58aef41b06a88eba6ee0567a4473dc10f1b SHA512 da28e3450ca5556aec737e1d55eec7206ba5b5ffdfa85d0ff821b002e39982e0a99528d0ae6d7bb3a9cc546e329eda14cabee7c04e99bd1017487b03d1029e55
+DIST cfg-if-0.1.2.crate 6668 BLAKE2B fd1960dfd30b3514bdb9943dba6418957068aaad3548667216d6dd4e4921a0df07d96cc4131f7b5121cacfb91aa59a802a47663a7b04ff401fa5b25ee1d321ea SHA512 ed6732d8ef2c99d99861f5dcfec3bcd2d1b62dcf6e8e4e88ca25148b5566f86418270dbbe9a7d2fae62a8320d432c5e0474059fa25a11c0f66787084e36f36aa
+DIST clang-sys-0.21.1.crate 30607 BLAKE2B 8b6c237cd1701afc0332d685ab2c37a9c42b8220012585eb30421d45b26ee9a6979f78e5cba156ea2c6d215aa49afa0644a8186e9985b83e5869be085c768876 SHA512 13dec9956f03db92e5193c1287d93f59fe6b6a20b49dfadf2e10de95f9009b094ad7c8d11e073af4407e95d94550360cbad45e384c19abc49bffc6047ffbaca3
+DIST clap-2.27.1.crate 186705 BLAKE2B 3bef758537c222d026d23c85b030af6382bb05a530ddc9392e835fd755e9cdc876a91b1c344d88de45f092f66552402a1e5dee5fc6492057b3855f4b17951032 SHA512 741a7f1822bea35be6f0432084767c6c43cf5f8ac20c1fb275ef600566b9bbdfcf012932f1b700b463b10936f8c518db5fcda8a888a20c4fbfe559616bb38aa5
+DIST env_logger-0.4.3.crate 10891 BLAKE2B acbe308cb75ad68f824dd8cbbef13a9bab3234f121952f16af274180ce87bbde6f6327bd98f0d2a4623fa7a4980b554ffecc9280b709df1323de149399537d6d SHA512 ba2c10608f87804e528a2de28c236e780485413dbc3835b5bd9acf4a9c11d9c66665a310747b5d8a5ef7752186ab8a1ab5fbf6042657a3447380cb0869722246
+DIST getopts-0.2.15.crate 17962 BLAKE2B 5f6c76dd978b9457035c0b856088825403bda33510b12c44d41f01c37805c7b9ddd49b14895fb9b1a41c0f51bc68abb104ef7605f39566eeb6fb874e49d5a62d SHA512 eeddb32e1833e658e18ac435d9bf42dc6f09af84b04ed21104de95dc67d31327e35b9bd42cbc8d512cf548ba6ddd0c798524697bbad315dd7f1d87de8f620aee
+DIST getopts-0.2.21.crate 18457 BLAKE2B 10651e947e49acc768d99ae56ca5a7f37c1f61bbd1674e2ca58e3ae563fd64f3563d53ccdd0ae7a878710a39e13a99ac8c274974157db2c691f8c222de14992d SHA512 5515ae6ccb0f03efb783683f46cfd1755342c4e83bb673ff8914c7f9dea0dae333f8d9703865e992659a359067df0e8b0e2253de0d4b0c7707cbe7d73401bb1f
+DIST glob-0.2.11.crate 18065 BLAKE2B 8531890ce378023f0119baccd5c556f297128d3f09c07d320d5cdc3c90032447f2e5a4f2fad0097bd3c6faf93b83256b387d232b3c9f9d3c40e54c48245321eb SHA512 91a1a751bc4ed3b13154aa056180f2b8123c33627cbe972bdd7986fb0b6f1ef90e59abd4128d6e4db5e69523d757440c7df9b9721a61f5ea5a091ffc9843e10e
+DIST kernel32-sys-0.2.2.crate 24537 BLAKE2B dfc4a1e31d3ec9e2ac62b890839919fb7fed1444070c1dcd75bb75acfb53556d6cf2eddf5a6639e7852a3df2a0cc715c5ce1d3fc898ef16a1687020d98f715bc SHA512 682bc7c629aefd035966a2873518fd60719121cca7d63d89d6c97ff5306f24d8b5055a3c91b4eedaec22b1d5dd3fb8b48ff7341a05bbd72d86e06c422dab473b
+DIST lazy_static-0.2.11.crate 12361 BLAKE2B 3fe6a480c30a792448a3a2b378e05634ec59603f07baa03c0881fe5af85ecde5a172bb0733e7043fb6c43eabc261635b23410658d48add09eef6d807a750d22f SHA512 c85ac434d1b7d41d638e76a142a43d925b96bdddda112b1abeca1bae160d828262a85cd333d72499fe1dc7ae9574d3db226106acb433328c056028eb8c42bfe6
+DIST lazy_static-1.0.0.crate 12611 BLAKE2B c7ffeb553b82cacfeacf214ab069cd0abbc6b83d670ad84704ecd30919c390055b3679ddc85e9a7d0add530df588f6cba4cfd7c5e44e9158b609edef2fe85e4e SHA512 73044fce4d00002d35931d4b28810feb5c28c3debfb7bd570d9a8434cf15c29c17f0daf29ac04d748a32f52a205d5f52ecf69aa395f49d46b825e3fc0cbcd41b
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.33.crate 265087 BLAKE2B 479a45388c8d5bfba8c24a70af55b0a42cbcfe11b163abbb2aa568535c07fc580f3922d08780a0f27b08daa1ed4b7fe1dfc8bd2c15839ae55f8410794b7ba1de SHA512 dfb34d2838effccb3b55d03a9860eee7ac5e6f0f034d230784c51c3b5d08e51590509fed921811ff1834c4db4ac3796b2a78dbaee879de548e5aee992198981b
+DIST libloading-0.4.2.crate 15383 BLAKE2B bf4d8dff81b415cf8f5eba3434525ef98cc41db4307511df5b2d82b97bfe268d6f98083cc62bc948f5ad3625d462e9aa2b878181efc1ccd4ccced9f42a6e3ad8 SHA512 e60b876d8ca92650def7c3190a11354447ac9f372b4705d06f165b4f5c9c5a51b65da33438285445599bffd8d39d3acd186dc3bf3143e983c480efe17da6c9f4
+DIST log-0.3.8.crate 17756 BLAKE2B 1b06efd4625f9192e56629a5c8fd3072d876643ec5d42022e001d8c14139c56b7a2bbbaadeb5218a9ada6cd86aae26819dc4693eadb13ac1dd4ae93ac50554e8 SHA512 9fc80f2a72855a2b0260d6bfbdd55085791c67cb1896fd20da0a4d624125003cb0a10d9080c2fd7810ca67e41652a94177e1d091bdadeb5ea65c7c4acd666bd7
+DIST memchr-1.0.2.crate 8639 BLAKE2B 3177eb1792892c0a74c5a7696ba6a4543fd5fabbea60d77e9b55e9d7eed365f3ed1b6dce44911246b52b8ad9a05e51679f42f9ffd4e6bbdbb5d01b5155eef280 SHA512 322b70bb881bcc2f9046f2daac5d939fd581370fee82b7e0500e27738d1d91e11c3f65fbf4576e0d987043cd08e5cd2b39a5ecf66d0ba7d95f48b6fee502bc24
+DIST nom-3.2.1.crate 104073 BLAKE2B 0aadea9d5b79fb0b34ace1c1c410119c954982810d928a033ebc280a824da6af61035bd1b31fe5f610812b9ebdcc02839ad5e863148aa01733b5c8472335d70e SHA512 2baf05e568c426eaa1560569538e0f08706e40333a797374bd3f897bcadfcf239c6dc9eaabb99e9ac72d8b79e46f12ade8b5d88b04ce10ef24e8b21513392c77
+DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721
+DIST quote-0.3.15.crate 12041 BLAKE2B c5796b464539b018351b41b5e2287398681ccb2ca76f46178b4f310e61a8184afe9ea2b8dd7638f27bf5bf37f60458895497e51c82b31326abf6feb4f69404d7 SHA512 2e5dbe725c0f76a81c6624181b43b60b95dceac208e2babaad3fa6d1487794805169e2ffd967659e4bb4e1abebe96505be5a1007c514d10f2a63ef282d699ea7
+DIST redox_syscall-0.1.31.crate 13420 BLAKE2B 5e533c5db7dd026c490c4250761d105592a2958aba4643d50642d7e543f2850d09b8debadaebf1a7a5f4bcf4c9584bed3f7f6776d075681a4038d3bc53ba9499 SHA512 162655d5ba07857183a75bd7aaa3e190e8d1c2e80002319e5006a67c09a105fb3f3726fed1a116b7284712bf6a2bfde1607cb8b576251233c12b69582969a9f1
+DIST redox_termios-0.1.1.crate 3227 BLAKE2B 0b109d34e942735e804dd3da2a9639506e8bf6eb5b1f69ae021b115b0b75ae5159e8457abdf647dabfc19d5119cd3a44b8966635d7862cc66a8a997e4468e1ab SHA512 201d051900e919e2c6c6769ef252e51979d90133df16b6605e2a2f424cfb2e6e505e21add75ef5854fe5e0cab1ed1f1c1451010f072ae4bc8703c585a4323981
+DIST regex-0.2.2.crate 193403 BLAKE2B d8b439c1544b7faf15fa073f9e759a1a4bdc905290da12d22526e00d22462e5b4d29fa928a88cd6a60902958b828539d04c65f9d8f2d00b3b75805dff9763afe SHA512 208b671d06b260e4a130718a86ced88ee7f183bd056461bc6d44a15a22260a9ee05a014682bdb8bb7ff674fd33ac4748687c7ebd847578c7fecc8efbbb1993b3
+DIST regex-syntax-0.4.1.crate 121453 BLAKE2B da7f780fdb19e0516cbe94eb3361b8f3b02ed36dcd7e58eb8e3a16601f169652d45dc10657d400796fdb93be560ec6678e34315d9e94a05e9d0b11b476d8ae1a SHA512 0c6996d0b8c16053f6e4e6324053f8b6924313827d9fec59e209852aed11a18902a51bdaa98b95ab706a4b65896a201549cda2972b54ac2e2a2c704b61690a0f
+DIST strsim-0.6.0.crate 8500 BLAKE2B fb5d756691a359d086886bf579445a262d2691285c120670e1b9da828922e43630339d59e4dbc98fe1fd6c92785264bef645be4ca80681059d8ee9f6d7be582b SHA512 43cbcf2cab7f91515f52f20719e8013cff23807ca79a9a69f1997ec1ba2eacf713d64c88e33f4c9ba852fb3dda4b87e943587ae4b6ff5bfbbb81deb6dbf76a97
+DIST termion-1.5.1.crate 20659 BLAKE2B 5b4291c2c26a074c16eac2e7bcb40467380181bac69c941e5c958059dc239cbbfd74872d9bd3da65245d010f9fc39804c43dc96f4caab2499b021cf35977a6b0 SHA512 1d1536f08600c7c1f414b4579a1a6e7eff91f4c105504125118d3cadf71c7886a352d1c5f7e07f3d7c28aa8b4752f07b51eddb4d9adc6a9286f7b6bade2bec76
+DIST textwrap-0.9.0.crate 15795 BLAKE2B c4dd89d5757da74c145b6971cd08844f3a6eeb5d29ca012b67010743a2637ed83bca00eefb54ec3ddb1d02a06c9cc3b84984919e6fd187dd71ed9c2e8af41f63 SHA512 e176f703f971eefb5cfc1ecf9047858bd7610a58fa4103879fd963b292c79872bd8466ef8fc9742a428ac707400dade307e72fa965dc4d61da66e932e5b20c35
+DIST thread_local-0.3.4.crate 11760 BLAKE2B 7d1c7bc70d6f35a04074ae6d25d14b07f4f48742a8090a1465d2b6cfc9a80e50a737cc75d65f4bd1de226c341d10d630092fee3be74daaada88f567767217403 SHA512 51fc5e1f5046fafe794128e6655c3ed5fa54446d9db151abb5da6e2599b6fb03200746ff4e6adffb6b8a04d015966fd4860ea3eac50bc169ec04ba33978f849d
+DIST unicode-width-0.1.4.crate 15283 BLAKE2B 61a72cc00c929624bbf46ab89a8850270ce36d0c986dd302b436b98405e2b53c1199588c70920a3379fa55c9dadd070404a8d3580544c02ffe9bbdb6ed078215 SHA512 f06b243e533ab9c68d88ccd06a283dfff5fd13e9340cf11bfa74473fc9100bb704c34e7fb66919202a97e7d2ba2e7eed968eced02d557835a06e6a0166865ea3
+DIST unicode-width-0.1.6.crate 16394 BLAKE2B 8a4bd3dbe264635cbfe42c131f20a0e8f32989211434fbcc085abeb8b7fac841908e99c6130d626af363edf9b07fb82f6ddbc494812273521941d553980142c9 SHA512 d6c2e5a99ea359d866393a6b00e0e21e5d80e4e665e457c0f2f0bbebda53afeab75b1d9b6b79102339ee621bac5050e7d41621703a8fd9ffe1e74a5a4301aa05
+DIST unreachable-1.0.0.crate 6355 BLAKE2B c41706721e8124c695259c12741ee95f98d3599871bb7fae2f8cb0d63a04f0cff11e01ab0376867de4de8707fd50fbd02f8b6d9c19bedda84bb5938876c5d803 SHA512 054e0a471d1068b7703853d838c7c381ac6865ac1f8abae08747581e3754416ccec5b80a5b04fedbcd01e68bfeba286b849e3b8ea67bbe62444f2974655e4948
+DIST utf8-ranges-1.0.0.crate 8599 BLAKE2B eb356d94a937f5f7cd6ed17ba85c03fc1ced30ab9215aad1cda3e600dc6efd8bedef744a2dadc9664dc2cac0ef815f451e88db5b75f70eb1f50670dceeb7e244 SHA512 da498433597582970860db1c66ff1cc2ed8b0e2bf816e6aabdb40424ec03c3f28e6ca5e7592e464442004077735dca4144acd13c8f6a2e799d67504699422643
+DIST vec_map-0.8.0.crate 13742 BLAKE2B 5e1fd880c56f01d69d1680d77b361c89f94e77d75b0c8d1d49c780e6b729e3bc5e8d9a72e3a298bb350b1c27fac02dd7b31eb2f2018208f242b02d8d6d64af21 SHA512 7ce0c05c0b410577b489adb4d35376bc2a55c6041ce50e011b78415e952b5fb7fcff89fdd00b95e086de742f26ff057e99e55585824bbc0482e0ac2134406520
+DIST void-1.0.2.crate 2356 BLAKE2B 41578fb5507f94e7d135f9595cec107ed00a926f4968df8b59792d1676ba5b6980cd67310f820fc37a9c14ebe43a171833fa8dfc09eac5dd42f2ebe808632a83 SHA512 1cc7d282600dc0164d7e410aa895d5dc99de1174991549c6733c94cc2027026517f66797751d737869eae58c560fa26edbf43f36b3015eb2fd99828fe40e0aa1
+DIST which-1.0.3.crate 4949 BLAKE2B 5632f9bfe5d6118483b86f49e95fa150537386d1e40d14971b631074fccdc3fb366b2b5e91f421ebaf7b599a42e653a61019d22690376a9892250938c7161a5d SHA512 caee698c6461ccc997c422fe4d9bf42fa6adbfbb02f0f468d798793b517b08a65098410eb4d31c74943ac5d64d721673ebeccb64472fb0f1b19564b1e2511a90
+DIST winapi-0.2.8.crate 455145 BLAKE2B 50f3c2a0cf4eeedd6891b11392e520c1cca139a71f8f736eabaf43aa7e4b1b5d57697918978220459572d373940edf971eb8302f292cbff832283e905076319a SHA512 115e6f027cdd4a56f77ca24f4ab249d2a6cac1e1f955c826a9b6ee05db4861790a533f5e674aebbb540370fff52ed41618c2cd7c906e73200e92df213109cebe
+DIST winapi-build-0.1.1.crate 669 BLAKE2B 6c8d8e0f81574c086f06fb3f234b0e6759d293d1d254857c3d491e4d43279e5c2f57f2fcfdc9d5d7b083280f4cc2a75a6ee9bc1541ec6ce8f8d904ded0567faf SHA512 8b0a239e205a5368892f41c870a8a7ea16e3468c364b03382bef7fa3a2e7159b09c07661e95b1227578f6d72c14879daa4444b28c51ae20ef15d985d59ca5a77
diff --git a/overlay-lakitu/sys-apps/mosys/files/chromeos-version.sh b/overlay-lakitu/sys-apps/mosys/files/chromeos-version.sh
new file mode 100755
index 0000000..b054da1
--- /dev/null
+++ b/overlay-lakitu/sys-apps/mosys/files/chromeos-version.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+echo 1.2.3
diff --git a/overlay-lakitu/sys-apps/mosys/mosys-1.2.3-r1137.ebuild b/overlay-lakitu/sys-apps/mosys/mosys-1.2.3-r1137.ebuild
new file mode 100644
index 0000000..a5e070b
--- /dev/null
+++ b/overlay-lakitu/sys-apps/mosys/mosys-1.2.3-r1137.ebuild
@@ -0,0 +1,110 @@
+# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CROS_WORKON_COMMIT=("e0111498f44234609ad36837d4395ddc7d112ddf" "eff5277a2445e2078a94aeeb73450b713c496c64")
+CROS_WORKON_TREE=("eec5ce9cfadd268344b02efdbec7465fbc391a9e" "a33168fa557115c13e015436ab410a6f2038cb5e")
+CROS_WORKON_PROJECT=(
+	"chromiumos/platform2"
+	"chromiumos/platform/mosys"
+)
+CROS_WORKON_LOCALNAME=(
+	"../platform2"
+	"../platform/mosys"
+)
+CROS_WORKON_DESTDIR=(
+	"${S}/platform2"
+	"${S}/platform/mosys"
+)
+CROS_WORKON_INCREMENTAL_BUILD=1
+CROS_WORKON_SUBTREE=(
+	"common-mk"
+	""
+)
+
+MESON_AUTO_DEPEND=no
+
+WANT_LIBCHROME="no"
+WANT_LIBBRILLO="no"
+
+inherit meson flag-o-matic toolchain-funcs cros-unibuild cros-workon platform
+
+DESCRIPTION="Utility for obtaining various bits of low-level system info"
+HOMEPAGE="http://mosys.googlecode.com/"
+
+LICENSE="BSD-Google BSD Apache-2.0 MIT ISC Unlicense"
+SLOT="0"
+KEYWORDS="*"
+IUSE="generated_cros_config unibuild"
+
+RDEPEND="unibuild? (
+		!generated_cros_config? ( chromeos-base/chromeos-config )
+		generated_cros_config? ( chromeos-base/chromeos-config-bsp:= )
+	)
+	dev-util/cmocka
+	>=sys-apps/flashmap-0.3-r4
+	chromeos-base/minijail"
+DEPEND="${RDEPEND}"
+
+src_unpack() {
+	cros-workon_src_unpack
+	PLATFORM_TOOLDIR="${S}/platform2/common-mk"
+	S+="/platform/mosys"
+}
+
+src_configure() {
+	local platform_intf=""
+	local emesonargs=(
+		$(meson_use unibuild use_cros_config)
+		-Darch=$(tc-arch)
+	)
+
+	if use unibuild; then
+		emesonargs+=(
+			"-Dcros_config_data_src=${SYSROOT}${UNIBOARD_C_CONFIG}"
+		)
+		platform_intf="$(cros_config_host get-mosys-platform)"
+	else
+		# TODO(jrosenth): hard code some board to platform_intf
+		# mappings here for legacy non-unibuild boards.  For now, this
+		# feature is unibuild only.
+		true
+	fi
+
+	if [[ -n "${platform_intf}" ]]; then
+		emesonargs+=(
+			"-Dplatform_intf=${platform_intf}"
+		)
+	fi
+
+	# Necessary to enable LTO.  See crbug.com/1082378.
+	append-ldflags "-O2"
+
+	meson_src_configure
+}
+
+src_compile() {
+	meson_src_compile
+}
+
+platform_pkg_test() {
+	local tests=(
+		file_unittest
+		math_unittest
+		platform_unittest
+	)
+	local test_bin
+	for test_bin in "${tests[@]}"; do
+		platform_test "run" \
+			"${BUILD_DIR}/unittests/${test_bin}"
+	done
+}
+
+src_install() {
+	dosbin "${BUILD_DIR}/mains/mosys"
+
+	insinto /usr/share/policy
+	newins "seccomp/mosys-seccomp-${ARCH}.policy" mosys-seccomp.policy
+	dodoc README
+}
diff --git a/overlay-lakitu/sys-apps/rootdev/rootdev-0.0.1-r38.ebuild b/overlay-lakitu/sys-apps/rootdev/rootdev-0.0.1-r38.ebuild
new file mode 100644
index 0000000..839a17c
--- /dev/null
+++ b/overlay-lakitu/sys-apps/rootdev/rootdev-0.0.1-r38.ebuild
@@ -0,0 +1,45 @@
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+CROS_WORKON_COMMIT="b2f37be7c25bc83b76f1b7063a4ef38b824dc4ef"
+CROS_WORKON_TREE="40c0bf77fe822e8e504d99f2ef90f3e3c5b58084"
+CROS_WORKON_PROJECT="chromiumos/third_party/rootdev"
+CROS_WORKON_OUTOFTREE_BUILD="1"
+
+inherit toolchain-funcs cros-sanitizers cros-workon
+
+DESCRIPTION="Chrome OS root block device tool/library"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/third_party/rootdev/"
+SRC_URI=""
+
+LICENSE="BSD-Google"
+KEYWORDS="*"
+IUSE="-asan"
+
+src_configure() {
+	sanitizers-setup-env
+	tc-export CC
+	default
+}
+
+src_compile() {
+	emake OUT="${WORKDIR}"
+}
+
+src_test() {
+	if ! use x86 && ! use amd64 ; then
+		einfo Skipping unit tests on non-x86 platform
+	else
+		sudo LD_LIBRARY_PATH=${WORKDIR} \
+			./rootdev_test.sh "${WORKDIR}/rootdev" || die
+	fi
+}
+
+src_install() {
+	cd "${WORKDIR}"
+	dobin rootdev
+	dolib.so librootdev.so*
+	insinto /usr/include/rootdev
+	doins "${S}"/rootdev.h
+}
