Skip to content
Open
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
include::_attributes.adoc[]

= Boot the Simplified Provisioner
= Quick firmware update with the Coreos Installer

== Boot from the Simplified Provisioner ISO
== Overview
The Coreos Installer tool, run from the simplified provisioner ISO file, allows technicians to update the firmware on a controller device for immediate use.

* If you are using physical devices with a CD-ROM unit:
** Burn the downloaded Simplified Provisioner ISO to a CD-ROM
** Use the CD-ROM to boot the IoT device from it.
* If you are using Virtual Machines, you can use the `virt-install`
It does this by bypassing the usual user setup process and jumping to a direct install of a preconfigured OS "snapshot".

To initiate this process for physical hardware, first either save the ISO file to a flash drive and then insert it into the controller or edge device you'd like to update, Alternatively for virtual machine server setups, simply run an install command from the Linux command prompt.

== Installing with a USB flash drive

1. Copy the ISO file to a USB flash drive with no less than 8 GB of storage capacity.
2. Connect the USB flash drive to the port of the controller you wish to update the firmware on.


== Installing on virtual machines for server

1. Use the `virt-install`
command to boot from the Simplified Provisioner ISO.
+
[subs="attributes"]
Expand All @@ -21,16 +31,10 @@ command to boot from the Simplified Provisioner ISO.
--disk pool=default,size=30 \
--cdrom {FedoraSimplifiedProvisionerISO}
....

== Boot the Simplified Provisioner from an USB Flash Drive

* Copy the ISO image file to a USB flash drive (You will need a 8 GB USB flash drive at least)
* Connect the USB flash drive to the port of the computer you want to boot.
* Boot the device from the USB flash drive.


== Boot the Simplified Provisioner from UEFI HTTP Boot

* Copy the contents of the Simplified Provisioner ISO to a directory
1. Copy the contents of the Simplified Provisioner ISO to a directory
+
[subs="attributes"]
....
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ during the first device boot. The Rendezvous server then matches the device
UUID with the target platform or cloud and informs the device about which Owner
server endpoint the device must use.

.Prerequisites
== Prerequisites

* The device where the server will be deployed has a Trusted Platform Module
(TPM) device to encrypt the disk. If not, you will get an error when booting
the Fedora IoT device.
* You created the `device_ca_cert.pem`, `owner_key.der`, and `owner_cert.pem`
with keys and certificates and copied them into the `/etc/fdo/keys` directory.

.Procedure
== Procedure

. Install the required RPMs in this server:
+
Expand Down
17 changes: 8 additions & 9 deletions user-docs/modules/ROOT/pages/ignition-device-setup.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,23 @@ include::_attributes.adoc[]

=== Prerequisites

* You have xref:creating-an-ignition-configuration-file.adoc[created an Ignition configuration file] and is accessible via HTTP/HTTPS.
* You have downloaded a link:https://fedoraproject.org/iot/download[Raw disk image] and copied to media for your device.
* You have xref:creating-an-ignition-configuration-file.adoc[created an Ignition configuration file] that is accessible via HTTP/HTTPS.
* You have downloaded a link:https://fedoraproject.org/iot/download[Raw disk image] and copied it to your device's storage medium.

=== Edit the boot parameters
As the device boots, edit the kernel args and add the url to your ignition config, for example: `ignition.config.url=http://192.168.122.1/fiot.ign`
As the device boots, edit the kernel args and add the url to your ignition config. For example: `ignition.config.url=http://192.168.122.1/fiot.ign`

== Setup a device by using Ignition and the Simplified Provisioner
== Set up a device using Ignition and the Simplified Provisioner.

=== Prerequisites

* You have xref:creating-an-ignition-configuration-file.adoc[created an Ignition configuration file] and is accessible via HTTP/HTTPS.
* You have downloaded the link:https://fedoraproject.org/iot/download[Simplified Provisioner ISO image] and booted the device from it by
using one of the methods described in xref:booting-the-simplified-provisioner.adoc[Booting the Simplified Provisioner].
* You have xref:creating-an-ignition-configuration-file.adoc[created an Ignition configuration file] that is accessible via HTTP/HTTPS.
* You have downloaded the link:https://fedoraproject.org/iot/download[Simplified Provisioner ISO image] and booted the device using it through one of the methods described in xref:booting-the-simplified-provisioner.adoc[Booting the Simplified Provisioner].


=== Edit the boot parameters

Once device has been booted from the Simplified Provisioner the boot menu shows the
Once the device has been booted from the Simplified Provisioner, the boot menu shows the
following options:
[subs="attributes"]
....
Expand All @@ -46,7 +45,7 @@ menuentry 'Install Fedora {FedoraVersion}' --class fedora --class gnu-linux --cl

== Verifying the installation

Once the installation has finished and the device has rebooted you should be able to login with the user
Once the installation has finished and the device has rebooted, you should be able to log in with the user
configured within the ignition file:
[subs="attributes"]
....
Expand Down
10 changes: 5 additions & 5 deletions user-docs/modules/ROOT/pages/obtaining-images.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,20 @@ Available images for download are described on the https://fedoraproject.org/iot
The use of https://ostree.readthedocs.io/en/latest/[OSTree] brings fully atomic upgrades, easy rollbacks and workflows that are familiar to users of immutable, image based servers.

