├── metadata ├── fydeos_version.txt └── layout.conf ├── profiles └── base │ └── parent ├── chromeos-base ├── chromeos-config-bsp │ ├── files │ │ └── model.yaml │ └── chromeos-config-bsp-0.0.1.ebuild └── device-appid │ └── device-appid-0.0.2.ebuild ├── LICENSE └── README.md /metadata/fydeos_version.txt: -------------------------------------------------------------------------------- 1 | FYDEOS_BUILD=20 2 | -------------------------------------------------------------------------------- /profiles/base/parent: -------------------------------------------------------------------------------- 1 | rpi4-openfyde:base 2 | rpi5:base 3 | -------------------------------------------------------------------------------- /metadata/layout.conf: -------------------------------------------------------------------------------- 1 | masters = portage-stable chromiumos eclass-overlay baseboard-rpi3 rpi4-openfyde rpi5 2 | profile-formats = portage-2 profile-default-eapi 3 | profile_eapi_when_unspecified = 5-progress 4 | repo-name = rpi5-openfyde 5 | thin-manifests = true 6 | use-manifests = true 7 | -------------------------------------------------------------------------------- /chromeos-base/chromeos-config-bsp/files/model.yaml: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Fyde Innovations. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | # This board only supports a single config, defined below, as it is a 6 | # migrated pre-unibuild device. 7 | device-config: &device_config 8 | name: rpi5-openfyde 9 | 10 | # Required dunder for chromeos-config to support a single device. 11 | chromeos: 12 | devices: 13 | - skus: 14 | - config: *device_config 15 | -------------------------------------------------------------------------------- /chromeos-base/chromeos-config-bsp/chromeos-config-bsp-0.0.1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Fyde Innovations. All rights reserved. 2 | # Use of this source code is governed by a BSD-style license that can be 3 | # found in the LICENSE file. 4 | 5 | EAPI=7 6 | 7 | inherit cros-unibuild 8 | 9 | DESCRIPTION="ChromeOS model configuration" 10 | HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config/README.md" 11 | 12 | LICENSE="BSD-Google" 13 | SLOT="0" 14 | KEYWORDS="*" 15 | 16 | S="${WORKDIR}" 17 | 18 | src_install() { 19 | install_model_files 20 | } 21 | -------------------------------------------------------------------------------- /chromeos-base/device-appid/device-appid-0.0.2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Fyde Innovations Limited and the openFyde Authors. 2 | # Distributed under the license specified in the root directory of this project. 3 | 4 | EAPI="7" 5 | 6 | inherit appid 7 | DESCRIPTION="Creates an app id for this build and update the lsb-release file" 8 | HOMEPAGE="https://fydeos.io" 9 | 10 | LICENSE="BSD-Fyde" 11 | SLOT="0" 12 | KEYWORDS="*" 13 | IUSE="" 14 | 15 | RDEPEND="" 16 | 17 | DEPEND="${RDEPEND}" 18 | 19 | S="${WORKDIR}" 20 | 21 | src_install() { 22 | doappid "{05F44563-C2B4-44D6-A021-D8D1E89D0692}" "CHROMEBOX" 23 | } 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2023, Fyde Innovations Limited 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # overlay-rpi5-openfyde 2 | 3 | ## Introduction 4 | Same as Chromium OS, openFyde adopts the [Portage build and packaging system](https://wiki.gentoo.org/wiki/Portage) from Gentoo Linux. openFyde uses Portage with certain customisations to support building multiple targets (bootable OS system images) across different hardware architectures from a shared set of sources. 5 | 6 | A **board** defines a target type, it can be either for a family of hardware devices or specifically for one type of device. For example, The board `amd64-openfyde` is a target type for an openFyde system image that aims to run on most recent PCs with amd64(x86_64) architecture; whilst the `rpi5-openfyde` board is a target type specifically for the infamous single-board computer [Raspberry Pi 5](https://www.raspberrypi.com/products/raspberry-pi-5/). We usually append `-openfyde` to the board name in openFyde to differentiate between its siblings for FydeOS. 7 | 8 | Each board has a corresponding **overlay** that defines the configuration for it. This includes details like CPU architecture, kernel configuration, as well as additional packages and USE flags. 9 | 10 |
11 | 12 | ## About the board `rpi5-openfyde` 13 | This board specifically targets: 14 | 15 | - [Raspberry Pi 5](https://www.raspberrypi.com/products/raspberry-pi-5/): 16 | 17 | `rpi5-openfyde` is the foundation for [FydeOS for You - Raspberry Pi 5](https://fydeos.io/download/device/rpi5-fydeos) release. 18 | 19 |
20 | 21 | ###### Copyright (c) 2023 Fyde Innovations and the openFyde Authors. Distributed under the license specified in the root directory of this repository. 22 | --------------------------------------------------------------------------------