Mirek Jahoda 2018-09-09 16:13:23 +02:00
parent e35522d56e
commit d22a7f59da
10 changed files with 814 additions and 3 deletions

View file

@ -34,7 +34,7 @@
* xref:configuring-ip-networking-with-nmcli.adoc[Configuring networking with NetworkManager CLI (nmcli)] * xref:configuring-ip-networking-with-nmcli.adoc[Configuring networking with NetworkManager CLI (nmcli)]
* xref:creating-a-disk-partition-in-linux.adoc[Creating disk partitions] * xref:creating-a-disk-partition-in-linux.adoc[Creating disk partitions]
* xref:bumblebee.adoc[NVIDIA Optimus Bumblebee] * xref:bumblebee.adoc[NVIDIA Optimus Bumblebee]
* xref:raspberry-pi.adoc[Raspberry Pi] * xref:raspberry-pi.adoc[Fedora on Raspberry Pi]
* xref:repositories.adoc[Fedora Repositories] * xref:repositories.adoc[Fedora Repositories]
* xref:adding-or-removing-software-repositories-in-fedora.adoc[Adding or removing software repositories in Fedora] * xref:adding-or-removing-software-repositories-in-fedora.adoc[Adding or removing software repositories in Fedora]
* xref:reset-root-password.adoc[Resetting a root password] * xref:reset-root-password.adoc[Resetting a root password]

View file

@ -0,0 +1,179 @@
[id='creating-encrypted-block-devices_{context}']
= Creating encrypted block devices
This procedure describes the steps to create and configure encrypted block devices after installation.
[id='proc_preparing_block_device_for_encrypting']
== Step 1: Preparing a block device
* Install the `cryptsetup` package:
+
----------
# dnf install cryptsetup-luks
----------
* Create the block devices you want to encrypt using `parted`, `pvcreate`, `lvcreate`, and `mdadm`.
* Optionally, fill the device, for example, `/dev/sda3` with random data before encrypting it as this increases the strength of encryption.
+
[NOTE]
========
Filling the device with random data increases the time necessary for encryption.
========
+
[WARNING]
=========
The commands below destroy any existing data on the device.
=========
** To fill the device with high-quality random data:
+
-------
dd if=/dev/urandom of=<device>
-------
+
This takes several minutes per gigabyte on most systems.
+
** To fill the device with lower-quality random data:
+
--------
badblocks -c 10240 -s -w -t random -v <device>
--------
+
This is quicker compared to the high-quality random data method.
[id='proc_format-device-as-dmcrypt-encrypted-device']
== Step 2: Formatting an encrypted device
. Format the device:
+
---------
# cryptsetup luksFormat <device>
---------
+
Sample output:
+
--------
WARNING!
========
This will overwrite data on <device> (for example, /dev/xvdc) irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.
--------
This command initializes the volume, and sets an initial key or passphrase.
+
[NOTE]
==========
The passphrase is not recoverable so do not forget it.
==========
. To verify the formatting:
+
-----
# cryptsetup isLuks <device> && echo Success
-----
. To see a summary of the encryption information for the device:
+
---------
# cryptsetup luksDump <device>
---------
[id='proc_create-mapping-to-allow-access-to-decrypted-contents']
== Step 3: Creating mapping to allow access to a decrypted content
To access a decrypted content on a device, you need to create a mapping using the kernel `device-mapper`.
LUKS provides a UUID (Universally Unique Identifier) for each device. This UUID is guranteed to remain the same as long as the LUKS header remains intact. To find a LUKS UUID for the device, run the following command:
--------
# cryptsetup luksUUID <device>
--------
An example of a reliable, informative and unique mapping name would be `luks-<uuid>`, where `<uuid>` is replaced with the LUKS UUID for the device (for example, luks-50ec957a-5b5a-47ee-85e6-f8085bbc97a8).
. Create a mapping to access the decrypted contents on the device:
+
--------
# cryptsetup luksOpen <device> <name>
--------
+
You are prompted to enter the passphrase for the device. Once you have authenticated, you can see the mapping `/dev/mapper/<name>` which represents the decrypted device. You can read from and write to this device like you would any other unencrypted block device.
. To see the status of the mapping:
+
------
# cryptsetup -v status <name>
------
+
Sample output:
+
--------
/dev/mapper/<name> is active.
type: LUKS1
cipher: aes-cbc-essiv:sha256
keysize: 256 bits
device: /dev/xvdc
offset: 4096 sectors
size: 419426304 sectors
mode: read/write
Command successful.
--------
[id='proc_create-filesystems-on-mapped-device']
== Step 4: Creating filesystems on a mapped device
After <<proc_create-mapping-to-allow-access-to-decrypted-contents>>, you can now use the mapped device node `/dev/mapper/<name>` like any other block device.
. To create an `ext2` filesystem on the mapped device:
+
-------
# mke2fs /dev/mapper/<name>
-------
. To mount this file system:
+
--------
# mkdir /mnt/test/
# mount /dev/mapper/<name> /mnt/test
--------
[id='proc_add-mapping-information-to-etc-fstab']
== Step 5: Adding the mapping information to `/etc/fstab`
In order for a system to setup mapping to a device, add a corresponding entry in the `/etc/crypttab` file.
. If your system does not have the `/etc/crypttab` file, create a new file and change the owner and group to `root` (`root:root`):
+
----------
# touch /etc/crypttab
# chmod 0744
----------
. To identify the correct device in case the device name changes, add:
+
---------
<name> <device> none
---------
+
Here, the `<device>` field should be given in the form `UUID=<luks_uuid>`, where `<luks_uuid>` is the LUKS UUID.
[id='proc_add-entry-to-etc-fstab']
== Step 6: Adding an entry to `/etc/fstab`
To ensure a persistent mapping between the device and the mount point, add the entry in the `/etc/fstab` file:
------
/dev/mapper/<name>
------
== Additional resources
* https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions[LUKS Project Wiki: Frequently Asked Questions]
* http://man7.org/linux/man-pages/man8/cryptsetup.8.html[cryptsetup(8) man page]
* http://man7.org/linux/man-pages/man8/dmsetup.8.html[dmsetup(8) man page]

