├── 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 |
--------------------------------------------------------------------------------