Skip to content

Commit 7eec867

Browse files
committed
Merge remote-tracking branch 'upstream/main' into topo
2 parents 649ec29 + 59993a8 commit 7eec867

482 files changed

Lines changed: 6228 additions & 1508 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.wordlist.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6313,4 +6313,15 @@ microVM
63136313
microVMs
63146314
microvm
63156315
npx
6316-
sbx
6316+
sbx
6317+
IndexByte
6318+
Mosquitto
6319+
SplitN
6320+
burstable
6321+
faqs
6322+
mqtt
6323+
perfrunbook
6324+
pprof
6325+
prj
6326+
reflashing
6327+
unwinder

archetypes/learning-path/_index.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,16 @@ prerequisites:
1515

1616
author: PLACEHOLDER NAME
1717

18+
# New Learning Paths are opted in for the next manual generated summary/FAQ run.
19+
# The generator resets this to false after a successful write.
20+
generate_summary_faq: true
21+
22+
# Optional one-shot controls: set either field to true to regenerate just that
23+
# generated section the next time the summary/FAQ tool runs. The tool resets
24+
# them to false after a successful write.
25+
rerun_summary: false
26+
rerun_faqs: false
27+
1828
### Tags
1929
skilllevels: PLACEHOLDER SKILLLEVEL
2030
subjects: PLACEHOLDER SUBJECT
@@ -27,8 +37,6 @@ tools_software_languages:
2737
operatingsystems:
2838
- PLACEHOLDER OS G
2939

30-
31-
3240
further_reading:
3341
- resource:
3442
title: PLACEHOLDER MANUAL
@@ -43,8 +51,6 @@ further_reading:
4351
link: PLACEHOLDER GENERAL WEBSITE LINK
4452
type: website
4553

46-
47-
4854
### FIXED, DO NOT MODIFY
4955
# ================================================================================
5056
weight: 1 # _index.md always has weight of 1 to order correctly

assets/contributors.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,4 @@ Akash Malik,Arm,akashmalik19973,akash-malik-a65bab219,,
125125
Matt Cossins,Arm,matt-cossins,,,
126126
Sue Wu,Arm,,,,
127127
Sabika Tasneem,Memgraph,,,,
128+
Tomas Agustin Gonzalez Orlando,Arm,tgonzalezorlandoarm,tgorlando,,

assets/css/content-pages.css

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,80 @@ html[theme='dark'] .incorrect-explain {color: #e86868} /* 27% lighter than arm's
261261
color: var(--arm-green);
262262
}
263263

264+
265+
266+
/* Generated AI-assisted summary/FAQ block
267+
*******************************************************************/
268+
.generated-summary-faq__heading {
269+
align-items: center;
270+
display: flex;
271+
flex-wrap: wrap;
272+
column-gap: 12px;
273+
margin-bottom: 16px;
274+
row-gap: 8px;
275+
}
276+
277+
.generated-summary-faq__heading h3 {
278+
line-height: 1.1;
279+
margin: 0;
280+
}
281+
282+
.generated-summary-faq__assist {
283+
align-items: center;
284+
display: inline-flex;
285+
gap: 6px;
286+
}
287+
288+
.generated-summary-faq__assist ads-modal {
289+
display: inline-flex;
290+
}
291+
292+
ads-tag.generated-summary-faq__ai-tag {
293+
--ads-tag-background-color: transparent;
294+
--ads-tag-background-color-hover: transparent;
295+
--ads-tag-border-color: 1px solid var(--arm-web-safe-blue);
296+
--ads-tag-border-color-hover: 1px solid var(--arm-green);
297+
--ads-tag-color: var(--arm-web-safe-blue);
298+
--ads-tag-color-hover: var(--arm-green);
299+
}
300+
301+
html[theme='dark'] ads-tag.generated-summary-faq__ai-tag {
302+
--ads-tag-border-color: 1px solid var(--arm-light-blue);
303+
--ads-tag-border-color-hover: 1px solid var(--arm-green);
304+
--ads-tag-color: var(--arm-light-blue);
305+
--ads-tag-color-hover: var(--arm-green);
306+
}
307+
308+
ads-button.generated-summary-faq__info {
309+
--ads-button-color: var(--arm-web-safe-blue);
310+
--ads-button-color-hover: var(--arm-green);
311+
--ads-button-border-color: var(--arm-web-safe-blue);
312+
--ads-button-border-color-hover: var(--arm-green);
313+
}
314+
315+
html[theme='dark'] ads-button.generated-summary-faq__info {
316+
--ads-button-color: var(--arm-light-blue);
317+
--ads-button-color-hover: var(--arm-green);
318+
--ads-button-border-color: var(--arm-light-blue);
319+
--ads-button-border-color-hover: var(--arm-green);
320+
}
321+
322+
ads-expansion-panel.generated-summary-faq__panel {
323+
--ads-expansion-panel-border-color: var(--arm-light-grey);
324+
--ads-expansion-panel-content-background-color: transparent;
325+
--ads-expansion-panel-toggle-background-color: transparent;
326+
--ads-expansion-panel-toggle-background-color-hover: transparent;
327+
--ads-expansion-panel-toggle-icon-color-hover: var(--arm-green);
328+
}
329+
330+
html[theme='dark'] ads-expansion-panel.generated-summary-faq__panel {
331+
--ads-expansion-panel-border-color: rgba(163, 168, 174, 0.25);
332+
--ads-expansion-panel-content-background-color: transparent;
333+
--ads-expansion-panel-toggle-background-color: transparent;
334+
--ads-expansion-panel-toggle-background-color-hover: transparent;
335+
--ads-expansion-panel-toggle-icon-color-hover: var(--arm-green);
336+
}
337+
264338
.share-icon {
265339
width: 36px;
266340
height: 36px;

config.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ cloudFrontDistributionID = "EAMKPMDBM18II"
1717
name = "prod"
1818
URL = "s3://arm-learning-paths-prod?region=us-east-1"
1919
cloudFrontDistributionID = "E2IA2AC83UE2VJ"
20+
exclude = "md/**"
2021

2122
[markup]
2223
[markup.goldmark]

content/install-guides/sbx.md

Lines changed: 96 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Docker Sandboxes (sbx)
33

4-
description: Install Docker Sandboxes (sbx) on macOS with Apple Silicon to run AI coding agents in isolated Arm Linux microVMs using Apple's virtualization framework.
4+
description: Install Docker Sandboxes (sbx) on macOS with Apple Silicon or Arm Linux to run AI coding agents in isolated microVMs.
55

66
minutes_to_complete: 10
77

@@ -13,7 +13,6 @@ additional_search_terms:
1313
- sandbox
1414
- microvm
1515
- containers
16-
- apple silicon
1716

1817
author: Jason Andrews
1918

@@ -30,21 +29,35 @@ layout: installtoolsall
3029
Docker Sandboxes (`sbx`) is a standalone CLI from Docker for running AI coding agents in isolated microVMs. Each sandbox gets its own filesystem, network, and Docker daemon, so agents can install packages, modify files, and run containers without touching your host system.
3130

3231
{{% notice Note %}}
33-
`sbx` is not available on Arm Linux.
32+
Arm Linux support is available in `sbx` version 0.33 and later.
3433
{{% /notice %}}
3534

3635
On macOS with Apple Silicon, `sbx` uses Apple's virtualization framework to launch Arm Linux (Ubuntu) microVMs. You don't need Docker Desktop.
3736

37+
On Arm Linux, `sbx` uses the KVM hypervisor to launch microVMs. KVM requires bare metal and does not work on virtual machines.
38+
3839
## Before you begin
3940

41+
### macOS prerequisites
42+
4043
You need:
4144

4245
- A Mac with Apple Silicon (M1 or later) running macOS Sonoma (version 14) or later.
43-
- A [Docker Hub](https://hub.docker.com/) account to authenticate `sbx`.
4446
- [Homebrew](https://brew.sh/) installed.
47+
- A [Docker Hub](https://hub.docker.com/) account to authenticate `sbx`.
48+
49+
### Arm Linux prerequisites
50+
51+
You need:
52+
53+
- An Arm Linux system running Ubuntu 24.04 LTS or later on aarch64 architecture.
54+
- Kernel-based Virtual Machine (KVM) enabled on bare metal hardware.
55+
- A [Docker Hub](https://hub.docker.com/) account to authenticate `sbx`.
4556

4657
## Install the sbx CLI
4758

59+
### macOS installation
60+
4861
Install `sbx` using Homebrew:
4962

5063
```bash
@@ -53,6 +66,76 @@ brew install docker/tap/sbx
5366

5467
Homebrew installs the `sbx` binary at `/opt/homebrew/bin/sbx`.
5568

69+
### Arm Linux installation
70+
71+
On Arm Linux, `sbx` requires KVM acceleration. KVM does not typically work on virtual machines. It requires bare metal.
72+
73+
Install and run the `kvm-ok` command to confirm KVM is available.
74+
75+
Install `kvm-ok` on Debian-based Linux distributions:
76+
77+
```bash
78+
sudo apt install cpu-checker -y
79+
```
80+
81+
To check if KVM is available, run:
82+
83+
```console
84+
sudo kvm-ok
85+
```
86+
87+
If KVM is available, the output is similar to:
88+
89+
```output
90+
INFO: /dev/kvm exists
91+
KVM acceleration can be used
92+
```
93+
94+
If KVM is not available, the output is similar to:
95+
96+
```output
97+
INFO: /dev/kvm does not exist
98+
HINT: sudo modprobe kvm
99+
INFO: For more detailed results, you should run this as root
100+
HINT: sudo /usr/sbin/kvm-ok
101+
```
102+
103+
After KVM is available, install `sbx` using the appropriate .deb package for your Ubuntu version. First, check your Ubuntu version:
104+
105+
```bash
106+
grep VERSION_ID /etc/os-release
107+
```
108+
109+
{{% notice Note %}}
110+
The following commands use Docker Sandboxes version 0.33.0. The same commands work with other versions. Replace the file used in these steps with the file for your version of choice. To find the latest release and available Ubuntu versions, see the [sbx releases page](https://github.com/docker/sbx-releases/releases).
111+
{{% /notice %}}
112+
113+
For Ubuntu 26.04, download and install the .deb package:
114+
115+
```bash
116+
wget https://github.com/docker/sbx-releases/releases/download/v0.33.0/DockerSandboxes-linux-arm64-ubuntu2604.deb
117+
sudo apt install ./DockerSandboxes-linux-arm64-ubuntu2604.deb
118+
```
119+
120+
For Ubuntu 24.04, download and install the .deb package:
121+
122+
```bash
123+
wget https://github.com/docker/sbx-releases/releases/download/v0.33.0/DockerSandboxes-linux-arm64-ubuntu2404.deb
124+
sudo apt install ./DockerSandboxes-linux-arm64-ubuntu2404.deb
125+
```
126+
127+
Verify the installation:
128+
129+
```bash
130+
which sbx
131+
```
132+
133+
The output is similar to:
134+
135+
```output
136+
/usr/bin/sbx
137+
```
138+
56139
## Verify the installation
57140

58141
After installing the CLI, verify that the installation was successful.
@@ -66,13 +149,13 @@ sbx version
66149
```
67150

68151
{{% notice Note %}}
69-
The following output shows the version at the time this guide was written. Homebrew installs the latest available version. To find the latest release, see the [sbx releases page](https://github.com/docker/sbx-releases/releases).
152+
The following output shows the version at the time this guide was written. To find the latest release, see the [sbx releases page](https://github.com/docker/sbx-releases/releases).
70153
{{% /notice %}}
71154

72155
The output is similar to:
73156

74157
```output
75-
sbx version: v0.32.0 55580366449bcfebfc1787b9944284cf64c856d7
158+
sbx version: v0.33.0 d7da69cb30eb3000c4d4ef0c848ffe84f32058bf
76159
```
77160

78161
### Authenticate with Docker Hub
@@ -94,6 +177,7 @@ sbx run shell
94177
```
95178

96179
This launches a bare Arm Linux microVM with a shell prompt. No AI agent runs inside it.
180+
97181
On your first run, the CLI will ask you to select a network policy:
98182

99183
- `Open`: allows all network access from within the sandbox.
@@ -140,7 +224,7 @@ UBUNTU_CODENAME=resolute
140224
LOGO=ubuntu-logo
141225
```
142226

143-
This confirms that the shell sandbox is running Arm Linux (Ubuntu on aarch64) inside the microVM.
227+
This confirms that the shell sandbox is running Arm Linux (Ubuntu on aarch64) inside the microVM.
144228

145229
Keep the shell running to test management commands in another terminal.
146230

@@ -156,22 +240,22 @@ The output is similar to:
156240

157241
```output
158242
SANDBOX AGENT STATUS PORTS WORKSPACE
159-
shell-arm-learning-paths shell stopped /Users/arm-learning-paths
243+
shell-arm-learning-paths shell stopped ~/my-project
160244
```
161245

162-
Copy a file from your Mac into the sandbox. For example:
246+
Copy a file from your host into the sandbox. For example:
163247

164248
```bash
165249
sbx cp ./myfile.txt <SANDBOX>:/home/user/myfile.txt
166250
```
167251

168-
Copy a file from a sandbox back to your Mac. For example:
252+
Copy a file from a sandbox back to your host. For example:
169253

170254
```bash
171255
sbx cp <SANDBOX>:/home/user/output.txt ./output.txt
172256
```
173257

174-
## Clean up
258+
## Clean up
175259

176260
Stop the running shell sandbox using its name:
177261

@@ -191,7 +275,7 @@ You'll be prompted to confirm whether you want to remove the sandbox. Answer `y`
191275

192276
## Next steps
193277

194-
You're now ready to use Docker Sandboxes to run AI agents in isolated microVMs on macOS.
278+
You're now ready to use Docker Sandboxes to run AI agents in isolated microVMs on macOS or Arm Linux.
195279

196280
To launch an agent sandbox, provide the name of the agent sandbox in the run command. For example, to launch a Claude sandbox:
197281

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,12 @@ prerequisites:
1515
draft: true
1616
cascade:
1717
draft: true
18-
1918
author: Jason Andrews
2019

20+
generate_summary_faq: true
21+
rerun_summary: false
22+
rerun_faqs: false
23+
2124
### Tags
2225
skilllevels: Introductory
2326
subjects: Performance and Architecture
@@ -29,7 +32,6 @@ operatingsystems:
2932
- RTOS
3033
tools_software_languages:
3134

32-
3335
further_reading:
3436
- resource:
3537
title: Raspberry Pi Pico
@@ -40,7 +42,6 @@ further_reading:
4042
link: https://microbit.org/
4143
type: website
4244

43-
4445
weight: 1
4546
layout: "learningpathall" # All files under learning paths have this same wrapper
4647
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.

0 commit comments

Comments
 (0)