-
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
- Miscs
-
Building microservices natively within SDK container
-
Building microservices and framework from sources
Booting a redpesk image with QEMU
Launch an x86_64 image
Prerequisites
OVMF
redpesk OS images are published as raw disk images. On x86_64 they contain a boot code that expects to run on a machine that complies with UEFI.
OVMF is a port of Intel’s Tianocore firmware and allows QEMU virtual machines to use UEFI. An additional installation step may be required for your platform.
Ubuntu
sudo apt-get install qemu-kvm ovmf
Fedora
sudo dnf install qemu-kvm edk2-ovmf
OpenSUSE
sudo zypper install qemu-x86 qemu-ovmf-x86_64 ovmf
Download the x86_64 image
Create a directory to download the image:
mkdir ~/redpeskimage
cd ~/redpeskimage
Then download the latest redpesk OS image with this command:
wget -r -nd -nc --no-parent --accept-regex='redpesk.*smack.*\.(bmap|xz|sha256)' --reject-regex '(image\.raw|ova|index)' 'https://download.redpesk.bzh/redpesk-lts/corn-3.0-update/images/smack/minimal/x86_64/generic/'
See Download Images section for link details.
Control the image integrity
Before doing anything, please control the integrity of the downloaded redpesk image. Example:
sha256sum -c redpesk*.tar.xz.sha256
redpesk*x86_64*.tar.xz: OK
Extract the image
tar xJf redpesk*.tar.xz
Launch QEMU
# For Ubuntu
OVMF="/usr/share/qemu/OVMF.fd"
# Uncomment/change for Fedora
#OVMF="/usr/share/OVMF/OVMF_CODE.fd"
# Uncomment/change for openSUSE
#OVMF="/usr/share/qemu/ovmf-x86_64-4m.bin"
PORT_SSH=3333
qemu-system-x86_64 \
-hda "Redpesk-OS.img" \
-enable-kvm -m 2048 \
-cpu kvm64 \
-cpu Skylake-Client-v4 \
-smp 4 \
-vga virtio \
-device virtio-rng-pci \
-serial mon:stdio \
-serial null \
-net nic \
-net user,hostfwd=tcp::$PORT_SSH-:22 \
-bios $OVMF
Wait! It is booting…
NOTE: Default root password is
root.
Launch an aarch64 image
Prerequisites
Ubuntu
sudo apt-get install libguestfs-tools qemu-system-arm
Fedora
sudo dnf install libguestfs-tools-c qemu-system-arm
OpenSUSE
sudo zypper install libguestfs0 qemu-arm qemu-uefi-aarch64
Download the aarch64 generic image
mkdir ~/redpeskimage
cd ~/redpeskimage
Then download the latest redpesk OS image with this command:
wget 'https://download.redpesk.bzh/redpesk-lts/corn-3.0-update/images/smack/minimal/aarch64/generic/initramfs.img'
wget 'https://download.redpesk.bzh/redpesk-lts/corn-3.0-update/images/smack/minimal/aarch64/generic/kernel.bin'
See Download Images section for link details here.
Launch QEMU
KERNEL_IMAGE=kernel.bin
INITRAMFS_IMAGE=initramfs.img
PORT_SSH=3333
qemu-system-aarch64 \
-hda "Redpesk-OS.img" \
-kernel $KERNEL_IMAGE \
-initrd $INITRAMFS_IMAGE \
-machine accel=tcg,type=virt \
-m 2048 \
-cpu cortex-a57 \
-smp 4 \
-append 'console=ttyAMA0,115200 root=LABEL=rootfs security=smack' \
-net nic -net user,hostfwd=tcp::$PORT_SSH-:22 \
-display none \
-nographic \
-snapshot
Wait! It is booting…
NOTES:\
- Default root password is
root.- Key sequence to exit qemu in terminal mode is :
CTRL-Aand thenX
Connect to the QEMU instance over SSH
PORT_SSH=3333
ssh -p $PORT_SSH root@localhost
Installing a package
See this section for installing and starting helloworld-binding: Application deployment