-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
:Release Notes: Update README.md for webOS OSE 2.20.0 :Detailed Notes: Reorganize document to improve readability Delete out-of-date descriptions Add instructions to download sources codes and license information :Testing Performed: No affect to images. :QA Notes: N/A :Issues Addressed: [WRP-8130] CCC: Update README.md on build-webos repository Change-Id: I19239993f2127730b4997017f009a394b3931347 Reviewed-on: http://gpro.lge.com/c/webosose/build-webos/+/344894 Reviewed-by: Commit Msg Checker <[email protected]> Reviewed-by: Ban Word Checker <[email protected]> Reviewed-by: Hyunjae Shin <[email protected]> Tested-by: Hyunjae Shin <[email protected]>
- Loading branch information
1 parent
d6ac27c
commit 7e616b0
Showing
1 changed file
with
42 additions
and
75 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,98 +1,65 @@ | ||
build-webos | ||
=========== | ||
# build-webos | ||
|
||
Summary | ||
------- | ||
Build webOS OSE (Open Source Edition) images | ||
This repository contains the top level code that aggregates the various [OpenEmbedded](http://openembedded.org) layers into a whole from which [webOS Open Source Edition (OSE)](https://www.webosose.org/) images can be built. | ||
|
||
Description | ||
----------- | ||
This repository contains the top level code that aggregates the various [OpenEmbedded](http://openembedded.org) layers into a whole from which webOS OSE images can be built. | ||
## Prerequisites | ||
|
||
Cloning | ||
======= | ||
Set up build-webos by cloning its Git repository: | ||
Before you begin, make sure that you prepare the target device and systems that meet the [System Requirements](https://www.webosose.org/docs/guides/setup/system-requirements/). | ||
|
||
git clone https://github.com/webosose/build-webos.git | ||
## How to Build a webOS OSE Image | ||
|
||
Note: If you populate it by downloading an archive (zip or tar.gz file), then you will get the following error when you run mcf: | ||
To build a webOS OSE image, refer to [Building webOS OSE](https://www.webosose.org/docs/guides/setup/building-webos-ose/) | ||
|
||
fatal: Not a git repository (or any parent up to mount parent). | ||
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYTEM not set). | ||
If you are already familiar with building webOS OSE, check the following quick summary: | ||
|
||
``` bash | ||
# Download this repository | ||
$ git clone https://github.com/webosose/build-webos.git | ||
$ cd build-webos | ||
$ git checkout -t origin/<branch of the latest webOS OSE version> | ||
|
||
Prerequisites | ||
============= | ||
Before you can build, you will need some tools. If you try to build without them, bitbake will fail a sanity check and tell you what's missing, but not really how to get the missing pieces. On Ubuntu, you can force all of the missing pieces to be installed by entering: | ||
# Install and configure the build | ||
$ sudo scripts/prerequisites.sh | ||
$ ./mcf -p 0 -b 0 raspberrypi4-64 | ||
|
||
$ cd build-webos | ||
$ sudo scripts/prerequisites.sh | ||
# Start to build | ||
$ source oe-init-build-env | ||
$ bitbake webos-image | ||
``` | ||
|
||
Also, the bitbake sanity check will issue a warning if you're not running under Ubuntu 18.04 64bit LTS. | ||
> **Note**: See also [Flashing webOS OSE](https://www.webosose.org/docs/guides/setup/flashing-webos-ose/). | ||
## Copyright and License Information | ||
|
||
Building | ||
======== | ||
To configure the build for the raspberrypi4 and to fetch the sources: | ||
|
||
$ ./mcf -p 0 -b 0 raspberrypi4 | ||
|
||
The `-p 0` and `-b 0` options set the make and bitbake parallelism values to the number of CPU cores found on your computer. | ||
|
||
To kick off a full build of webOS OSE, make sure you have at least 100GB of disk space available and enter the following: | ||
|
||
$ make webos-image | ||
|
||
This may take in the neighborhood of two hours on a multi-core workstation with a fast disk subsystem and lots of memory, or many more hours on a laptop with less memory and slower disks or in a VM. | ||
|
||
If you need more information about the build, please see the build guide on the webOS OSE website(webosose.org). | ||
|
||
Images | ||
====== | ||
The following images can be built: | ||
|
||
- `webos-image`: The production webOS OSE image. | ||
- `webos-image-devel`: Adds various development tools to `webos-image`, including gdb and strace. See `packagegroup-core-tools-debug` and `packagegroup-core-tools-profile` in `oe-core` and `packagegroup-webos-test` in `meta-webos` for the complete list. | ||
|
||
|
||
Cleaning | ||
======== | ||
To blow away the build artifacts and prepare to do clean build, you can remove the build directory and recreate it by typing: | ||
|
||
$ rm -rf BUILD | ||
$ ./mcf.status | ||
|
||
What this retains are the caches of downloaded source (under `./downloads`) and shared state (under `./sstate-cache`). These caches will save you a tremendous amount of time during development as they facilitate incremental builds, but can cause seemingly inexplicable behavior when corrupted. If you experience strangeness, use the command presented below to remove the shared state of suspicious components. In extreme cases, you may need to remove the entire shared state cache. See [here](https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#shared-state-cache) for more information on it. | ||
|
||
|
||
Building Individual Components | ||
============================== | ||
To build an individual component, enter: | ||
|
||
$ make <component-name> | ||
Unless otherwise specified, all content, including all source code files and documentation files in this repository are: | ||
|
||
To clean a component's build artifacts under BUILD, enter: | ||
Copyright (c) 2008-2023 LG Electronics, Inc. | ||
|
||
$ make clean-<component-name> | ||
All content, including all source code files and documentation files in this repository except otherwise noted are: Licensed under the Apache License, Version 2.0 (the "License"); you may not use this content except in compliance with the License. You may obtain a copy of the License at | ||
|
||
To remove the shared state for a component as well as its build artifacts to ensure it gets rebuilt afresh from its source, enter: | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
$ make cleanall-<component-name> | ||
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. | ||
|
||
Adding new layers | ||
================= | ||
The script automates the process of adding new OE layers to the build environment. The information required for integrate new layer are; layer name, OE priority, repository, identification in the form branch, commit or tag ids. It is also possible to reference a layer from local storage area. The details are documented in weboslayers.py. | ||
SPDX-License-Identifier: Apache-2.0 | ||
|
||
Copyright and License Information | ||
================================= | ||
Unless otherwise specified, all content, including all source code files and documentation files in this repository are: | ||
## How to Download Source Codes and Licenses | ||
|
||
Copyright (c) 2008-2019 LG Electronics, Inc. | ||
If you *ONLY* want to check the source codes and those license information, enter the following commands: | ||
|
||
All content, including all source code files and documentation files in this repository except otherwise noted are: Licensed under the Apache License, Version 2.0 (the "License"); you may not use this content except in compliance with the License. You may obtain a copy of the License at | ||
``` bash | ||
# Download this repository | ||
$ git clone https://github.com/webosose/build-webos.git | ||
$ cd build-webos | ||
$ git checkout -t origin/<branch of the latest webOS OSE version> | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
# Install and configure the build | ||
$ sudo scripts/prerequisites.sh | ||
$ ./mcf -p 0 -b 0 raspberrypi4-64 | ||
|
||
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. | ||
# Download source codes and licenses | ||
$ source oe-init-build-env | ||
$ bitbake --runall=patch webos-image | ||
``` | ||
|
||
SPDX-License-Identifier: Apache-2.0 | ||
You can check the source codes and licenses under the `BUILD/work` directory. |