An OS image that is composed on the server side allows for testing the exact bits before they reach client systems, leading to more reliable updates.
The GPG signed image based deployments scale well to very large numbers of clients.
Updates are atomic so nothing changes until the device is rebooted and the rollback capability makes it easy to recover remotely if there is a failure during upgrade.
The GPG-signed image-based deployments scale well to very large numbers of clients.
Updates are atomic, so nothing changes until the device is rebooted. Consequently, the rollback capability makes it easy to recover remotely from failure during an upgrade.

The Fedora IoT images work with https://rpm-ostree.readthedocs.io/en/latest/[rpm-ostree] which is a hybrid image/package system.
The Fedora IoT images work with https://rpm-ostree.readthedocs.io/en/latest/[rpm-ostree], which is a hybrid image/package system.
It supports package layering, which allows installation of RPMs for additional hardware support or applications.

The Fedora IoT images also have excellent support for container-focused workflows.
Containers allow you to separate core OS updates from application updates as well as test and deploy different versions of applications.
The https://podman.io/[podman] daemon is light weight and ready for you to download or create containers for your home assistant, industrial gateways, or data storage and analytics.
The https://podman.io/[podman] daemon is lightweight and ready for you to download or create containers for your home assistant, industrial gateways, or data storage and analytics.

== Pick the Right Tool for the Job

If you are looking for a graphical desktop environment based on OSTree and designed for developers, look at https://silverblue.fedoraproject.org/[Fedora Silverblue].

If you are looking for a traditional dnf based operating system for your ARM device, visit https://fedoraproject.org/[Fedora].

If you are looking for a lightweight yet powerful and scalable core OS for your Internet of Things project, you came to the right place! https://fedoraproject.org/iot/download[Download the images now]!
If you are looking for a lightweight yet powerful and scalable core OS for your Internet of Things project, you have come to the right place! https://fedoraproject.org/iot/download[Download the images now]!
21 changes: 10 additions & 11 deletions user-docs/modules/ROOT/pages/physical-device-setup.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,28 @@

A list of currently tested devices is maintained in the xref:reference-platforms.adoc[Reference Platforms] page.

Always reference the documentation of the board you have selected for assembly instructions and requirements. At a minimum you will need the board, a power source, and a microSD card.
Always reference the documentation of the board you have selected for assembly instructions and requirements. You will need the board, a power source, and a microSD card at a minimum.

=== Network connection
If support for your wireless network devices are not available in the Fedora image, it will have to be added after installation.
You will need a wired connection to complete the install of the xref:add-layered.adoc[layered package].
If the Fedora image lacks support for your wireless network devices, you must add it after installation.
You will need a wired connection to complete the installation of the xref:add-layered.adoc[layered package].

For the Fedora disk images:

* The Raspberry Pi WiFi is supported in the base image.

=== SD Card
The Fedora IoT image is currently 4GB in size.
The best speed class depends on the usage.
A faster speed class is better for writes but the trade off is slower read speed.
The Fedora IoT image is currently 4GB.
The best speed class depends on the usage; a faster speed class is better for writes, but the trade-off is slower read speed.

Documentation for your board may also recommend specific SD Card choices as well as required physical sizes for each device.
Documentation for your board may also recommend specific SD Card choices and mandate physical sizes for each device.

* Raspberry Pi discusses card size and speed class in their https://www.raspberrypi.org/documentation/installation/sd-cards.md[SD Card Documentation].

WARNING: The following procedures will overwrite everything on the micro SD card. Be sure to backup any data before continuing!
WARNING: The following procedures will overwrite everything on the micro SD card. Be sure to back up any data before continuing!

== Create a Bootable SD Card
If you have not already xref:obtaining-images.adoc[downloaded the image], do so now and make a note of the download location and filename.
If you have not already xref:obtaining-images.adoc[downloaded the image], do so now and note the download location and filename.

=== Determine the SD Card Device name

Expand All @@ -45,15 +44,15 @@ mmcblk0 179:0 0 14.9G 0 disk
└─mmcblk0p3 179:3 0 2.9G 0 part /run/media/user/cce2e189-9aee-4b3e-b031-aac9bdc632c9
...output omitted...
----
* If you have the `udisks2` package installed you may find the `udisksctl` command helpful in determining the media device name. It will show the model and only the device name without the extra partition information. In this example, a 16GB SanDisk Ultra shows as 'SL16G':
* If you have the `udisks2` package installed, you may find the `udisksctl` command helpful in determining the media device name. It will show the model and the device name without the extra partition information. In this example, a 16GB SanDisk Ultra shows as 'SL16G':
----
$ udisksctl status
MODEL REVISION SERIAL DEVICE
----------------------------------------------------
SAMSUNG MZSLW1T0HMLH-000L1 S308NAAH501124 nvme0n1
SL16G 0x51821336 mmcblk0
----
* Finally, the kernel messages will show the addition of a device. In a terminal window before inserting the device run:
* Finally, the kernel messages will show the addition of a device. In a terminal window before inserting the device, run:
----
$ dmesg -w
----
Expand Down