View file

@ -0,0 +1,66 @@
// Module included in the following assemblies:
//
// <List assemblies here, each on a new line>
// Base the file name and the ID on the module title. For example:
// * file name: doing-procedure-a.adoc
// * ID: [id='doing-procedure-a']
// * Title: = Doing procedure A
// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken.
[id='booting-fedora-on-a-raspberry-pi-for-the-first-time_{context}']
// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide.
= Booting Fedora on a Raspberry Pi for the first time
// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_.
Follow these steps to boot Fedora ARM on your Raspberry Pi. If your MicroSD card does not have enough room, you need to resize the main partition after the initial setup. See <<resizing-the-main-partition-of-the-microsd-card-after-setup_{context}>>.
._Prerequisites_
* Raspberry Pi Model B, version 2 or 3.
* A power supply (link:https://www.raspberrypi.org/help/faqs/#power[details here]).
** Minimum 2 Amps for Raspberry Pi Model B, version 2.
** Minimum 2.5 Amps for the Raspberry Pi Model B, version 3.
* HDMI-compatible Monitor or TV.
* A USB keyboard and USB mouse.
._Procedure_
. Insert the SD card into the Raspberry Pi.
. Connect a keyboard, mouse, network cable, and monitor.
. Plug the Raspberry Pi into the power source. The "Initial setup wizard" should appear after Fedora loads.
. Follow the wizard to set your language, timezone and to create users.
The system displays a login prompt or getting started guide (depending on your Desktop/SPIN).
[id='resizing-the-main-partition-of-the-microsd-card-after-setup_{context}']
._Resizing the main partition of the microSD card after setup (if required)_
Follow these steps to resize the partitions for Fedora ARM on Raspberry Pi:
. Enlarge the 4th partition (this example uses mmcblk0).
+
----
$ growpart /dev/mmcblk0p4
----
+
. Grow the filesystem to fill the available space.
+
----
$ resize2fs /dev/mmcblk0p4
----
+
. Resize root partition for the server image (which uses xfs).
+
----
$ xfs_growfs -d /
----
._Additional Resources_
* For information on configuring Fedora, including installing programs and updates, see: link:https://docs.fedoraproject.org/f28/system-administrators-guide/[Fedora Docs: System Administrators Guide]
* For assistance or support, see:
** link:https://ask.fedoraproject.org/[Ask Fedora]
** link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list]
** irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode]

View file

