{"id":15172795,"url":"https://github.com/devducks/astroarch","last_synced_at":"2025-04-09T07:09:42.643Z","repository":{"id":49776166,"uuid":"446959707","full_name":"devDucks/astroarch","owner":"devDucks","description":"ArchLinux for astrophotography - made for raspberrypis, can run also on x64 machines","archived":false,"fork":false,"pushed_at":"2025-02-05T12:18:47.000Z","size":3317,"stargazers_count":75,"open_issues_count":29,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-07T00:10:33.294Z","etag":null,"topics":["aarch64","arch-linux","archlinux","archlinux-arm","arm64","astronomy","astrophotography","ekos","kstars","linux","pi4","pi5","raspberry","raspberry-pi","raspberry-pi-4","raspberry-pi-5"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devDucks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code_of_conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-11T19:46:19.000Z","updated_at":"2025-03-25T14:18:45.000Z","dependencies_parsed_at":"2024-04-14T19:34:53.200Z","dependency_job_id":"9527cd9c-4ff7-48f7-a7ef-93d092224b19","html_url":"https://github.com/devDucks/astroarch","commit_stats":{"total_commits":340,"total_committers":4,"mean_commits":85.0,"dds":"0.032352941176470584","last_synced_commit":"e510f70de09ff6f46c928e70a64076afe547b99c"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devDucks%2Fastroarch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devDucks%2Fastroarch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devDucks%2Fastroarch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devDucks%2Fastroarch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devDucks","download_url":"https://codeload.github.com/devDucks/astroarch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994122,"owners_count":21030050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aarch64","arch-linux","archlinux","archlinux-arm","arm64","astronomy","astrophotography","ekos","kstars","linux","pi4","pi5","raspberry","raspberry-pi","raspberry-pi-4","raspberry-pi-5"],"created_at":"2024-09-27T10:04:29.360Z","updated_at":"2025-04-09T07:09:42.627Z","avatar_url":"https://github.com/devDucks.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to AstroArch! Astrophotography on ArchLinux for Raspberry Pi, PC and mini PC (works also on Manjaro and all Arch derived distros)\n\n[![Discord chat][discord-badge]][discord-url] \u003c= Join us on discord!\n\n[discord-badge]: https://img.shields.io/discord/1100468635086106706?logo=discord\u0026style=flat-square\n[discord-url]: https://discord.gg/uJEQCZKBT8\n\n![astroarch](https://github.com/devDucks/astroarch/assets/4163222/d26c8d0b-a5ad-404b-8c2d-ef0a04f2f19a)\n\n\nPlease 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](https://github.com/MattBlack85/astroarch/blob/main/BUILD.md)\n - [Quick video intro](#quick-video-intro-to-astroarch)\n - [What Raspberry is supported?](#what-raspberry-version-is-supported)\n - [Download](#download)\n - [Flash the image to SD](#flash-the-img-to-an-sd)\n - [On first boot - things to know](#first-boot)\n - [Connecting via noVNC (browser)](#connecting-via-browser-novnc)\n - [Connecting via VNC client (this is the preferred way)](#connecting-via-vnc-client)\n - [How can I use a raspberry camera?](#how-can-i-use-a-raspberry-camera)\n - [How can I boot from USB/SDD?](#boot-from-external-disk-usb-hdd-ssd-nvme)\n - [Kstars hours is not correct, how can I fix it?](#set-timezone)\n - [What are the passwords for the user and the hotspot?](#passwords)\n - [Protect VNC with a password](#how-to-protect-vnc-with-password)\n - [Useful commands](#useful-commands)\n - [List of available software](#software-available)\n - [How can I add a RTC to AstroArch?](#how-to-add-a-rtc)\n - [How to make a GPS dongle working?](#using-a-gps-dongle)\n - [How to enable bluetooth?](#how-to-enable-bluetooth)\n - [How to enable an FTP server?](#how-to-enable-FTP)\n - [Where can I find more packages?](#where-to-find-more-pacakges)\n - [How can I install Python packages?](#how-to-install-python-packages)\n - [reporting problems](#reporting-issues)\n - [For PC/mini PC running an ArchLinux derived distro (Manjaro, ArcoLinux, etc.)](#use-only-the-astro-packages-mantained-for-astroarch-on-pc-and-mini-pc)\n\n\n# What Raspberry version is supported?\nAstroArch runs on any raspberry capable to run aarch64 OS, this means `Raspberry Pi 4` and of course `Raspberry Pi 5`\n\n# Download\nPlease use this link to download the latest astroarch gzipped img file =\u003e https://drive.google.com/file/d/1S4lGyRT1soCdO8QAUk5gmDEXj6T2_b2g/view\n\n# Flash the img to an SD\nIf you prefer a GUI, use [balenaHetcher](https://www.balena.io/etcher/) otherwise you can use the unix `dd` to flash it, and if you are using `dd` I think\nthere is nothing I shall explain to you :)\n\n# First boot\nAfter 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\nthis likely means that unfortunately your raspberry pi rev cannot boot the image. In this case please plug a monitor and report here the output!\nOnce you are logged in the first thing you should do is update the system, open the terminal and type `update-astroarch` command\n\n# Set timezone\nDo not forget to set the right timezone! to do so run `sudo timedatectl set-timezone Foo/Bar` where Foo/Bar is something like `Europe/Rome`\n\n# Passwords\nTo save you some time, here the default password you will need for AstroArch:\n - the user password for `astronaut` (which is the user used to login or for ssh) is `astro`\n - the password for the `AstroArch-XXXXXXX` WiFi hotspot is `astronomy`\n\n# How to protect VNC with password\nIf you want to add more security to your installation (or maybe you are at a starparty with more users running AstroArch), you may want to add a password to VNC (by default there is no password).\nTo do so first set a password running `sudo vncpasswd` and after that edit `/etc/systemd/system/x0vncserver.service` changing the ExecStart line from this\n\n\n```\nExecStart=x0vncserver -display :0 -SecurityTypes None\n```\n\n\nto this\n\n\n```\nExecStart=x0vncserver -display:0 -rfbauth /root/.vnc/passwd\n```\n\nReboot and now you should be prompted to input a password when connecting via VNC\n\n# How can I use a raspberry camera\nAstroArch finally supports raspberry cameras via indi pylibcamera, to install it and having fun with it just run `sudo pacman -S indi-pylibcamera`\n\n# Use only the astro packages mantained for AstroArch on PC and mini PC\nIf 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\n```\n[astromatto]\nSigLevel = Optional TrustAll\nServer = http://astroarch.astromatto.com:9000/$arch\n```\n\nafter that run `sudo pacman -Sy \u0026\u0026 sudo pacman -S kstars phd2 indi-3rdparty-drivers stellarsolver`\n\n# Useful commands\nThe 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:\n - `update-astroarch` =\u003e 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.\n - `astro-rollback-indi` =\u003e rollback automatically indi to the previous version\n - `astro-rollback-kstars` =\u003e rollback automatically indi to the previous version\n - `astro-rollback-full` =\u003e rollback automatically indi and kstars to the previous version\n - `use-astro-bleeding-edge` =\u003e install bleeding edge packages for Kstars and INDI\n - `use-astro-stable` =\u003e install stable  packages for Kstars and INDI\n\n# Connecting via browser (noVNC)\nBy default `AstroArch` will start a hostpot called `AstroArch`, to connect to that WiFi network use the password `astronomy`\n\nnoVNC 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:\n- **http://astroarch.local:8080/vnc.html**\n- if the previous method doesn't work, find your raspberry pi IP, connect to it through your browser typing `http://RASPBERRY_IP:8080/vnc.html`\n\notherwise, if you want to connect to its hotspot, find the WiFi network `AstroArch` (the pass is `astronomy`) and type in your browser `http://10.42.0.1:8080/vnc.html`\n\nWelcome to astro arch!\n\n# Connecting via VNC client\nIf you trust me, this should be always the preferred way to connect usig VNC. noVNC goes through the browser and is less fluid and performant than a real VNC client.\nYou can use whatever VNC client you prefer, there should be no issue.\n\nThe address is `astroarch.local` (or the IP if you prefer) and the port is 5900\n\nFew VNC client suggestions (work an all platforms):\n- TigerVNC (https://tigervnc.org/)\n- RealVNC (https://www.realvnc.com/en/)\n\n# Adding swap\nBy 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.\nIn this example we make a 2GB swapfile \n```\nsudo fallocate -l 2G /swapfile\nsudo chmod 600 /swapfile \nsudo mkswap /swapfile\nsudo swapon /swapfile\nsudo echo \"vm.swappiness = 10\" | sudo tee -a  /etc/sysctl.d/99-swappiness.conf\n```\n\nCheck swappiness\n```\n$ cat /proc/sys/vm/swappiness\n10\n```\nCheck if Swap is enabled\n```\nfree -h\n```\nOutput should be something like this on Swap row :\n```\n$ free -h\n               total        used        free      shared  buff/cache   available\nMem:           3.7Gi       1.4Gi       1.1Gi        88Mi       1.3Gi       2.3Gi\nSwap:          2.0Gi          0B       2.0Gi\n```\nMake permanent swapfile on system\n```\n$ sudo echo \"/swapfile   none    swap    sw              0       0\" | sudo tee -a  /etc/fstab\n```\n\n# Boot from external disk (USB, HDD, SSD, NVME)\nIf you want to use an alternative media to boot AstroArch, just flash the image to your support and it will work out of the box for USB and SSDs! No special steps are required\n\nIf you have a NVMe there are some additional steps to be able to boot from it:\n- install rpi-eeprom with `sudo pacman -S rpi5-eeprom` (or rpi4-eeprom if you have a rasberry4)\n- be sure to run the latest eeprom firmware `sudo rpi-eeprom-update -a`\n- *be sure to read this table https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#boot_order-fields*\n- decide the boot order for your raspberry, bear in mind that the priority goes right to left, so for example, if you want your boot\n  to be something like NVMe first, then USB then SD card the values to put in the `BOOT_ORDER` field would be 641 but since it's reversed we should put 146\n  with a final value (put always the f) of `0xf146`\n- create a new file with the following command \n```sh\ncat\u003eeeprom.conf\u003c\u003cEOF\n[all]\nBOOT_UART=1\nWAKE_ON_GPIO=0\nPOWER_OFF_ON_HALT=1\nBOOT_ORDER=0xf146\nPCIE_PROBE=1\nEOF\n```\n- apply the eeprom settings `sudo rpi-eeprom-config --apply eeprom.conf`\n- remove the eeprom settings created in the previous steps `rm eeprom.conf`\n- the eeprom update requires a reboot, so be sure to reboot your pi\n\n# Software available\nthe following software will be available, by category\n\n### Astronomical\n- Kstars 3.7.2\n- phd2 2.6.13dev1\n- indi libs 2.0.9 **(all of them)**\n- indi drivers 2.0.9 **(all of them)**\n- most of the widefield indexes for plate solving\n- astromonitor (you never heard of it? Check it here https://github.com/MattBlack85/astro_monitor)\n- AstroDMx (a capture software like FireCapture)\n\n### OS\n- Konsole (terminal)\n- KDE Plasma (Desktop environment)\n- pacman (package manager, this is **NOT** debian based and pacman instead of apt is your package manager\n- NetworkManager (to manage networks)\n- Discovery (to install other packages)\n\n### Connectivity\n- tigervnc (x0vncserver)\n- noVNC\n\n### Browser\n- chromium (like chrome, but without google tracking code)\n- firefox\n\n# How to add a RTC\nAdding a RTC to AstroArch is easy from version 1.6.\nFirst, 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\n![i2cdetect](https://github.com/devDucks/astroarch/assets/4163222/147f90ed-6f56-43ab-900b-0ad0c44f919c)\n\nNow find the line `dtoverlay=i2c-rtc` in `/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 `dtoverlay=i2c-rtc,ds3231`\n\nReboot 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.\n\nThat'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!\n\nReboot your PI and you should have the time automatically synchronized when it starts!\n\nIf you want to remove the RTC sync just drop `,xxxx` from `/boot/config.txt` at line `dtoverlay=i2c-rtc,xxxx`\n\n# Using a GPS dongle\nTo use a GPS dongle, simply plug in your device and activate the GPSD service which is disabled by default. So the only command required is sudo systemctl enable gpsd --now and the service will start automatically after each boot. You can also manually edit /etc/gpsd and hardcode the device path on the DEVICES=\"\" line with DEVICES=\"/dev/gps0\"\n\nOtherwise, simply use the following command `gps_on` to perform these two operations.\n\nFor users of a GPS USB dongle models u-blox 7 or VK-162 with a mount using the eqmod module, use the `gps_ublox_on` command. This helps avoid a conflict between the GPS and the mount.\n\nFor GPS UART users, use the `gps_uart_on` command.\n\nIf you want to disable automatic startup of the GPS daemon, run `gps_off`.\n\nADDITIONAL CONSIDERATIONS (use these as guidelines):\n\nIf you are having trouble getting the signal, you may need to protect your USB3 cables (they interfere with the GPS signal)\nif the device is not recognized (which is very unlikely on ArchLinux), we do not recommend using ttyXXX as it may point to other serial devices after a reboot\n\n# How to enable bluetooth\nBy default there are no packages to enabling bluetooth, to install them and enabling bluetooth functionalities run the following command `bluetooth_on`, this command will install the BT packages and enable the bluetooth daemon to run automatically at boot.\nIf you want to disable bluetooth daemon autostart just run `bluetooth_off` and if you want to remove it run `bluetooth_remove`\n\n# How to enable FTP\nIdentical to Bluetooth, there is no default package to activate an FTP server.\n\nTo install and activate it, run the following command `ftp_on`. This command will install the Very Secure FTP Daemon package and allow the FTP server to run automatically on startup.\n\nTo connect from a remote station, use an FTP client such as FileZilla or other. All you need to do is identify yourself with the astronaut user, his password and the IP address where the server is located. You will easily find the IP address of your LAN or WLAN with the ifconfig command in a console. Once connected, you can very quickly transfer your files in both directions.\n\nIf you want to disable the automatic start of the FTP server, simply run `ftp_off` and if you want to remove it, run `ftp_remove`.\n\n# Where to find more packages?\nIf you want to install more packages you should look what is available here https://archlinuxarm.org/packages - if you find the package there you can easily install it running `sudo pacman -S PACKAGE_NAME`,\nif you want to install packages using a GUI instead, open discovery (the blue bag icon on the tray) and follow the instructions.\n\nIf the package you are looking for is not there you may additionally have a look at the AUR https://aur.archlinux.org/ - AUR is a list of packages mantained by the community,\nthey are not ready to be installed so they can't be installed with pacman but instead you need `paru` (already installed on AstroArch), if you find your package on the AUR run `paru -S PACKAGE_NAME`\nit will ask you for a review (confirm it) and then it will compile the package for you and install it. Please be patient, some packages are just huges and it may take some time to compile on lower hardware like the raspberry.\nEven for AUR there is a graphical installer (although I never used it and I cannot guarantee if it works well or not), run `sudo pacman -S pamac-full` and you can run `pamac` to install graphically packages from the AUR.\n\nWhat if your package is not in the AUR or the offcial ArchLinux repository? Please let me know, it is not hard to package stuff for ArchLinux and in fact I already do it for few things, I can take a look at the source and if possible I will try to package\nit for Arch so that you may be able to install it using pacman.\n\n# How to install Python packages?\nPLEASE READ THIS CAREFULLY\n\nPython packages via pip installing has changed over time and it now looks way more different than it was years ago, this may looks like a cultural shock if you are coming from more stable distros (Debian and similar) that still didn't catch up with this change but bear with us;\ninstalling packages via pip globally is not supported anymore by default (sudo pip install) cause it messes up distro packaging. If you try to do so you will see an error message suggesting to use a virtual environment (which, by the way, is a GREAT suggestion).\nSometimes vietual envs are not simply possible, so there are 3 ways to achieve the wanted result:\n1) install the package via the package manager (pacman) - if the python package you want to install is a common one, there is a big chance it's been packaged for ArchLinux already and you can install it with pacman - BEST WAY\n2) open an issue here on github and let me know what python packages you would like to see available to be installed via `pacman`, it will take few days to few weeks depending on availability but it is doable - RECOMMENDED WAY if 1 is not possible\n3) bypass the pip check and force a global install running `sudo pip install --break-system-packages PACKAGE_NAME` - NOT RECOMMENDED and likely to break other dependencies in the long run, if you do so, we do not offer any support, sorry!\n\n# Reporting issues\nAstroArch 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\n\n# Quick video intro to AstroArch\n\nhttps://github.com/devDucks/astroarch/assets/4163222/27bb0842-2db0-4db7-83e5-c513c8e02f5a\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevducks%2Fastroarch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevducks%2Fastroarch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevducks%2Fastroarch/lists"}