Skip to content

Commit 0062cae

Browse files
nit
1 parent 00d0ad3 commit 0062cae

3 files changed

Lines changed: 69 additions & 19 deletions

File tree

  • content/learning-paths
    • automotive/openadkit2_safetyisolation
    • mobile-graphics-and-gaming/ams
    • servers-and-cloud-computing/rafay-eks

content/learning-paths/automotive/openadkit2_safetyisolation/_index.md

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,66 @@ prerequisites:
1616
- Completion of the [Deploy Open AD Kit containerized autonomous driving simulation on Arm Neoverse](/learning-paths/automotive/openadkit1_container/) Learning Path
1717
- Basic familiarity with Docker
1818

19+
# START generated_summary_faq
20+
generated_summary_faq:
21+
template_version: summary-faq-v3
22+
generated_at: '2026-06-24T15:35:59Z'
23+
generator: ai
24+
ai_assisted: true
25+
ai_review_required: true
26+
model: gpt-5
27+
prompt_template: summary-faq-v3
28+
source_hash: 92a6dac2b1674a44cd623a0c8c3189b38438124a6067ed7ca776999ff1d8b5bf
29+
summary_generated_at: '2026-06-24T15:35:59Z'
30+
summary_source_hash: 92a6dac2b1674a44cd623a0c8c3189b38438124a6067ed7ca776999ff1d8b5bf
31+
faq_generated_at: '2026-06-24T15:35:59Z'
32+
faq_source_hash: 92a6dac2b1674a44cd623a0c8c3189b38438124a6067ed7ca776999ff1d8b5bf
33+
summary: >-
34+
In this Learning Path, you'll prototype safety‑critical isolation for autonomous
35+
driving workloads on Arm Neoverse by applying functional safety concepts, ISO 26262 and ASIL
36+
guidance, and a safety-island architecture. You'll separate safety-critical control
37+
logic from non-safety functions, then connect components using a publish‑subscribe model (DDS/ROS
38+
2) within containerized deployments or across Arm‑based instances. You'll learn about lifecycle
39+
practices aligned with the V‑model, including clear requirements, version control, impact
40+
analysis, and regression testing. By the end, you'll organize simulation components into
41+
isolated units with defined interfaces and documentation suitable for advancing ISO 26262-oriented
42+
development on Arm Neoverse.
43+
faqs:
44+
- question: How do I decide which components belong on the safety island versus the general
45+
ECU?
46+
answer: >-
47+
Place time‑critical, safety‑relevant control logic (for example, braking or steering) on
48+
the safety island, and keep non‑critical features (such as infotainment) on the general
49+
ECU. The goal is strong isolation, determinism, and minimized coupling for safety‑critical
50+
paths.
51+
- question: What should I verify to confirm the isolation boundaries are defined correctly?
52+
answer: >-
53+
Check that safety‑critical components run independently from non‑critical services and communicate
54+
only through defined publish‑subscribe interfaces. Ensure data exchanged is minimal and
55+
purpose‑specific so that safety logic is not impacted by unrelated functions.
56+
- question: How do ISO 26262 ASIL levels influence my development workflow in this prototype?
57+
answer: >-
58+
Higher ASIL targets require more rigorous processes and evidence across the V‑model. For
59+
example, ASIL‑D changes go through full impact analysis and regression testing to prevent
60+
introducing new risks.
61+
- question: Should I separate components using containers on one host or across multiple Arm
62+
Neoverse instances?
63+
answer: >-
64+
Both approaches support prototyping: containers model software isolation on one system,
65+
while multiple instances model stronger physical separation. Choose the option that best
66+
matches the isolation assumptions you want to evaluate.
67+
- question: What artifacts should I capture to support ISO 26262 traceability in this prototype?
68+
answer: >-
69+
Maintain clear safety requirements, rationale for the safety‑island split, defined DDS/ROS
70+
2 interfaces, and mapped tests to requirements. Record versioned changes, impact analyses,
71+
and verification results aligned to the V‑model stages.
72+
# END generated_summary_faq
73+
1974
author:
2075
- Odin Shen
2176
- Julien Jayat
2277

23-
generate_summary_faq: true
78+
generate_summary_faq: false
2479
rerun_summary: false
2580
rerun_faqs: false
2681

content/learning-paths/mobile-graphics-and-gaming/ams/malioc.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ The `--help` option returns usage instructions and the full list of available op
2626
On macOS, Mali Offline Compiler might not be recognized as an application from an identified developer. To enable Mali Offline Compiler, open **System Preferences > Security & Privacy**, and select **Allow Anyway** for the `malioc` item.
2727
{{% /notice %}}
2828

29-
## Supported GPUs
30-
3129
To see the full list of [supported GPUs](https://developer.arm.com/documentation/101863/latest/Platform-support/GPU-support) use:
3230

3331
```console

content/learning-paths/servers-and-cloud-computing/rafay-eks/nginx.md

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
---
2-
title: "Deploy NGINX and clean up"
2+
title: Deploy NGINX to the Amazon EKS cluster and clean up
3+
description: Deploy NGINX to an Amazon EKS cluster on AWS Graviton-based nodes, test in-cluster connectivity, and clean up the Kubernetes and cloud resources.
34
weight: 4
45

56
### FIXED, DO NOT MODIFY
67
layout: learningpathall
78
---
89

9-
With the cluster running, you can now validate it by deploying a workload. In this section, you deploy NGINX using a manifest that pins pods to `arm64` nodes, verify the pod reaches a `Running` state, and test connectivity from inside the cluster. You then clean up all provisioned resources.
10+
## Deploy NGINX
1011

11-
## Deploy NGINX
12-
13-
With the EKS cluster running on Graviton nodes, deploy NGINX to confirm that arm64 workloads schedule and run correctly.
12+
With the Amazon EKS cluster running on Graviton-based nodes, deploy NGINX to confirm that `arm64` workloads schedule and run correctly.
1413

1514
Create a file named `nginx-graviton.yaml` with the following content:
1615

@@ -104,7 +103,9 @@ nginx-arm-svc ClusterIP 10.100.42.137 <none> 80/TCP 30s
104103

105104
## Test NGINX connectivity
106105

107-
The NGINX service is type `ClusterIP`, which means it has no external IP and is only reachable from within the cluster network. The cluster also has `publicAccess: false`, so there is no public Kubernetes API endpoint. Both constraints mean you cannot test connectivity from your laptop directly. Instead, run a one-off pod inside the cluster that sends a request to the service and then deletes itself:
106+
The NGINX service is type `ClusterIP`, which means it has no external IP and is reachable only from within the cluster network. The cluster also has `publicAccess: false`, so there's no public Kubernetes API endpoint. Both constraints mean you can't test connectivity from your local machine directly.
107+
108+
Instead, run a one-off pod inside the cluster that sends a request to the service and then deletes itself:
108109

109110
```console
110111
kubectl run curl-test --rm -it --image=curlimages/curl --restart=Never -- curl http://nginx-arm-svc.nginx.svc
@@ -127,9 +128,9 @@ working. Further configuration is required.</p>
127128
pod "curl-test" deleted
128129
```
129130

130-
The NGINX welcome page confirms that the workload is running and reachable on your Graviton-backed EKS cluster.
131+
The NGINX welcome page confirms that the workload is running and reachable on your Graviton-based EKS cluster.
131132

132-
## Clean up
133+
## Clean up resources
133134

134135
Remove the NGINX workload and then delete the cluster to avoid ongoing AWS charges.
135136

@@ -148,7 +149,7 @@ service "nginx-arm-svc" deleted
148149
```
149150

150151
{{< notice warning >}}
151-
Deleting the cluster through RCTL triggers the removal of the EKS control plane, managed node group, and associated CloudFormation stacks in your AWS account. If you do not run this command, AWS will continue to charge you for the running EC2 instances and EKS control plane.
152+
Deleting the cluster through RCTL triggers the removal of the EKS control plane, managed node group, and associated CloudFormation stacks in your AWS account. If you don't run this command, AWS will continue to charge you for the running EC2 instances and EKS control plane.
152153
{{< /notice >}}
153154

154155
Delete the EKS cluster through Rafay:
@@ -157,13 +158,9 @@ Delete the EKS cluster through Rafay:
157158
rctl delete cluster demo-eks-graviton
158159
```
159160

160-
## Summary
161+
## What you've accomplished
161162

162-
In this Learning Path you:
163+
You've now deployed NGINX using a manifest that pins pods to `arm64` nodes, verified the pod reaches a `Running` state, and tested connectivity from inside the cluster. You then cleaned up all provisioned resources.
163164

164-
- Connected your AWS account to the Rafay platform using a cross-account IAM role and cloud credential.
165-
- Provisioned a private Amazon EKS cluster with a Graviton (`m7g.large`) node group using a declarative Rafay manifest and `rctl`.
166-
- Deployed NGINX with a `nodeSelector` that pins workloads to `arm64` nodes, confirming that Arm-native containers schedule and run correctly.
167-
- Tested in-cluster connectivity using a one-off curl pod, and cleaned up all AWS and Rafay resources.
165+
Rafay's control plane handles cluster access without requiring a public Kubernetes API endpoint, so you can use Rafay to run private, Graviton-based EKS clusters at scale.
168166

169-
Rafay's control plane handles cluster access without requiring a public Kubernetes API endpoint, making it straightforward to run private, Graviton-backed EKS clusters at scale.

0 commit comments

Comments
 (0)