@ -0,0 +1,59 @@
// Module included in the following assemblies:
//
// <List assemblies here, each on a new line>
// Base the file name and the ID on the module title. For example:
// * file name: doing-procedure-a.adoc
// * ID: [id='doing-procedure-a']
// * Title: = Doing procedure A
// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken.
[id='installing-fedora-on-a-raspberry-pi-for-apple-osx-users_{context}']
// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide.
= Installing Fedora on a Raspberry Pi for Apple OS X users
// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_.
This procedure shows Apple OS X users how to add Fedora ARM to a microSD for use with a Raspberry Pi.
._Prerequisites_
* Raspberry Pi Model B, version 2 or 3.
* A microSD Card (16 GB or larger).
* A computer running Apple OS X.
* SD card reader.
* A Fedora ARM image from: link:https://arm.fedoraproject.org/[].
* File-decompression software (such as link:https://theunarchiver.com/[The Unarchiver desktop application] or link:https://theunarchiver.com/command-line[The Unarchiver command-line tools]).
._Procedure_
. Download a Fedora ARM image from the link:https://arm.fedoraproject.org/[Fedora ARM website].
+
. Extract the `.raw` file from the Fedora ARM image using file-decompression software (such as link:https://theunarchiver.com/[The Unarchiver])
+
For example:
+
----
$ unar Fedora-Server-armhfp-28-1.1-sda.raw.xz
----
. Follow the instructions provided by the Raspberry Pi foundation for writing an image to a microSD card from Apple OS X: link:https://www.raspberrypi.org/documentation/installation/installing-images/mac.md[Raspberry Pi Foundation: Installing operating system images on Mac OS].
+
[NOTE]
====
The `.img` and `.raw` extensions are used interchangeably for RAW file. Where the instructions indicate an input file with the `.img` extension, use the Fedora ARM image '.raw'.
====
Your microSD card is ready to be used with your Raspberry Pi.
ifeval::["{context}" == "rpi"]
._Next Steps_
For information on starting and configuring Fedora on Raspberry Pi, see: xref:booting-fedora-on-a-raspberry-pi-for-the-first-time_{context}[].
endif::[]
._Additional Resources_
* For assistance or support, see:
** link:https://ask.fedoraproject.org/[Ask Fedora]
** link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list]
** irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode]

View file

@ -0,0 +1,68 @@
// Module included in the following assemblies:
//
// <List assemblies here, each on a new line>
// Base the file name and the ID on the module title. For example:
// * file name: doing-procedure-a.adoc
// * ID: [id='doing-procedure-a']
// * Title: = Doing procedure A
// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken.
[id='installing-fedora-on-a-raspberry-pi-for-linux-users_{context}']
// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide.
= Installing Fedora on a Raspberry Pi for Linux users
// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_.
This procedure shows Linux users how to add Fedora ARM to a microSD for use with a Raspberry Pi.
._Prerequisites_
* Raspberry Pi Model B, version 2 or 3.
* A microSD Card (16 GB or larger).
* A computer running Linux.
* Root user access (via `su` or `sudo`).
* SD card reader.
* A Fedora ARM image from: link:https://arm.fedoraproject.org/[].
._Procedure_
. Download a Fedora ARM image from the link:https://arm.fedoraproject.org/[Fedora ARM website].
+
. Run the following command to extract the `.raw` image and write the image to your microSD card:
+
[NOTE]
The location of your microSD card will be /dev/sdX or /dev/mmcblkX depending on your computer hardware.
+
[subs="quotes"]
----
$ xzcat *Fedora-IMAGE-NAME.raw.xz* | sudo dd status=progress bs=4M of=*/dev/XXX*
----
+
. Resize the Root Partition on the microSD using gparted:
+
----
$ gparted /dev/XXX
----
+
For information on using gparted resize a partition, see: https://gparted.org/display-doc.php?name=help-manual#gparted-resize-partition[GNOME Partition Editor: GParted Manual - Resizing a Partition].
+
[NOTE]
The root partition is shrunk to the smallest size possible to ensure a small download.
You currently need to resize it manually.
Ideally we would like this to happen automatically (great community project idea!).
Your microSD card is ready to be used with your Raspberry Pi.
ifeval::["{context}" == "rpi"]
.Next Steps
For information on starting and configuring Fedora on Raspberry Pi, see: xref:booting-fedora-on-a-raspberry-pi-for-the-first-time_{context}[].
endif::[]
.Additional Resources
* For information on using `gparted`, see: link:https://gparted.org/display-doc.php?name=help-manual[GNOME Partition Editor: GParted Manual].
* For assistance or support, see:
** link:https://ask.fedoraproject.org/[Ask Fedora]
** link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list]
** irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode]

