-
Overview
-
redpesk OS releases
-
Security updates
- Security CVE / errata
- CVE quick look
-
Redpesk OS Tips and Tricks
-
Application Framework Manager
-
Application Framework Binder
-
APIs & Services
-
Security manager
-
OP-TEE within redpesk
-
Trusted Boot
-
Recovery features
-
redpak
-
Minimal image
- Reduce image size
- Optimizing boot time
-
Kernel fragments description
- Introduction to Linux Kernel Configuration
- 01 Disable IPC, Timers and Audit
- 02 Disable Kconfig, Scheduler and Initrd
- 03 Disable Perf, Profiling and Errata
- 04 Disable EFI, Power Management Debug and Energy Model
- 05 Disable Schedutil, CPUFreq Governors and Virtualization
- 06 Disable Kprobes and Jump Labels
- 07 Disable GCC Plugins and Function Alignment
- 08 Disable Partition Parsers
- 09 Enable Inline Spinlocks and Kernel Operations
- 10 Disable Swap, Memory Hotplug and KSM
- 11 Disable Networking IPv4, IPv6, Netfilter
- 12 Disable SCTP, VLAN, TIPC, BATMAN
- 13 Disable Wireless, Bluetooth, CAN and RFKILL
- 14 Disable PCI and Firmware
- 15 Disable GNSS and ProcEvents
- 16 Disable Block Storage NBD and AoE
- 17 Disable EEPROM and Misc Drivers
- 18 Disable Network Device Drivers
- 19 Disable PHY Drivers
- 20 Disable PPP, WLAN Coexistence, and Failover
- 21 Disable Input Devices
- 22 Disable Serial, TTY and TPM
- 23 Disable I2C, Power and Sensor Drivers
- 24 Disable MFD, Display and Media Drivers
- 25 Disable USB, Sound, RTC and VirtIO
- 26 Disable Filesystem Encodings and Compatibility
- 27 Enable Minimal Cryptographic Core with SHA3 and XTS
- 28 Disable Hardware Cryptography, Keep DRBG and Jitter Entropy
- 29 Disable Kernel Debugging Features
- 30 Disable Filesystem Verity and SecurityFS
-
Zephyr in Redpesk
-
PERM-CHECK extension
-
Mender redpesk (OTA)
-
Hardware support
- Download images
- Image metrics
- Trusted Boot
- Graphical support
- Boards - ARM64
- Boards - x86_64
- Boards - Virtual
- Boards - Archived (legacy)
- Miscs
-
Building microservices natively within SDK container
-
Building microservices and framework from sources
Setup
Requirements
Install an OCI-compatible container engine such as Podman or Docker.
Prepare a work directory
Choose a host directory that will be mounted inside the SDK container:
WORKDIR=${HOME}/project
mkdir -p "${WORKDIR}"
This tutorial uses helloworld-binding. Clone the sample under the work directory by following its Build and installation chapter. The expected source path for the examples below is:
${WORKDIR}/helloworld-binding
Set the redpesk release
Choose an SDK container tag matching the redpesk release you want to target:
REDPESK_RELEASE=corn-3.0-update
See redpesk OS releases for the list of supported distributions.
SDK core
The following command:
- mounts
WORKDIRinside the container; - starts an interactive shell for development;
- mounts the host SSH configuration and Git configuration read-only.
podman run \
--tty \
--init \
--interactive \
--name sdk-core \
--userns keep-id \
--workdir "${WORKDIR}" \
--security-opt label=disable \
--volume "${WORKDIR}:${WORKDIR}" \
--volume "${HOME}/.ssh:${WORKDIR}/.ssh:ro" \
--volume "${HOME}/.gitconfig:${WORKDIR}/.gitconfig:ro" \
"registry.redpesk.bzh/redpesk-ci/redpesk-sdk-core:${REDPESK_RELEASE}" bash
SDK openvscode-server
The OpenVSCode Server flavour exposes the IDE on TCP port 3000 while mounting the same development files:
podman run \
--init \
--detach \
--userns keep-id \
--publish 3000:3000 \
--workdir "${WORKDIR}" \
--name sdk-openvscode-server \
--security-opt label=disable \
--volume "${WORKDIR}:${WORKDIR}" \
--volume "${HOME}/.ssh:${WORKDIR}/.ssh:ro" \
--volume "${HOME}/.gitconfig:${WORKDIR}/.gitconfig:ro" \
"registry.redpesk.bzh/redpesk-ci/redpesk-sdk-openvscode-server:${REDPESK_RELEASE}"
Open the IDE from a browser:
firefox --new-instance http://localhost:3000
or:
chromium --app=http://localhost:3000
You can also use the desktop default browser:
xdg-open http://localhost:3000