• Stars
    star
    127
  • Rank 282,790 (Top 6 %)
  • Language
    C
  • License
    Other
  • Created about 8 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SIMATIC IOT2000 Yocto Board Support Package

IOT2000 Board Support Package

This packages contains the following elements:

  • meta-iot2000-bsp
  • meta-iot2000-example

For updates, please visit https://github.com/siemens/meta-iot2000. We are also accepting issue reports, feature suggestions and patches this way.

meta-iot2000-bsp

Use this Yocto layer to enable all hardware features of the IOT2000 device. It allows to build standard Yocto images which will contain the required kernel, configurations and tools and will emit a bootable SD card image.

meta-iot2000-example

This Yocto layer builds on top of meta-iot2000-bsp, providing an exemplary image with additional tools and services to exploit features of the IOT2000 conveniently.

This layer shall only be considered as a starting point for own developments. It is not configured to provide product-grade maturity and security.

Building an Image

There are two recommended ways to build one of the provided images, may they be original or already customized: natively on a Linux machine or inside a Docker container.

Note: Before starting the build, make sure that your working directory is located on a native Linux file system such as ext4, xfs, btrfs, etc. NTFS is known to not work.

Native Build

On a compatible distribution, install the packages that Yocto 3.1 requires.

Furthermore, install the kas build tool:

$ sudo pip3 install kas

Clone the meta-iot2000 repository (or unpack an archive of it) into a work directory:

$ git clone https://github.com/siemens/meta-iot2000

Now you can build the example image like this:

$ kas build meta-iot2000/kas-example.yml

To build the BSP image instead, just specify the corresponding configuration file instead:

$ kas build meta-iot2000/kas-bsp.yml

You can also reproduce the Windows or Linux SDK this way:

$ kas build meta-iot2000/kas-sdk-windows-i586.yml
$ kas build meta-iot2000/kas-sdk-linux-x64.yml

Docker Build

Make sure Docker is installed and properly configured for your host system. You may have to switch the storage driver away from legacy aufs, see Docker documentation, if kas warns about this.

Again, the first step is cloning of the repository (or unpacking an archive):

$ git clone https://github.com/siemens/meta-iot2000

Next, install the kas-container script like this:

$ wget https://raw.githubusercontent.com/siemens/kas/2.6.2/kas-container
$ chmod a+x kas-container

Now you can generate a desired image. The following assumes that your user has permission to use docker. Usually, this is achieved by adding the user to the docker group (which has security implications). Note that running the build as root does not work.

$ ./kas-container build meta-iot2000/kas-example.yml

The above command disposes the build container after use, keeping downloads and build results in the current work directory.

You may want to use the container interactively:

$ ./kas-container shell meta-iot2000/kas-example.yml

If you are building from within a proxy-restricted network, make sure the settings are available via the standard environment variables (http_proxy etc.).

Booting the Image from SD card

Under Linux, insert an unused SD card. Assuming the SD card takes device /dev/mmcblk0, use dd to copy the image to it. For example:

$ sudo dd if=build/tmp/deploy/images/iot2000/iot2000-example-image-iot2000.wic \
          of=/dev/mmcblk0 bs=4M oflag=sync

The example image starts with the IP 192.168.200.1 preconfigured on the first Ethernet interface. You can use ssh to connect to the system.

The BSP image does not configure the network. If you want to ssh into the system, you can use the root terminal via UART to ifconfig the IP address and use that to ssh in.

NOTE: The root password is empty and must be changed before connecting the system to an untrustworthy network.

Booting the Image from USB stick

Under Linux, insert an unused USB stick. Assuming the USB stick takes device /dev/sda, use dd to copy the image to it. For example:

$ sudo dd if=build/tmp/deploy/images/iot2000/iot2000-example-image-iot2000.wic \
          of=/dev/sda bs=4M oflag=sync

More Repositories

1

jailhouse

Linux-based partitioning hypervisor
C
1,720
star
2

ros-sharp

ROS# is a set of open source software libraries and tools in C# for communicating with ROS from .NET applications, in particular Unity3D
C#
956
star
3

kas

Setup tool for bitbake based projects
Python
358
star
4

edgeshark