View file

@ -0,0 +1,59 @@
// Module included in the following assemblies:
//
// <List assemblies here, each on a new line>
// Base the file name and the ID on the module title. For example:
// * file name: doing-procedure-a.adoc
// * ID: [id='doing-procedure-a']
// * Title: = Doing procedure A
// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken.
[id='installing-fedora-on-a-raspberry-pi-for-microsoft-windows-users_{context}']
// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide.
= Installing Fedora on a Raspberry Pi for Microsoft Windows users
// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_.
This procedure shows Microsoft Windows users how to add Fedora ARM to a microSD for use with a Raspberry Pi.
._Prerequisites_
* Raspberry Pi Model B, version 2 or 3.
* A microSD Card (16 GB or larger).
* A computer running Microsoft Windows.
* SD card reader.
* A Fedora ARM image from: link:https://arm.fedoraproject.org/[].
* File-decompression software (such as link:http://www.7-zip.org/[7zip]).
._Procedure_
. Download a Fedora ARM image from the link:https://arm.fedoraproject.org/[Fedora ARM website].
+
. Extract the `.raw` file from the Fedora ARM image using file-decompression software (such as link:http://www.7-zip.org/[7zip]).
+
For example:
+
----
> "C:\Program Files\7-Zip\7z.exe" x -y "C:\Users\admin\Downloads\Fedora-Server-armhfp-28-1.1-sda.raw.xz"
----
. Follow the instructions provided by the Raspberry Pi foundation for writing an image to a microSD card from Microsoft Windows: link:https://www.raspberrypi.org/documentation/installation/installing-images/windows.md[Raspberry Pi Foundation: Installing operating system images using Windows].
+
[NOTE]
====
The `.img` and `.raw` extensions are used interchangeably for RAW file. Where the instructions indicate an input file with the `.img` extension, use the Fedora ARM image '.raw'.
====
Your microSD card is ready to be used with your Raspberry Pi.
ifeval::["{context}" == "rpi"]
._Next Steps_
For information on starting and configuring Fedora on Raspberry Pi, see: xref:booting-fedora-on-a-raspberry-pi-for-the-first-time_{context}[].
endif::[]
._Additional Resources_
* For assistance or support, see:
** link:https://ask.fedoraproject.org/[Ask Fedora]
** link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list]
** irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode]

View file

