From Fedora Project Wiki

Welcome

Welcome to the getting started guide for Fedora IoT, both this guide and Fedora IoT images are in the very early stages so please report any issues to the mailing list.

Supported Platforms

We currently support the x86_64 and aarch64 architectures, the components to support ARMv7 are being worked upon and will be added shortly.

The currently tested devices are as follows:

  • x86_64 and aarch64 VMs
  • Raspberry Pi 3B and 3B+
  • Dragonboard 410c

Other devices should work but aren't bein actively tested in the context of IoT. The list of supported reference devices will expand with time.

Required resources

The images being created are currently 4Gb in size. The current memory used for testing is 1Gb of RAM although Fedora IoT base image should run with less but of course this limits the amount of container applications can be run on top of the Base OS.

Setting up a Virtual Machine

Setting up a Physical Device

You will need either a serial console or HDMI monitor with USB keyboard to get started with the initial set.

Create a mSD card for either of the above devices with the following command:

Scripted

To install using arm-image-installer:

dnf install -y fedora-arm-installer

To write the image out use the following:

$ sudo arm-image-installer

Usage: arm-image-installer <options>

   --image=IMAGE    - xz compressed image file name
   --target=TARGET  - target board
   --media=DEVICE   - media device file (/dev/[sdX|mmcblkX])
   --selinux=ON/OFF - Turn SELinux off/on as needed
   --norootpass     - Remove the root password
   -y		    - Assumes yes, will not wait for confirmation
   --version	    - Display version and exit
   --resizefs	    - Resize root filesystem to fill media device
   --addconsole     - Add system console to extlinux.conf
   --addkey=        - /path/to/ssh-public-key

Example: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0

For list of supported boards please check SUPPORTED-BOARDS file.
For the Raspberry Pi 3B/B+ use
--target=rpi3
and for the Dragonboard410c use
--target=dragonboard410c
.

Manual

 xzcat Fedora-IoT-28-<BUILD ID>.aarch64.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX # Location of your media (will be sdX or mmcblkX depending on hardwae)

Initial Setup once the VM or Phyical device is running

There is currently a few issues with the initial-setup. It currently only allows you to create a standard user. Create a user and ensture to set the "Administrator" checkbox which will configure sudo access.

Once the initial setup dialog has completed you can login as the new user and sudo to root. If you wish to at this time you can set a root password, otherwise the root account remains locked (this is fine).

This issue is currently been tracked in RHBZ 1578930.


Enabling wireless support on the DB410c and Raspberry Pi

Both WiFi and Bluetooth support on either the 96boards DragonBoard 410c or the Raspberry Pi 3B or 3B+ need support files for either the WiFi or Bluetooth to work well. To install the files run the following commands and reboot which will enable the various wireless support:

General commands

Check status

rpm-ostree status

Add a layered package

rpm-ostree install <pkg-name>

Upgrade to the latest

rpm-ostree upgrade

Container support

We currently ship the podman daemon as it's quite light weight and doesn't use a lot of resources. The commands are very similar to that of docker. Some sample commands are:

podman pull fedora

podman images

podman run -it --rm fedora /bin/bash

Podman has a lot of well written documentation and articles you can find a number of them at the following links: