summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxengineering <me@xengineering.eu>2024-01-05 22:14:44 +0100
committerxengineering <me@xengineering.eu>2024-01-12 22:02:02 +0100
commitbfbdcfad3489f943748fa584972d27c9255d365b (patch)
tree9bf166f36cb0f33f6147ff18d2f39a84f58801e1
parentcad2b003b8c936237a909d4076beb0bfd6607b00 (diff)
downloadsoundbox-bfbdcfad3489f943748fa584972d27c9255d365b.tar
soundbox-bfbdcfad3489f943748fa584972d27c9255d365b.tar.zst
soundbox-bfbdcfad3489f943748fa584972d27c9255d365b.zip
doc: Add Alpine Linux installation instructions
This is currently the recommended OS installation for soundbox.
-rw-r--r--doc/documentation.tex82
1 files changed, 80 insertions, 2 deletions
diff --git a/doc/documentation.tex b/doc/documentation.tex
index 2576a8a..aa45cf8 100644
--- a/doc/documentation.tex
+++ b/doc/documentation.tex
@@ -84,9 +84,87 @@ Alternatively a mp3 file can be sent like this:
These commands allow to test the \texttt{soundbox} device setup.
-%\chapter{Production}
+\chapter{Production}
+
+The given chapter contains documentation about how to produce a
+\texttt{soundbox} device.
+
%\section{Printing mechanical parts}
-%\section{Install operating system to SD card}
+
+\section{Alpine Linux installation on a Raspberry Pi}
+
+Alpine Linux for the Raspberry Pi can be downloaded from the Alpine
+Linux\footnote{\href{https://alpinelinux.org/}{https://alpinelinux.org/}}
+download page. This section describes the installation procedure for the
+variant targeting the AArch64 architecture provided as a compressed image file.
+It can be downloaded and verified against a checksum with the \texttt{wget} and
+\texttt{sha256sum} utilities.
+
+\begin{verbatim}
+wget https://dl-cdn.alpinelinux.org/alpine/v3.19/releases\
+ /aarch64/alpine-rpi-3.19.0-aarch64.img.gz
+wget https://dl-cdn.alpinelinux.org/alpine/v3.19/releases\
+ /aarch64/alpine-rpi-3.19.0-aarch64.img.gz.sha256
+sha256sum -c alpine-rpi-3.19.0-aarch64.img.gz.sha256
+\end{verbatim}
+
+The image has to be flashed to a SD card which will be inserted into the
+Raspberry Pi. This SD card has to be put into a Linux PC first. In Linux every
+SD card is represented as a block device like \texttt{sda} or \texttt{sdb} with
+a file path like \texttt{/dev/sda}. Possibly existing partitions on the SD card
+are represented with that path and a number as suffix like in
+\texttt{/dev/sda1}. The program \texttt{lsblk} gives an overview of the
+currently connected block devices. The correct device name for the SD card can
+be identified by its size.
+
+\begin{verbatim}
+$ lsblk
+NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
+sda 8:0 1 59,5G 0 disk
+`-sda1 8:1 1 59,5G 0 part
+\end{verbatim}
+
+If the correct SD card file path is determined the downloaded image can be
+decompressed with \texttt{gzip} and flashed with \texttt{dd}. The \texttt{dd}
+call requires the privileges of the root user which might be temporarily
+accessed by prefixing \texttt{sudo}.
+
+\textbf{Warning}: \texttt{dd} will write the image to the specified block
+device. If that block device is the primary hard drive of the computer it will
+do that without further confirmation. This will make the operating system of
+the PC unusable.
+
+After flashing it is required to synchronize all write operations to the card
+with \texttt{sync}.
+
+\begin{verbatim}
+gzip -d alpine-rpi-3.19.0-aarch64.img.gz
+dd if=alpine-rpi-3.19.0-aarch64.img of=<sd-card-path>
+sync
+\end{verbatim}
+
+Afterwards the SD card can be inserted into the Raspberry Pi. To do initial
+configuration it should be connected to a screen via HDMI. Also a keyboard has
+to be connected via USB. A mouse is not required. Finally the Pi should be
+powered up by connecting a USB power supply to the corresponding USB power
+input of the Raspberry Pi. Text from the boot process should be displayed on
+the screen.
+
+After logging in with the username \texttt{root} and no password basic system
+configuration on Alpine Linux can be done interactively with
+\texttt{setup-alpine}. The Alpine Linux installation
+guide\footnote{\href{https://wiki.alpinelinux.org/wiki/Installation}{https://wiki.alpinelinux.org/wiki/Installation}}
+contains further details. When a diskless installation is choosen the
+configuration changes have to be made persistent with the \texttt{lbu} command.
+Otherwise they will be lost on the next reboot.
+
+\begin{verbatim}
+setup-alpine
+lbu commit -d
+\end{verbatim}
+
+With this setup the Alpine Linux installation is completed.
+
%\section{Final assembly}
%\chapter{Device internals}