@ -0,0 +1,84 @@
// Module included in the following assemblies:
//
// <List assemblies here, each on a new line>
// Base the file name and the ID on the module title. For example:
// * file name: doing-procedure-a.adoc
// * ID: [id='doing-procedure-a']
// * Title: = Doing procedure A
// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken.
[id='installing-fedora-on-a-raspberry-pi-using-the-fedora-arm-installer_{context}']
// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide.
= Installing Fedora on a Raspberry Pi using the Fedora ARM installer
// Start the title of a procedure module with a verb, such as Creating or Create. See also _Wording of headings_ in _The IBM Style Guide_.
This procedure shows Fedora users how to add Fedora ARM to a microSD for use with a Raspberry Pi using the Fedora ARM installer.
._Prerequisites_
* Raspberry Pi Model B, version 2 or 3.
* A microSD Card (16 GB or larger).
* A computer running Fedora 28 or newer.
* SD card reader.
* A Fedora ARM image from: link:https://arm.fedoraproject.org/[].
._Procedure_
. Download a Fedora ARM image from the link:https://arm.fedoraproject.org/[Fedora ARM website].
+
. Install the `fedora-arm-installer`:
+
[source]
----
$ dnf install -y fedora-arm-installer
----
+
. As the root user, write the Fedora ARM image to the microSD card:
+
[source,subs="quotes"]
----
# fedora-arm-image-installer --image=__&#60;/path/to/fedora_image&#62;__ --target=__&#60;RPi_Version&#62;__ --media=/dev/__&#60;sd_card_device&#62;__ --resizefs
----
+
Where:
+
* The `__&#60;/path/to/fedora_image&#62;__` has the format `Fedora-__&#60;spin&#62;__-armhfp-__&#60;fedora_version&#62;__-sda.raw.xz`.
** For example: `/home/user/Downloads/Fedora-Server-armhfp-28-1.1-sda.raw.xz`.
* `__&#60;RPi_Version&#62;__` is:
** `rpi2` for a Raspberry Pi 2.
** `rpi3` for a Raspberry Pi 3.
* `/dev/__&#60;sd_card_device&#62;__` is the microSD card 'device' on your system, such as `/dev/sdX` or `/dev/mmcblkX`. The `lsblk` command may help you identify your micro-SD card.
+
[NOTE]
====
* To see usage options for the `fedora-arm-image-installer`, run:
+
[source]
----
$ fedora-arm-image-installer --help
----
* For list of supported boards please check SUPPORTED-BOARDS file.
+
[source]
----
$ cat /usr/share/doc/fedora-arm-installer/SUPPORTED-BOARDS
----
====
Your microSD card is ready to be used with your Raspberry Pi.
ifeval::["{context}" == "rpi"]
._Next Steps_
For information on starting and configuring Fedora on Raspberry Pi, see: xref:booting-fedora-on-a-raspberry-pi-for-the-first-time_{context}[].
endif::[]
._Additional Resources_
* For information on using the Fedora ARM Installer, see: link:https://fedoraproject.org/wiki/Architectures/ARM/Installation[Fedora Wiki: Installing Fedora on your ARM device].
* For assistance or support, see:
** link:https://ask.fedoraproject.org/[Ask Fedora]
** link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list]
** irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode]

View file

