{"id":46775228,"url":"https://github.com/aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image","last_synced_at":"2026-03-09T23:42:52.432Z","repository":{"id":211278968,"uuid":"728608578","full_name":"aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image","owner":"aws4embeddedlinux","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-29T15:30:50.000Z","size":670,"stargazers_count":1,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-30T04:32:15.758Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit-0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aws4embeddedlinux.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-12-07T10:00:56.000Z","updated_at":"2026-01-29T15:30:55.000Z","dependencies_parsed_at":"2024-01-10T23:34:09.234Z","dependency_job_id":"948d9161-43ab-4ab5-90f6-a921a542fc9f","html_url":"https://github.com/aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image","commit_stats":null,"previous_names":["aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image"],"tags_count":0,"template":false,"template_full_name":"amazon-archives/__template_MIT-0","purl":"pkg:github/aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aws4embeddedlinux","download_url":"https://codeload.github.com/aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30316775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T20:05:46.299Z","status":"ssl_error","status_checked_at":"2026-03-09T19:57:04.425Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-09T23:42:51.743Z","updated_at":"2026-03-09T23:42:52.410Z","avatar_url":"https://github.com/aws4embeddedlinux.png","language":"BitBake","funding_links":[],"categories":[],"sub_categories":[],"readme":"## demo-iot-automotive-embeddedlinux-image\n\nThis repository wiil create the embedded-linux image, which is used by the [AWS IoT Automotive Cloud](https://github.com/aws4embeddedlinux/demo-iot-automotive-cloud) demo.\n\n### Prerequisites \n\nThis is the list of pre requisites for completing the installation and deployment:\n\n- [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)\n- [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)\n- [Node.js and NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)\n- OS Packages \n  - Zip \u0026 Unzip\n\n### Setting environment variables\n\n```bash\nexport AWS_PROFILE=\"default\"\nexport AWS_DEFAULT_REGION=$(aws configure get region --profile ${AWS_PROFILE})\nexport AWS_DEFAULT_ACCOUNT=$(aws sts get-caller-identity --query Account --output text --profile ${AWS_PROFILE})\n\necho \"PROFILE : $AWS_PROFILE\"\necho \"ACCOUNT : $AWS_DEFAULT_ACCOUNT\"\necho \"REGION  : $AWS_DEFAULT_REGION\"\n```\n\n### Clone the project\n\n```bash\ngit clone https://github.com/aws4embeddedlinux/demo-iot-automotive-embeddedlinux-image.git\ncd demo-iot-automotive-embeddedlinux-image\n```\n\n### Bootstrap CDK\n\n\u003e [!NOTE]\n\u003e Only required once unless you upgrade your cdk version\n\n```bash\ncdk bootstrap aws://$AWS_DEFAULT_ACCOUNT/$AWS_DEFAULT_REGION\n```\n\n### Install packages and build the stack\n\nFirst move to the `cdk` folder:\n \n```bash\ncd cdk\n```\n\nThen you will need to install the CDK library including the `aws4embeddedlinux-ci` library either using `yarn`:\n\n```bash\nyarn install\nyarn build\n```\n\n\u003e If you are not familliar with Yarn, please refer to the [documentation](https://yarnpkg.com/getting-started).\n\n\u003e [!NOTE]\n\u003e\n\u003e While the CDK projects often do not require that you invoke the build command separately, doing so will ensure various assets in the library are packaged correctly.\n\n### Deploy the Base Image Pipeline CDK stack\n\n\u003e [!NOTE]\n\u003e\n\u003e The used [library](https://github.com/aws4embeddedlinux/aws4embeddedlinux-ci) is tested against Node Versions 18, 20 and 22. If these versions are not available for your system, we recommend\n\u003e using [NVM](https://github.com/nvm-sh/nvm) to install a compatible version\n\u003e\n\n```bash\ncdk deploy biga-ci-pipeline-base-image \\\n  --require-approval never\n```\n\n\u003e _NOTE_:\n\u003e The `biga-ci-pipeline-base-image` pipeline will need to be successfully completed before other pipelines can work correctly. \n\n**_Expected build times: 5 minutes_**\n\nYou can check that the pipeline completed sucessfully when the following command returns an ***imageIds** entry :\n\n```bash\naws ecr list-images \\\n    --repository-name \"biga-ci-$AWS_DEFAULT_ACCOUNT-$AWS_DEFAULT_REGION-repo\" \\\n    --query \"imageIds[?imageTag=='biga-ci-pipeline-base-image']\"\n```\n\nOnce the pipeline completes and the image is available in the ECR repository, the other `EmbeddedLinuxPipeline` stacks can be created and executed.\n\n### Deploy the Biga Pipeline CDK stack\n\nAfter the base image pipeline completes, the other pipeline stacks are ready to be deployed.\n\nTo deploy a specific pipeline type, you can use the following CDK deploy command:\n\n```bash\ncdk deploy \u003cpipeline-id\u003e --require-approval\n```\n\nwhere **\\\u003cpipeline-id\\\u003e** can be one or more of the following: \n\n| Name                | Pipeline stack id          |\n|---------------------|----------------------------|\n| EC2 AMI             | `biga-ci-pipeline-ec2`     |\n| NXP GoldBox         | `biga-ci-pipeline-goldbox` |\n| Qemu Embedded Linux | `biga-ci-pipeline-qemu`    |\n\nor one ofthe following command to deploy all pipelines:\n\n```bash\ncdk deploy biga-ci-pipelines \\\n  --require-approval never\\\n  --concurrency 3\n```\n\nor:\n\n```bash\ncdk deploy  \\\n  --all  \\\n  --require-approval never \\\n  --concurrency 3\n```\n\n### Cleanup\n\nThe `cdk destroy` command can be used to remove individual pipelines and their related resources. This can also be done in the CloudFormation Console Page.\n\n\u003e **Do not delete stacks while a CodePipeline is running, this can lead to unexpected failures!**\n\nTo remove all the resources associated with this application:\n\n```bash\ncdk destroy --all --force\n```\n\n----- \n\n## NXP Goldbox - Creating a flash device\n\nIn case of flashing the NXP GoldBox, once the **biga-build-nxp-goldbox-** pipeline is completed, you can simply go to the Artifacts S3 bucket and download the `sdcard` image. \n\nAlternatively, you can run the following commands:\n\n```sh\nS3URI=$(aws cloudformation describe-stacks \\\n  --profile ${AWS_PROFILE} \\\n  --stack-name biga-ci-pipeline-goldbox \\\n  --output text \\\n  --query \"Stacks[0].Outputs[?OutputKey=='OutputURI'].OutputValue\" \\\n)\n\necho \"Output S3 bucket URI : $S3URI\"\n\naws s3 cp ${S3URI}/aws-biga-image-s32g274ardb2.sdcard .\n```\n\nOnce the download is complete, insert the SDCard into the computer.\n\nIf you are a Windows user, you can use [Rufus]() to create you SD Card.\n\nIf you are a Linux/Mac user, proceed with the next steps.\n\nTo identify the device name of the SD card you can execute:\n\n```\n# Linux\nlsblk\n# Mac\ndiskutil list\n```\n\nAnd to unmount:\n\n```\n# Linux\nsudo umount /dev/sdX1\n# Mac\ndiskutil unmount /dev/diskXs1\n```\n\nMake sure to replace the `X` with the right block device or drive letter.\n\nNow we can flash the device:\n\n\u003e Please note that it is important to specify the right block device here, otherwise this can erase all of your data, so be careful.\n\n```sh\n# Linux \u0026 Mac\nsudo dd if=./aws-biga-image-s32g274ardb2.sdcard of=/dev/diskX bs=1m \u0026\u0026 sync\n```\n\n## NXP Goldbox - Connect to the NXP Goldbox device\n\nOnce completed, insert back the SD card into the GoldBox and reboot or power cycle the device. This will boot the device and we should be able to `ssh` into it if the host is in the same network:\n\n\n```sh\nssh root@s32g274ardb2.local\n```\n\n# Troubleshooting \n\n## EC2 Graviton AMI // debugging\n\nThose steps are just necessary for debugging, or manually starting an EC2.\n\nIn a scenario where we use an EC2 instance, we should be able to find the latest AMI that was created by the pipeline by doing:\n\n```bash\nexport AWS_DEFAULT_REGION=$(aws configure get region)\n\naws ec2 describe-images \\\n    --region $AWS_DEFAULT_REGION \\\n    --owners self \\\n    --query 'Images | sort_by(@, \u0026CreationDate) | [-1]' \\\n    --output json\n```\n\nThis command sorts AMI images and provides us with the latest entry. From here, we should grab the latest `ImageId`. Please note that the description should look something like this:\n\n```\n \"Description\": \"DISTRO=poky;DISTRO_CODENAME=quillback;DISTRO_NAME=Automotive Grade Linux;DISTRO_VERSION=16.91.0...\n```\n\nSecond, we will need a key pair:\n\n```bash\naws ec2 create-key-pair --key-name biga --query 'KeyMaterial' --output text \u003e biga.pem\nchmod 400 biga.pem\n```\n\n\nThird, we need a security group (to allow ssh access later on)\n\n```bash\naws ec2 create-security-group --group-name bigaSG --description \"a default sg for biga\"\naws ec2 authorize-security-group-ingress --group-id \u003csecurity_group_id\u003e  --protocol tcp  --port 22  --cidr 0.0.0.0/0\n```\n\nIf you already created it, you can find the security_group_id this way:\n\n```bash\naws ec2 describe-security-groups     --filters Name=group-name,Values=*biga*      --query \"SecurityGroups[*].{Name:GroupName,ID:GroupId}\"\n```\n\nAnd finally, we can launch the Graviton instance:\n\n```bash\naws ec2 run-instances --image-id \u003cImageId\u003e --instance-type t4g.micro --key-name biga --security-group-ids \u003csecurity_group_id\u003e --count 1\n```\n\nThis will output the `InstanceId`, which we can use to get the public IP:\n\n```bash\naws ec2 describe-instances --instance-ids \u003cInstanceId\u003e --query 'Reservations[0].Instances[0].PublicIpAddress' --output text\n```\n\nWhich we will need to `ssh` to the target:\n\n```bash\nssh -i biga.pem user@\u003cpublic IP\u003e\n```\n\n### Testing the Device\n\nNow we can start deploying the Greengrass components to the target.\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\n\nThis library is licensed under the MIT-0 License. See the LICENSE file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faws4embeddedlinux%2Fdemo-iot-automotive-embeddedlinux-image/lists"}