Categories
stormux

Welcome to Stormux

Welcome to Stormux. Stormux is an accessible to the blind Raspberry Pi distribution based on Arch Linux ARM.

Stormux has a few extra packages like magic-wormhole and the Fenrir screen reader installed on the image. Also, Stormux uses pipewire for sound.

You can grab the latest images for the Raspberry Pi 4 and 5 from https://stormux.org/downloads. For convenience, there is a script available called configure-stormux that can help with installing desktops, enabling bluetooth (aarch64 only), and a few other things. To use it, simply type configure-stormux at the prompt.

Help is available on the Stormux email list or by selecting “Get help on IRC” from the configure-stormux menu.

Categories
stormux

Writing Stormux Images

Here follows methods of preparing an SD card with the Stormux operating system. For this procedure, you will need at minimum an 8GB SD card as well as A card reader and a host computer running Linux, MacOS, or Windows. You also need to determine the type of Raspberry Pi you have. Stormux is compatible with the Raspberry Pi 4 as well as the 5.

You can download the latest image for your Pi from https://stormux.org/downloads. There are also sha1sums available for each download, so you can verify the image was not corrupted during the transfer.

Linux Instructions

After connecting your card to the computer, you need to be sure which path is your SD card. You can do this by opening a Console. To open it, do the following:

  • Press Control+Alt + F1 to open the console.
  • If prompted, enter your login credentials. Remember nothing is shown when you type your password.
  • Remember to get back to the desktop after everything has completed, press Control+Alt+F2

If you are more comfortable using the graphical terminal emulator, it is Mate Terminal on the Pi4 or lxterminal on the Pi3. Now, to find the SD Card’s disk name, use the lsblk command as shown below. When you see “[storm@stormux downloads]$”, that is the prompt, letting you know that the terminal is ready for input. Type the command after the prompt. Below the line where the command is, you’ll read the output of the command. Your output should read similarly to the output shown in the guide. The command, and its output, follows:

[storm@stormux ~]$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1  7.5G  0 disk
`-sda1        8:1    1  7.5G  0 part [SWAP]
sdb           8:16   1 29.7G  0 disk
|-sdb1        8:17   1 43.9M  0 part
`-sdb2        8:18   1 29.7G  0 part
sdc           8:32   0  3.7T  0 disk
`-sdc1        8:33   0  3.7T  0 part /media/ext
sr0          11:0    1   96M  0 rom
mmcblk0     179:0    0 29.7G  0 disk
|-mmcblk0p1 179:1    0  100M  0 part /boot
`-mmcblk0p2 179:2    0 29.6G  0 part /

We are looking for the 32GB SD card. So, looking at the lines above, we notice the following entry:

z sdb 8:16 1 29.7G 0 disk
|-sdb1 8:17 1 43.9M 0 part
`-sdb2 8:18 1 29.7G 0 part

Because the card already has something on it, it may be automounted by the version of Linux you have installed. Most desktops, like KDE, Mate, ETC. will automatically mount any attached drives. To make sure they are unmounted, run the following commands, and enter your password if asked:

sudo umount /dev/sdb1
sudo umount /dev/sdb2

Next, if you downloaded the sha1 sum for the file, you can run the check to make sure you have the correct file. In a terminal, run the following command to check the file. Note that the name of your image and sha1sum may be different from the example given here:

[storm@stormux downloads]$ sha1sum -c stormux-pi4-20.03.10.img.xz.sha1sum                                                                                
stormux-pi4-20.03.10.img.xz: OK

If you get the OK message, you can proceed to writing the image to the card. To do that, we will be using the dd command. The dd command can be catastrophic if used incorrectly, so please be sure you use the correct drive name when doing the following command. In the example given above, the drive is /dev/sdb. Your drive may be and is quite likely different, so please do not copy and paste:

xzcat ~/Downloads/stormux-pi4-20.03.10.img.xz | sudo dd of=/dev/sdb bs=1M oflag=sync status=progress

If you would not like the chatter produced by the above command, simply leave off the status=progress directive. The process will take a few minutes, and when it is complete, the prompt will return. At this point, you can remove the SD card from the reader, put it in the Pi, and connect the power to boot it. After a few minutes, your Pi will come up with speech and you can begin using Stormux.

Mac Instructions

After connecting your SD card to the computer, you’ll need to find which disk is your SD Card. To do so, use the Mac’s Terminal. To open that, follow the below steps:

  • Move to the Dock, by pressing VO + D
  • Begin typing the word “Finder.” Focus will be placed on the “Finder” item.
  • Press Return, or Enter to open Finder.
  • Press Command + Shift + U to open the utilities folder.
  • Begin typing the word “terminal,” and focus will move to it.
  • Press Command + O to open it.

Alternatively, if your Mac has Siri, you can ask Siri to “Open Terminal.”

Now, we’ll use the “diskutil” command to find the SD Card’s disk name, with the list argument to show a list of disks. Type the following into the Terminal:

diskutil list

Now, VoiceOver will read a list of disks, and the slices, or partitions, in the disks. Your SD Card may be 32 Gigabytes, or more. Look for the volume with the capacity of your card. You may hear something like:

1:                APFS Volume Macintosh HD - Data     186.3 GB   disk1s1

Here, we have an internal disk, which is 186 Gigabytes, on Disk 1 S 1. Because that is an internal disk, the hard drive, your SD Card will be disk 2, 3, or even 4. Since we’ll be using the whole disk for flashing the card, you don’t need the S1, or S2 part, just the disk number.

Now, let’s make sure that the SD Card is not mounted, or active. This allows us to make sure that all processes have stopped. After all, we wouldn’t want to erase and write to a disk that is being read by a program. To do this, use the diskutil program, with the umount option. For example, if your mounted volumes of the disk is disk3s1 and disk3s2, do the following:

sudo diskutil umount /dev/disk3s1
sudo diskutil umount /dev/disk3s2

Next, if you downloaded the sha1 sum for the file, you can run the check to make sure you have the correct file. In a terminal, run the following command to check the file. Note that the name of your image and sha1sum may be different from the example given here:

sha1sum -c stormux-pi4-20.03.10.img.xz.sha1sum                                                                                

If you get an “Okay” message, the integrity check for the downloaded image is good, and the file is uncorrupted and ready for flashing to your card.

Now, let’s flash the image, using the DD command. This command has the potential to erase all data on your computer, so please use this command with care. Make sure the disk you type is the disk for the SD Card you want to flash the Stormux image to. Substitute /dev/disk3 with the disk you found for your SD Card:

xzcat ~/Downloads/stormux-pi4-20.03.10.img.xz | sudo dd of=/dev/disk3 bs=1m

Now, the disk will be flashed to the card. This may take a few minutes. When the command completes, you’ll hear the prompt again, letting you know that the Terminal is ready for more input. You can now take out the card, put it into the Pi, and boot the Pi. Speech should start automatically, after a few minutes. If this doesn’t work, let the Stormux project contributors know.

Windows Instructions

Before we flash the Stormux image file, let’s download a tool to flash it with. In this guide, we’ll use Etcher, but you may also be able to use Rufus.

After downloading Etcher, run the install program, installing it as you would any other Windows application. After it is done installing, open it from the Start Menu, or Start Screen. After the program opens, you’ll be in a web interface.

This program’s interface is web-based, being an Electron app. This means that you can navigate the app using your screen reader’s web reading keys, or, if the screen reader is in Focus mode, with the standard Windows navigation keys. Using either method, press the “select image” button, and browse to the Stormux image you downloaded, and press Enter.

Once the Stormux image is selected, we can now select a drive to flash the image to. Press the “Select Target” button, find the SD Card, and press Enter. Note that only external, “removable” drives are shown in this list, so you don’t have to worry about choosing your computer’s drive to overwrite. Once you have chosen your drive, press the “continue” button.

Finally, we should be ready to flash the image to the card. If Etcher complains that the SD card looks too big to be a viable removable drive, press “continue.” Now, press the “Flash” button, say “yes” to any User Account Control dialog boxes, and Etcher will flash the image.

Etcher will report the status of the flash. When done, Etcher will notify you. You can then remove the SD Card, put it into the Pi, and boot it. Speech should start automatically. If something doesn’t work, please let the Stormux contributors know.

Categories
stormux

Backup and Restore

Keeping your data safe is very important. SD cards are somewhat fragile, and like any other data storage device, they can and will eventually stop working. If you are prepared for this eventuality, however, data recovery is as simple as removing the broken card and inserting the backup.

To backup your current installation of Stormux, you will need an SD card with at least as much space as your current one. You will also need a USB card reader. Insert the backup card into the reader, and attach it to the Pi.

The backup process will completely overwrite the attached card, so it is imperative that you select the correct drive when making your backup. To list your drives, using a terminal, type the lsblk command.

[storm@stormux ~]$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda           8:0    1  7.5G  0 disk
`-sda1        8:1    1  7.5G  0 part [SWAP]
sdb           8:16   1 29.7G  0 disk
|-sdb1        8:17   1 43.9M  0 part
`-sdb2        8:18   1 29.7G  0 part
sdc           8:32   0  3.7T  0 disk
`-sdc1        8:33   0  3.7T  0 part /media/ext
sr0          11:0    1   96M  0 rom
mmcblk0     179:0    0 29.7G  0 disk
|-mmcblk0p1 179:1    0  100M  0 part /boot
`-mmcblk0p2 179:2    0 29.6G  0 part /

We are looking for the 32GB SD card. So, looking at the lines above, we notice the following entry:

sdb           8:16   1 29.7G  0 disk

This means, for the purposes of our backup, we need to use sdb. Stormux includes a backup script called rpi-clone. Using it, and the drive whose name in this case is sdb, backing up the installed copy of Stormux is a simple matter of typing:

sudo rpi-clone -u sdb

The -u option means the backup is unattended. You will not have to confirm you want the backup to start nor press enter to unmount the card after the backup is done. Depending on when you last did a backup, the process can take quite a while. When it is done simply remove the card containing your newly backed up data, and store it somewhere safe until you want to update the backup or replace the current one. The card will be a snapshot of your system, and will boot just like the card your are currently using.

As long as you remember to backup once a week, or after major changes to your system, you should always ae good to go. This process is much more simple than replacing a hard drive in a traditional computer.