diff options
-rw-r--r-- | doc/documentation.tex | 52 |
1 files changed, 33 insertions, 19 deletions
diff --git a/doc/documentation.tex b/doc/documentation.tex index aa45cf8..53452ee 100644 --- a/doc/documentation.tex +++ b/doc/documentation.tex @@ -96,16 +96,16 @@ The given chapter contains documentation about how to produce a 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. +variant targeting the AArch64 architecture provided as a compressed tar +archive. 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 + /aarch64/alpine-rpi-3.19.0-aarch64.tar.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 + /aarch64/alpine-rpi-3.19.0-aarch64.tar.gz.sha256 +sha256sum -c alpine-rpi-3.19.0-aarch64.tar.gz.sha256 \end{verbatim} The image has to be flashed to a SD card which will be inserted into the @@ -124,22 +124,36 @@ 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}. +The SD card has to be formatted with a single bootable FAT32 partition. This +can be achieved with the command line program \texttt{parted}. First a +\texttt{msdos} partition table has to be created followed by a partition taking +the full size of the SD card. The boot flag of the partition is enabled and a +FAT32 file system is created with \texttt{mkfs.vfat}. All of these operations +require \texttt{root} privileges. -\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. +\textbf{Warning:} These operations might cause data loss if the wrong device is +specified. It has to be asserted that not the wrong block device (e.g. the PC +disk) is chosen. -After flashing it is required to synchronize all write operations to the card -with \texttt{sync}. +\begin{verbatim} +parted /dev/<name> mklabel msdos +parted /dev/<name> mkpart primary fat32 0% 100% +parted /dev/<name> toggle 1 boot +mkfs.vfat /dev/<name>1 +\end{verbatim} + +After the file system is created the downloaded Alpine Linux tar archive has to +be extracted to it. A temporary mount point can be created with +\texttt{mktemp}. After mounting with \texttt{mount} the archive can be +extracted with \texttt{tar}. Finally the file system is unmounted and it is +waited for all buffered write operations to the SD card with \texttt{sync}. +Also these command require \texttt{root} privileges. \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> +mountpoint=$(mktemp -d) +mount /dev/<name>1 "$mountpoint" +tar -C "$mountpoint" -xf alpine-rpi-3.19.0-aarch64.tar.gz +umount /dev/<name>1 sync \end{verbatim} @@ -154,7 +168,7 @@ 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 +contains further details. When a diskless installation is chosen the configuration changes have to be made persistent with the \texttt{lbu} command. Otherwise they will be lost on the next reboot. |