Discover and capture container network traffic from your comfy desktop Wireshark, using a containerized service and a Wireshark plugin.
Markdown
244
star
5

confluence-dumper

Tool to export Confluence spaces and pages recursively via its API
Python
194
star
6

ix

Siemens Industrial Experience is a design system for designers and developers, to consistently create the perfect digital experience for industrial software products.
TypeScript
190
star
7

embb

Embedded Multicore Building Blocks (EMBΒ²): Library for parallel programming of embedded systems. Star us on GitHub? +1
C++
179
star
8

meta-iot2050

SIMATIC IOT2050 Isar/Debian Board Support Package
Python
130
star
9

industrialbenchmark

Industrial Benchmark
Java
123
star
10

efibootguard

Simple UEFI boot loader with support for safely switching between current and updated partition sets
C
100
star
11

fluffi

FLUFFI (Fully Localized Utility For Fuzzing Instantaneously) - A distributed evolutionary binary fuzzer for pentesters
C++
99
star
12

simatic-s7-webserver-api

A .NET API Client Library for the SIMATIC S7 PLC Webserver API
C#
97
star
13

powergym

A Gym-like environment for Volt-Var control in power distribution systems.
Python
70
star
14

policy_search_bb-alpha

Python
69
star
15

codeface

Codeface is a framework for analysing technical and social aspects of software development
R
67
star
16

jailhouse-images

Jailhouse demonstration and testing images
C
56
star
17

linux-entra-sso

Browser plugin for Linux to SSO on Microsoft Entra ID using a locally running microsoft identity broker (Intune).
JavaScript
49
star
18

freertos-cell

FreeRTOS for Jailhouse Cells
C
47
star
19

dtasm

Digital Twin Assembly - A portable and sandboxed package format for executable simulation modules based on WebAssembly
Rust
39
star
20

wfx

a lightweight, general-purpose workflow executor
Go
37
star
21

sourcegrid

sourcegrid
C#
36
star
22

mtda

Multi-Tenant Device Access
Python
35
star
23

cshargextcap

[Edgeshark] Wireshark extcap plugin for container traffic capture live streaming.
Go
30
star
24

pycontainerd

Python bindings for containerd API
Python
30
star
25

restapidoc

A RESTful API documentation plugin for the Grails web application framework
Groovy
28
star
26

ix-icons

Icon library for @siemens/ix
TypeScript
25
star
27

opc-ua-pubsub-dotnet

opc-ua-pubsub-dotnet is a library which implements OPC UA PubSub encoding and decoding in a simplified way.
C#
25
star
28

continuous-clearing

The Continuous Clearing Tool scans and collects the 3rd party OSS components used in a NPM/NuGet/Debian/Maven/Python/Conan/Aipine project and uploads it to SW360 and Fossology by accepting respective project ID for license clearing.
C#
23
star
29

libuta

Unified Trust Anchor Library
C
20
star
30

xenomai

Mirror of xenomai-forge for pull requests
C
20
star
31

siapp-sdk

Software Development Kit to build SIAPPs
C++
20
star
32

ix-blazor

Siemens IX library for Blazor
CSS
19
star
33

cvss-suite

CvssSuite - This Ruby gem helps you to process the vector of the Common Vulnerability Scoring System.
Ruby
18
star
34

GoScans

Collection of network scan modules for infrastructure discovery and information gathering.
Go
17
star
35

Large-Scale-Discovery

A network scanning solution for information gathering in large IT/OT network environments.
Go
16
star
36

u-boot

U-Boot
C
16
star
37

JMiniZinc

JMiniZinc
Java
15
star
38

CtrlppCheck

C++
14
star
39

simatic-ai-launcher

Get started with the toolbox of SIMATIC Artificial Intelligence Launcher.
Python
14
star
40

sparring

Network simulation for malware analysis.
Python
13
star
41

dfu-util

Device Firmware Upgrade Utilities
C
12
star
42

packetflix

[Edgeshark] container "binge watching" live packet streams for Wireshark(nado) nerds!
Go
11
star
43

pydcc

PyDCC is a software library for reading and automated processing of digital calibration certificates (DCCs).
Python
11
star
44

gencmpclient

