Welcome to AstroArch! Astrophotography on ArchLinux for Raspberry Pi, PC and mini PC (works also on Manjaro and all Arch derived distros)
Please find below some (hopefully) useful instructions, if you are here instead because you want to know how you can build this image from scratch, see this
- IMPORTANT NOTES BEFORE YOU START (SERIOUSLY, READ THEM!)
- Kstars hours is not correct, how can I fix it?
- what are the passwords for the user and the hotspot?
- Flash the image to SD
- Useful commands
- On first boot - things to know
- Connecting via noVNC (browser)
- How can I boot from USB/SDD?
- List of available software
- How can I add a RTC to AstroArch?
- reporting problems
- For PC/mini PC running an ArchLinux derived distro (Manjaro, ArcoLinux, etc.)
⚠️ BE SURE TO READ THE FOLLOWING SECTION AT LEAST BEFORE STARTING ASTROARCH ⚠️
AstroArch doesn't support yet HDMI, it means it works only via VNC and if you plug a monitor, you won't see the desktop although the system may be functional.
After acknowledging this fact, enjoy the rest of the read 🤓
Do not forget to set the right timezone! to do so run
sudo timedatectl set-timezone Foo/Bar where Foo/Bar is something like
To save you some time, here the default password you will need for AstroArch:
- the user password for
astronaut(which is the user used to login or for ssh) is
- the password for the
AstroArchWiFi hotspot is
Use only the astro packages mantained for AstroArch on PC and mini PC
If you have an x64 distro based on ArchLinux on your PC and you just want to access the packages I mantain (kstas, phd2, stellarsolver, indi, indi libs and drivers) add my repo to your pacman.conf file (under /etc/pacman.conf) before the [core] section, the repo looks like the following
[astromatto] SigLevel = Optional TrustAll Server = http://astroarch.astromatto.com:9000/$arch
Please use this link to download the latest astroarch gzipped img file => https://drive.google.com/file/d/1A0QXxVALT0iZ9pXmOD9_c2AotuZZQ2wj/view
Flash the img to an SD
If you prefer a GUI, use balenaHetcher otherwise you can use the unix
dd to flash it, and if you are using
dd I think
there is nothing I shall explain to you :)
The followings are some useful commands that you can run from the terminal so you don't have to deal with complicated stuff by yourself if you don't want to:
update-astroarch=> this command will update system packages (including kstars, indi, etc. if there are new versions) and will pull any fix for astroarch itself, additionally will update the astroarch configuration that may bring in more commands etc.
astro-rollback-indi=> rollback automatically indi to the previous version
astro-rollback-kstars=> rollback automatically indi to the previous version
astro-rollback-full=> rollback automatically indi and kstars to the previous version
After you burned the .img file to your SD, you should be able to reach astroarch via VNC, however if you don't see the desktop or you can't connect to it
this likely means that unfortunately your raspberry pi rev cannot boot the image. In this case please plug a monitor and report here the output!
Once you are logged in the first thing you should do is update the system, open the terminal and type
Connecting via browser (noVNC)
AstroArch will start a hostpot called
AstroArch, to connect to that WiFi network use the password
noVNC is installed and it will start by default, if your pi is wired to your network you can connect to it with the follwing methods:
- if the previous method doesn't work, find your raspberry pi IP, connect to it through your browser typing
otherwise, if you want to connect to its hotspot, find the WiFi network
AstroArch (the pass is
astronomy) and type in your browser
Welcome to astro arch!
By default astroarch don't have swap, for prevent issues about memory space you can add a swap file and enable it, we will set swappiness to 10 don't use swap file if RAM space is ok. In this example we make a 2GB swapfile
sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.d/99-swappiness.conf
$ cat /proc/sys/vm/swappiness 10
Check if Swap is enabled
Output should be something like this on Swap row :
$ free -h total used free shared buff/cache available Mem: 3.7Gi 1.4Gi 1.1Gi 88Mi 1.3Gi 2.3Gi Swap: 2.0Gi 0B 2.0Gi
Make permanent swapfile on system
$ sudo echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
Boot from external disk
If you want to use a USB or a SDD to boot AstroArch, follow the next steps (maybe one day I will ship 2 different images for SD/USB+SDD):
- flash the image to the USB/HDD/SDD the same way you would flash to a SD card
- insert your disk into your PC and you should see 2 partitions (not sure on Windows you can see the root partition which is an ext4)
- in the smallest one EDIT the file cmdline.txt and replace mmcblk0p2 with sda2
- in the biggest partition open the file /etc/fstab and replace mcblk0p1with sda1 and mmcblk0p2 with sda2
- remove your disk from your PC and plug into the raspberry, boot it up
- edit the file
/etc/systemd/system/resize_once.service- change the line 7 from /dev/mmcblk0 to /dev/sda
- On the line ExecStop there is a \p, drop the p and save the file
- run in the terminal
sudo systemctl daemon-reload
- run in the terminal
sudo systemctl start resize_once
The partition is extended now and you can boot from your external device
the following software will be available, by category
- Kstars 3.6.5
- phd2 2.6.11dev4
- indi libs 2.0.2 (all of them)
- indi drivers 2.0.2 (all of them)
- most of the widefield indexes for plate solving
- astromonitor (you never heard of it? Check it here https://github.com/MattBlack85/astro_monitor)
- AstroDMx (a capture software like FireCapture)
- Konsole (terminal)
- KDE Plasma (Desktop environment)
- pacman (package manager, this is NOT debian based and pacman instead of apt is your package manager
- NetworkManager (to manage networks)
How to add a RTC
Adding a RTC to AstroArch is easy from version 1.6.
First, wire your RTC to your pi, open a terminal and type
sudo i2cdetect -y 1 you should see a similar table, take note of the number for the next steps
Now find the line
/boot/config.txt and modify it by adding a comma and the name of your RTC device, in my case for the ds3231 will be
Reboot your Raspberry PI and if you type again
sudo i2cdetect -y 1 you should now see a
UU instead of the number, this means the kernel module for your RTC has been loaded correctly.
That's all you need! We just enabled automatic modules to setup the system time from the RTC if it's present! No more steps are required!
Reboot your PI and you should have the time automatically synchronized when it starts!
If you want to remove the RTC sync just drop
/boot/config.txt at line
AstroArch is actually in a stable state, however, should you find any issue please report them here https://github.com/MattBlack85/astroarch/issues this will help me tracking them and ship a fix for them