@ -0,0 +1,224 @@
// Module included in the following assemblies:
//
// <List assemblies here, each on a new line>
// Base the file name and the ID on the module title. For example:
// * file name: my-reference-a.adoc
// * ID: [id='my-reference-a']
// * Title: = My reference A
// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken.
[id='reference-material_{context}']
// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide.
= Fedora on Raspberry Pi: Frequently Asked Questions
//In the title of a reference module, include nouns that are used in the body text. For example, "Keyboard shortcuts for ___" or "Command options for ___." This helps readers and search engines find the information quickly.
Frequently asked questions regarding what is supported.
._Why do I get a rainbow display when I try and power on my Raspberry Pi?_
Common causes of the rainbow display include:
* Insufficient power supply. See the xref:raspberry-pi-prerequisites[Prerequisites] section at the beginning of this document.
* There's no operating system installed. Check that an operating system was installed and the microSD card was properly inserted into the Raspberry Pi.
For instructions about Fedora ARM on Raspberry Pi:
** For Fedora users, see: <<installing-fedora-on-a-raspberry-pi-using-the-fedora-arm-installer_{context}>>.
** For users of other Linux distributions, see: <<installing-fedora-on-a-raspberry-pi-for-linux-users_{context}>>.
** For Microsoft Windows users, see: <<installing-fedora-on-a-raspberry-pi-for-microsoft-windows-users_{context}>>.
** For Apple OS X users, see: <<installing-fedora-on-a-raspberry-pi-for-apple-macos-users_{context}>>.
* If you try to use Fedora on a Raspberry Pi 1, Raspberry Pi Zero, or a Raspberry Pi model A, you will receive the rainbow display. This occurs because your Raspberry Pi is not supported (ARMv6 SoCs architectures are not supported).
._What desktop environments are supported?_
All desktops as shipped in Fedora should work and both 2D and 3D graphics work out of the box.
There is an open source fully accelerated driver for the Video Core IV GPU.
._Will there be more enhancements to the hardware support?_
Yes.
New enhancements will be delivered by the standard Fedora updates mechanism.
New, significant features will be announced by the link:https://fedoramagazine.org/[Fedora Magazine] or the link:http://fedoraplanet.org/[Fedora Planet].
._What about support for the Raspberry Pi Models A/A+, B/B+ (generation 1), Zero/ZeroW and Compute Module?_
These Raspberry Pi models are not supported.
Fedora is not supported on ARMv6 processors.
There's been a number of attempts to support these over the years.
The current best effort is Pignus based on Fedora 23.
More information can be found at link:https://pignus.computer[the Pignus site].
NOTE: Fedora DOES support the Compute Module 3 based on the same SoC as the Raspberry Pi 3, but *as the previous generation Compute Modules are based on ARMv6 architecture, they are [#.underline]#not supported#*.
._What USB devices are supported on the Raspberry Pi?_
Most USB-2 compatible devices that are supported in Fedora on other devices.
There are some limitations to the USB bus of the Raspberry Pi hardware as link:https://www.raspberrypi.org/documentation/hardware/raspberrypi/usb/README.md[documented here].
._Is the onboard Wi-Fi supported on the Raspberry Pi 3?_
Wi-Fi on the Raspberry Pi 3 and 3+ works in Fedora.
The drivers required for the onboard WiFi cannot be included in the Fedora ARM image. After Fedora has been installed on a microSD card and Fedora on Raspberry Pi has been booted for the first time, you can install the WiFi drivers using an ethernet internet connection.
*Raspberry Pi 3*
. To install support for the onboard WiFi, on a command-line, issue:
+
----
$ sudo curl https://fedora.roving-it.com/brcmfmac43430-sdio.txt -o /lib/firmware/brcm/brcmfmac43430-sdio.txt
----
+
. Reboot the Raspberry Pi to access the WiFi.
*Raspberry Pi 3B+*
. To install support for the onboard WiFi, on a command-line, issue:
+
----
$ sudo curl https://fedora.roving-it.com/brcmfmac43455-sdio.txt -o /lib/firmware/brcm/brcmfmac43455-sdio.txt
$ sudo curl https://fedora.roving-it.com/brcmfmac43455-sdio.clm_blob -o /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
----
+
. Reboot the Raspberry Pi to access the WiFi.
*Using Wi-Fi on CLI*
To use Wi-Fi on minimal and server images you can configure the device using command line:
* To list available networks:
+
----
$ nmcli device wifi list
----
* To connect to a network:
+
[subs="quotes"]
----
nmcli device wifi connect __$SSID__ --ask
----
+
Where: `_$SSID_` is the network identifier (or name).
._Is the onboard Bluetooth supported on the Raspberry Pi 3?_
Bluetooth works and is stable. The device sometimes has a generic bluetooth address but should work without any configuration.
._Does sound work?_
HDMI audio output is included with Fedora, however, the analog port is not yet supported.
Audio output using a USB audio interface should work.
._Does the add-on camera work?_
Not at this time.
There is still ongoing work to support this upstream and to add the appropriated media acceleration support.
._Does accelerated media decode work?_
No.
The upstream kernel does not support the kernel subsystems required for accelerated media decoding.
._Does HDMI-CEC work?_
Yes.
Yes. It's supported using the new upstream CEC support. There's a `/dev/cec0` character device, it can be accessed using any application that supports the IR remote using the `rc-cec` keymap in the `v4l-utils` package, there's also a `cec-ctl` utility for use on the command line.
._Is the Raspberry Pi Touch Display supported?_
Work on the official Raspberry Pi Touch Display is ongoing upstream and initial support is provided in the 4.10 kernel, see: link:https://github.com/anholt/linux/issues/8[GitHub: raspberrypi/linux issues - 7" LCD touchscreen not supported].
Fedora will review any missing pieces for support soon.
The touchscreen driver isn't yet released upstream.
Support for other displays is not currently planned.
._Is the composite TV out supported?_
The composite TV out is not currently supported in a stable Fedora release but the core support is in the 4.10 kernel.
There is some missing enabling patches which will be added to the Fedora kernel soon.
._Are the expansion HATs supported?_
The the expansion HATs are not currently supported.
The long answer is a lot more complex. Most of the hardware interfaces that are exposed by the 40 pin HAT connector are supported with drivers shipped with Fedora.
Drivers for the hardware contained on a lot of the common HATs are also enabled and supported in Fedora. The core means of supporting the HAT add-on boards require the use of device tree overlays. The kernel and the u-boot 2016.09 boot-loader supports the loading over overlays manually. Currently there is no upstream consensus on the means of autoloading these overlays by means of an "overlay manager" (also known as Cape Manager and by numerous other names) by reading the EEPROM ID and loading the appropriate overlay automatically.
There's also no consensus on the extensions to the dtc (Device Tree Compiler) to build the binary blob overlays, and no consensus of the exact format of the overlay file. There is now a group of people working to resolve this issue which enable Fedora to better support HATs (Raspberry Pi), Capes (BeagleBone), DIPs (C.H.I.P) and Mezzanine (96boards) before long.
The first focus HAT to support will be the official Raspberry Pi Sense HAT. This will be documented using the manual process to build and load the overlay to provide access to the onboard devices as a means of demonstrating how this process works for those wishing to use this manual method in the interim. The link to this documentation will be added here once that is complete.
._The use of config.txt_
The `config.txt` is only used for basic configuration at the moment. Because of the use of the opensource vc4 GPU driver, most of the video configuration is done by Linux.
The configuration of HATs using `config.txt` is unsupported but is being actively developed.
._Are Device Tree Overlays supported?_
There's basic support for overlays in u-boot and the Linux kernel but an overlay manager is not supported upstream.
._Is GPIO supported?_
GPIO isn't fully supported due to lack of mapping with the Device Tree overlays.
This is expected be improved in the Fedora 28 cycle and in Fedora 29.
._Is SPI supported?_
Yes, basic SPI is supported.
._Is I2C supported?_
Yes, basic I2C is supported.
._Is there Raspberry Pi 3 aarch64 support?_
Yes! You can download the aarch64 disk images for the Raspberry Pi 3 link:https://archive.fedoraproject.org/pub/fedora-secondary/releases/[here.]
._How do I use a serial console?_
The serial console is disabled by default on the Raspberry Pi 2 and 3 because it requires the device to run at significantly slower speeds.
To wire up the USB to TTL adapter follow link:https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/connect-the-lead[this guide from Adafruit].
You'll need a 3.3 volt USB to TTL Serial Cable like link:https://www.adafruit.com/product/954[this one from Adafruit].
To enable the serial console follow the specific steps for the Raspberry Pi 2 or 3 as they both differ slightly:
*Raspberry Pi 2:*
. Insert the microSD card into a PC
. On the VFAT partition edit the `config.txt` file and uncomment the `enable_uart` line:
+
----
$ enable_uart=1
----
+
. On the boot partition edit the `extlinux/extlinux.conf` file adding `console=tty0 console=ttyAMA0,115200` to the end of the append line so it looks similar to:
+
----
$ append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyAMA0,115200
----
+
. Safely unmount the microSD card
. Insert microSD into Raspberry Pi, connect serial console, power on
*Raspberry Pi 3:*
. Insert the microSD card into a PC
. On the VFAT partition edit the `config.txt` file and uncomment the `enable_uart` line:
+
----
$ enable_uart=1
----
+
. On the boot partition edit the `extlinux/extlinux.conf` file adding: `console=tty0 console=ttyS0,115200` to the end of the append line so it looks similar to:
+
----
$ append ro root=UUID="LARGE UUID STRING OF TEXT" console=tty0 console=ttyS0,115200
----
+
. Safely unmount the microSD card
. Insert microSD into Raspberry Pi, connect serial console, power on

View file

@ -11,5 +11,6 @@ include::{partialsdir}/proc_booting-from-usb-sticks.adoc[leveloffset=+1]
include::{partialsdir}/proc_troubleshooting-live-usb.adoc[leveloffset=+1] include::{partialsdir}/proc_troubleshooting-live-usb.adoc[leveloffset=+1]
include::{partialsdir}/proc_creating-and-using-live-cd.adoc[leveloffset=+1] include::{partialsdir}/proc_creating-and-using-live-cd.adoc[leveloffset=+1]
ifdef::parent-context[:context: {parent-context}] ifdef::parent-context[:context: {parent-context}]
ifndef::parent-context[:!context:] ifndef::parent-context[:!context:]

View file

@ -1,3 +1,74 @@
= Raspberry Pi // This assembly is included in the following assemblies:
//
// <List assemblies here, each on a new line>
The most up-to-date information can be found on the link:https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi?rd=Raspberry_Pi[Raspberry Pi] page of the Fedora Wiki. The Raspberry Pi is supported in Fedora 25 and later. // Save the context of the assembly that is including this one.
// This is necessary for including assemblies in assemblies.
// See also the complementary step on the last line of this file.
:parent-context: {context}
// Base the file name and the ID on the assembly title. For example:
// * file name: my-assembly-a.adoc
// * ID: [id='my-assembly-a']
// * Title: = My assembly A
// The ID is used as an anchor for linking to the module. Avoid changing it after the module has been published to ensure existing links are not broken.
[id='fedora-on-raspberry-pi']
// If the assembly is reused in other assemblies in a guide, include {context} in the ID: [id='a-collection-of-modules-{context}'].
= Fedora on Raspberry Pi
//If the assembly covers a task, start the title with a verb in the gerund form, such as Creating or Configuring.
:context: rpi
// The `context` attribute enables module reuse. Every module's ID includes {context}, which ensures that the module has a unique ID even if it is reused multiple times in a guide.
The link:https://www.raspberrypi.org[Raspberry Pi] is a credit card-sized ARM based single board computer (SBC).
The Raspberry Pi Model B versions 2 and 3 are supported for Fedora 25 or newer, without any requirement of third party kernels or scripts to adjust offical images.
This documentation describes how to get started, and includes a Frequently Asked Questions (FAQ) section at the end of the document about what is supported, and what is not.
[id='raspberry-pi-prerequisites']
.Prerequisites
* Raspberry Pi Model B, version 2 or 3.
* A power supply (link:https://www.raspberrypi.org/help/faqs/#power[details on raspberrypi.org]).
** Minimum 2 Amps for Raspberry Pi Model B, version 2.
** Minimum 2.5 Amps for the Raspberry Pi Model B, version 3.
* HDMI-compatible Monitor or TV.
* A USB keyboard and USB mouse.
* SD card reader.
* A microSD Card (16 GB or larger).
* A computer running Microsoft Windows, Apple OS X, or Linux.
* A Fedora ARM image from: link:https://arm.fedoraproject.org/[].
The procedure for installing Fedora ARM on a microSD in preparation for using Fedora on a Raspberry Pi depends on your computers' operating system (Microsoft Windows, Apple OS X, or Linux).
* For Fedora users, see: <<installing-fedora-on-a-raspberry-pi-using-the-fedora-arm-installer_{context}>>.
* For users of other Linux distributions, see: <<installing-fedora-on-a-raspberry-pi-for-linux-users_{context}>>.
* For Microsoft Windows users, see: <<installing-fedora-on-a-raspberry-pi-for-microsoft-windows-users_{context}>>.
* For Apple OS X users, see: <<installing-fedora-on-a-raspberry-pi-for-apple-osx-users_{context}>>.
// The following include statements pull in the module files that comprise the assembly. Include any combination of concept, procedure, or reference modules required to cover the user story. You can also include other assemblies.
// [leveloffset=+1] ensures that when a module starts with a level-1 heading (= Heading), the heading will be interpreted as a level-2 heading (== Heading) in the assembly.
include::{partialsdir}/proc_installing-fedora-on-a-raspberry-pi-using-the-fedora-arm-installer.adoc[leveloffset=+1]
include::{partialsdir}/proc_installing-fedora-on-a-raspberry-pi-for-linux-users.adoc[leveloffset=+1]
include::{partialsdir}/proc_installing-fedora-on-a-raspberry-pi-for-microsoft-windows-users.adoc[leveloffset=+1]
include::{partialsdir}/proc_installing-fedora-on-a-raspberry-pi-for-apple-osx-users.adoc[leveloffset=+1]
include::{partialsdir}/proc_booting-fedora-on-a-raspberry-pi-for-the-first-time.adoc[leveloffset=+1]
include::{partialsdir}/ref_frequently-asked-questions_-installing-fedora-on-a-raspberry-pi.adoc[leveloffset=+1]
== Additional Resources
* The most up-to-date information can be found on the link:https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi?rd=Raspberry_Pi[Raspberry Pi page] of the Fedora Wiki.
* For Raspberry Pi hardware specifications and project ideas, see: link:https://www.raspberrypi.org/[The Raspberry Pi Foundation Website].
* For information on configuring Fedora, including installing programs and updates, see: link:https://docs.fedoraproject.org/f28/system-administrators-guide/[Fedora Docs: System Administrators Guide]
* For assistance or support, see:
** link:https://ask.fedoraproject.org/[Ask Fedora]
** link:https://lists.fedoraproject.org/admin/lists/arm%40lists.fedoraproject.org/[Fedora ARM mailing list]
** irc://irc.freenode.net/#fedora-arm[IRC via the #fedora-arm channel on Freenode]
// Restore the context to what it was before this assembly.
:context: {parent-context}