diff --git a/README.md b/README.md index 50b11e0..143b303 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,43 @@ -## aws4embeddedlinux-ci +# aws4embeddedlinux-ci This [cdk](https://github.com/aws/aws-cdk) IaC library help you to deploy AWS cloud infrastructure to allow embedded Linux builds for your project. -### Architecture +## Architecture ![architecture overview](architecture.drawio.svg "Architecture") -### Quickstart +## API documentation +[API documentation](https://aws4embeddedlinux.github.io/aws4embeddedlinux-ci/) generated by `npm run doc` + +# Setting Up + +## Quickstart Use the [examples](https://github.com/aws4embeddedlinux/aws4embeddedlinux-ci-examples) in our examples repo. -### API documentation -[API documentation](https://aws4embeddedlinux.github.io/aws4embeddedlinux-ci/) generated by `npm run doc` -### Development Setup +## Setting Up A New Project + +1. Create a CDK project. More details can be found in the [CDK Getting Started Documentation](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html). +``` +mkdir my-project +cd my-project +cdk init app --language typescript +``` +2. Add the cdk library with `npm install aws4embeddedlinux/aws4embeddedlinux-ci` +3. Create your application using the library. Refer to the [API Documentation](https://aws4embeddedlinux.github.io/aws4embeddedlinux-ci) and the [Examples](github.com/aws4embeddedlinux/aws4embeddedlinux-ci-examples) for more details. +4. Deploy your application using `cdk deploy`. +5. After the application is deployed, the 'Build Image' Pipeline needs to be run. This will create an Ubuntu based container for building Yocto. This container is used by the other pipelines. If the other pipelines are run before this container is created and pushed to [ECR](https://aws.amazon.com/ecr/), they will fail. This Build Image Pipeline will run weekly by default to keep this container patched. +6. Now the application pipeline is able to be run. This will push contents of the Yocto deploy directory into S3. + +## Development Setup You can use [`npm link`](https://docs.npmjs.com/cli/v10/commands/npm-link) to develop with a local copy of this repo. -#### In this library repo: +### In this library repo: ```bash $ npm link $ cd your-project ``` -#### In your-project folder: +### In your-project folder: ```bash $ npm link aws4embeddedlinux-ci ``` @@ -28,6 +45,7 @@ $ npm link aws4embeddedlinux-ci This will link through the system `node_modules` install. When using a system node install on Linux, this can require sudo access. To avoid this, use a [node version manager](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm#using-a-node-version-manager-to-install-nodejs-and-npm) or [set a node prefix](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally). + ## Security See [SECURITY](SECURITY.md) for more information about reporting issues with this project. diff --git a/docs/setup.md b/docs/setup.md deleted file mode 100644 index 7a9cb89..0000000 --- a/docs/setup.md +++ /dev/null @@ -1,50 +0,0 @@ -# Setting Up - -see an example how to use this lib in [`examples`](../../examples/docs/setup.md) - - -## Setting Up A New Project - -1. Create a CDK project. More details can be found in the [CDK Getting Started Documentation](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html). -``` -mkdir my-project -cd my-project -cdk init app --language typescript -``` -2. Add the cdk library with `npm install aws4embeddedlinux/aws4embeddedlinux-ci` -3. Create your application using the library. Refer to the [Library Documentation](TODO) and the [Examples](github.com/aws4embeddedlinux/aws4embeddedlinux-ci-examples) for more details. -4. Deploy your application using `cdk deploy`. -5. After the application is deployed, the 'Build Image' Pipeline needs to be run. This will create an Ubuntu based container for building Yocto. This container is used by the other pipelines. If the other pipelines are run before this container is created and pushed to [ECR](https://aws.amazon.com/ecr/), they will fail. This Build Image Pipeline will run weekly by default to keep this container patched. -6. Now the application pipeline is able to be run. This will push contents of the Yocto deploy directory into S3. - -## Examples - -### A Simple Poky Based Pipeline - -TODO... - -### A Poky Based EC2 AMI Pipeline - -Yocto can be used to create an EC2 AMI. This example demonstrates using this library to create a pipeline which builds an AMI and registers it in your account. - -TODO... - -### Using pre-build, proprietary artifacts in a Pipeline - -This example is based on this [work](https://elinux.org/R-Car/Boards/Yocto-Gen3/v5.9.0) to build an image for Renesas R-Car-H3 Starter Kit Premier (unofficial name - H3ULCB) board including the proprietary graphics and multimedia drivers from Renesas. - -You need to download Multimedia and Graphics library and related Linux drivers, please from the following link (registration necessary): -https://www.renesas.com/us/en/application/automotive/r-car-h3-m3-h2-m2-e2-documents-software - -#### Download two files: - -R-Car_Gen3_Series_Evaluation_Software_Package_for_Linux-20220121.zip -R-Car_Gen3_Series_Evaluation_Software_Package_of_Linux_Drivers-20220121.zip - -Graphic drivers are required for Wayland. Multimedia drivers are optional. - -#### Steps to build the image - -Create a folder named `proprietary` in the root of the source repo. Put those two downloaded files into this folder. After you did deploy the build pipeline and uncomment the `#TODO` in the build.sh file. - -Now a build should automatically start, succeed and you will get an image containing the proprietary graphics and multimedia drivers.