Skip to content

silicahd/palmos

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

build-pamOS

Summary

Build pamOS OSE (Open Source Edition) images

Description

This repository contains the top level code that aggregates the various OpenEmbedded layers into a whole from which webOS OSE images can be built.

Cloning

Set up build-webos by cloning its Git repository:

 git clone https://github.com/webosose/build-webos.git

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:

 fatal: Not a git repository (or any parent up to mount parent).
 Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYTEM not set).

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:

$ cd build-webos
$ sudo scripts/prerequisites.sh

Also, the bitbake sanity check will issue a warning if you're not running under Ubuntu 18.04 64bit LTS.

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 for more information on it.

Building Individual Components

To build an individual component, enter:

$ make <component-name>

To clean a component's build artifacts under BUILD, enter:

$ make clean-<component-name>

To remove the shared state for a component as well as its build artifacts to ensure it gets rebuilt afresh from its source, enter:

$ make cleanall-<component-name>

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.

About

palmOS OSE build layer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 54.8%
  • Shell 42.8%
  • Makefile 2.4%