generic CMP [RFC 4210, RFC 9483] client library and CLI, based on CMPforOpenSSL (https://github.com/mpeylo/cmpossl)
C
10
star
45

LightweightCmpRa

CLI-based Registration Authority application PoC
Java
10
star
46

ghostwire

[Edgeshark] Virtual communication discovery in container hosts
TypeScript
9
star
47

link-checker-service

The self-hosted Link Checker web service runs cached and otherwise optimized broken link checks
Go
8
star
48

meta-coral

ISAR Layer for Coral TPU
Smarty
7
star
49

OOASP

Jupyter Notebook
7
star
50

meta-efibootguard

Yocto layer for EFI Boot Guard
Python
7
star
51

evaluation-framework

Tools for specifying and evaluating many variants of a (Unity) simulation model and visualizing the results in a decision support system.
C#
7
star
52

isar-riscv

Isar layer to support RISC-V architecture for QEMU and also for upcoming NOEL-V hardware within SELENE EU project
Shell
6
star
53

tstomp

tStomp
Tcl
6
star
54

omniproperties

Think of java properties deluxe
Java
6
star
55

cyclonedx-property-taxonomy

CycloneDX Property Taxonomy for the 'siemens' namespace
6
star
56

spdx-licenselist

SPDX license list
5
star
57

libsecutils

Wrapper library for commonly used OpenSSL features, providing a simpler, more application-oriented API.
C
5
star
58

sicam-gridedge-configurationtemplates

this is a collection of templates which can be used in SICAM GridEdge product in order to collect data (measurements/asset information data) and publish the data to a cloud system.
5
star
59

cityhub-sdk

CityHub SDK
JavaScript
5
star
60

sinema-rc-tools

This repository contains tooling for the SINEMA-RC solution of Siemens.
Python
5
star
61

snap-to-bucket

A python tool to automate moving AWS snapshots into an AWS S3 bucket and restore backups from there as an AWS EBS volume.
Python
5
star
62

modular-application-creator-use-cases

HTML
5
star
63

tia-addin-build-package

4
star
64

csharg

[Edgeshark] client and CLI to packet capture streaming API
Go
4
star
65

turtlefinder

reusable container engine discovery, not only for Edgeshark
Go
4
star
66

embeddedCMP

proof-of-concept CMP client on the NXP FRDM-K64F platform
C
4
star
67

ix-starter

Siemens Industrial Experience is a design system for designers and developers, to consistently create the perfect digital experience for industrial software products.
TypeScript
4
star
68

androit_shmem

Androit: Real-time capable Android shared memory service
C++
3
star
69

cmp-ra-component

A CMP Registration Authority (RA)
Java
3
star
70

mkdocs-siemens

3
star
71

android-x86-siemens

Android-x86 build configuration for Siemens products, for upstream see http://git.android-x86.org/?p=device/siemens.git
Shell
3
star
72

k3-rti-wdt

RTI Watchdog Firmware for TI K3 SoCs
Assembly
3
star
73

vanilc

C++
2
star
74

.github

2
star
75

ProductConfigurationWithSHACL

Example code and models for a paper published at the Configuration Workshop 2018
Java
2
star
76

fact

fact
Python
2
star
77

lion

Code to reproduce experiments from "User-Interactive Offline Reinforcement Learning" (ICLR 2023)
Python
2
star
78

python-smime-email

Generate x509 SMIME signed emails with ease!
Python
2
star
79

simatic-s7-1500-tm-fast-vhdl-application-examples

VHDL Examples for the S7-1500 TM FAST Module from SIEMENS AG
VHDL
2
star
80

ASLanPPConnector

ASLan++ connector
Java
1
star
81

ix-docs

1
star
82

M-Fit

the M-Fit suite, a set of programs for testing and validating traffic controllers against the various ITE/AASHTO/NEMA ATC and Caltrans TEES 2009 standards
C
1
star
83

django-mantis-core

A wrapper around the Django Dingos app for the Mantis Cyber Threat Intelligence Mgmt. Framework.
Python
1
star
84

OOCSP

OOCSP
1
star
85

puppet-pam_pkcs11

A Puppet module to manage pam_pkcs11
Ruby
1
star
86

continuous-conformance

Azure DevOps extension to create automatically conformance work items.
TypeScript
1
star