Hello Mattia! I sent you a message on discord. This is how I did the installation
First I installed the Archlinux arm image as indicated on this page
archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4 from my Linux PC on my SSD. Then modify the fstab file.
# Install amr64 arch --> SSD
# Gparted install 2 partions fat16 256M + ext4 all
sudo mount /dev/sde1 /home/stephane/boot
sudo mount /dev/sde2 /home/stephane/root
wget
os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
sudo bsdtar -xpf ArchLinuxARM-rpi-aarch64-latest.tar.gz -C /home/stephane/root
sudo mv /home/stephane/root/boot/* /home/stephane/boot
sudo nano /home/stephane/root/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>
/dev/sda1 /boot vfat defaults,noexec,nodev,showexec 0 0
/dev/sda2 / ext4 rw,relatime 0 1
sudo umount /home/stephane/boot /home/stephane/root
Afterward, I launched the Pi from the SSD with a wired connection. All the rest of my installation is done through ssh because I don't have a screen on the Pi. I initialize Arch with the following commands under root and reboot.
# name / password
# alarm alarm
# root root
# Boot raspberry with SSD + from my pc connect to pi with -> ssh alarm@alarm
su root
pacman-key --init
pacman-key --populate archlinuxarm
pacman -Syuu
systemctl reboot
Then I change the kernel, install the base packages and videos. I change the two Pi startup files and reboot.
su root
# Remove packages
pacman -Rns linux-aarch64 uboot-raspberrypi
# Install packages
pacman -Sy linux-rpi firmware-raspberrypi git wget rsync parted dosfstools usbutils sudo accountsservice wget gnu-free-fonts uboot-tools base-devel i2c-tools xf86-video-dummy xorg xf86-video-fbdev sddm sddm-kcm vim tigervnc breeze-icons hicolor-icon-theme plasma-desktop plasma-workspace i2c-tools
# Change value PARTUUID disk -> in console command blkid for value of PARTUUID disk
nano /boot/cmdline.txt
root=PARTUUID=d89b0549-02 rw rootwait console=serial0,115200 console=tty3 selinux=0 quiet splash plymouth.ignore-serial-consoles smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 usbhid.mousepoll=8 audit=0 rootfstype=ext4 fsck.repair=yes
nano /boot/config.txt
dtparam=i2c_arm=on
dtparam=audio=on
display_auto_detect=1
dtoverlay=vc4-kms-v3d
max_framebuffers=2
arm_64bit=1
disable_overscan=1
otg_mode=1
arm_boost=1
gpu_mem=64
disable_splash=1
3dtparam=krnbt=on
initramfs initramfs-linux.img followkernel
kernel=kernel8.img
hdmi_drive=2
nano /etc/modules-load.d/raspberrypi.conf
i2c-dev
systemctl reboot
I add a user, configure local settings, distro name, your repository and swap. And finally reboot.
su root
# Add User
useradd -G wheel -m stephane
passwd stephane
usermod -aG uucp,sys,network,power,audio,input,lp,storage,video,users stephane
# Set Lang CH
nano /etc/locale.gen
# Uncomment #fr_CH.UTF-8 UTF-8
locale-gen
nano /etc/locale.conf
LANG=fr_CH.UTF-8
unset LANG
source /etc/profile.d/locale.sh
# SSH change & uncomment
nano /etc/ssh/sshd_config
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
# Set time zone CH
timedatectl set-timezone Europe/Zurich
# Set hostanme
nano /etc/hostname
astroarch
# Set hosts
nano /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 astroarch
# Add Repo + tips
nano /etc/pacman.conf
# Misc options
ParallelDownloads = 5
ILoveCandy
[astromatto]
SigLevel = Optional TrustAll
Server =
astroarch.astromatto.com:9000/$arch
# Swap
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "vm.swappiness = 10" | tee -a /etc/sysctl.d/99-swappiness.conf
echo "/swapfile none swap sw 0 0" | tee -a /etc/fstab
systemctl reboot
Installation of packages for GPS management, time server, file exchange, hotspot... + astro. Virtual monitor + keyboard configuration. SSDM test to validate the rest. Starting ssdm, configuring autologin, installing Tigervnc, wifi and LAN, hotspot, gps, samba. Installed Trizen to manage AUR packages. Installation of Siril to manipulate and stack astro images.
# Boot raspberry with SSD + from my pc connect to pi with ->ssh stephane@astroarch
su root
# install packages
pacman -Sy kwallet-pam gpsd chrony samba cmake chromium hostapd kstars modem-manager-gui python-cairo gtk3 python-gobject stellarsolver collimation-circles indi-3rdparty-libs indi-3rdparty-drivers indiserver-ui phd2 kdenetwork-filesharing konsole plasma-systemmonitor kate iwd meson opencv ffms2 firefox ark pacman-contrib ksystemlog plasma-wayland-session discover kwalletmanager kgpg qt5-serialbus qt5-serialport qt5ct udisks2-qt5 dbus-broker xorg-fonts-misc fuse2 irqbalance inxi lsb-release ncdu numactl plymouth smbnetfs weston sway alacritty waybar wofi glfw-wayland libgit2
# Set Monitor
nano /usr/share/X11/xorg.conf.d/20-headless.conf
# Symlink this file to /usr/share/X11/xorg.conf.d/20-headless.conf
Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
#
arachnoid.com/modelines/
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection
Section "Device"
Identifier "Card0"
Driver "dummy"
VideoRam 512000
EndSection
Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Depth 24
Modes "1920x1080_60.00"
EndSubSection
EndSection
# Keyboard CH
nano /etc/X11/xorg.conf.d/00-keyboard.conf
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "fr"
Option "XkbModel" "pc104"
Option "XkbVariant" "ch"
Option "XkbOptions" "grp:win_space_toggle"
EndSection
# SSDM test
sh -c "sddm –example-config /etc/sddm.conf"
usermod -aG video sddm
# Start SDDM
systemctl enable sddm
systemctl start sddm
# Autologin in Plasma
mkdir /etc/sddm.conf.d
nano /etc/sddm.conf.d/kde_settings.conf
[Autologin]
Relogin=false
Session=plasma
User=stephane
[General]
DisplayServer=x11
HaltCommand=/usr/bin/systemctl poweroff
InputMethod=
Namespaces=
Numlock=on
RebootCommand=/usr/bin/systemctl reboot
[Theme]
Current=breeze
CursorSize=
CursorTheme=breeze_cursors
DisableAvatarsThreshold=7
EnableAvatars=true
FacesDir=/usr/share/sddm/faces
Font=Noto Sans,10,-1,0,50,0,0,0,0,0
ThemeDir=/usr/share/sddm/themes
[Users]
DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin
HideShells=
HideUsers=
MaximumUid=60513
MinimumUid=1000
RememberLastSession=true
RememberLastUser=true
ReuseSession=true
[X11]
DisplayCommand=/usr/share/sddm/scripts/Xsetup
DisplayStopCommand=/usr/share/sddm/scripts/Xstop
EnableHiDPI=true
ServerArguments=-nolisten tcp
ServerPath=/usr/bin/X
SessionCommand=/usr/share/sddm/scripts/Xsession
SessionDir=/usr/local/share/xsessions,/usr/share/xsessions
SessionLogFile=.local/share/sddm/xorg-session.log
XephyrPath=/usr/bin/Xephyr
# Issue for problem logout/shutdown plasma system -> add polkit rules
nano /etc/polkit-1/rules.d/99-polkit-power.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.hibernate" ||
action.id == "org.freedesktop.login1.suspend") {
return polkit.Result.YES;
}
});
# Install Tigervnc
nano /etc/systemd/system/x0vncserver.service
[Unit]
Description=Remote desktop service (VNC) for :0 display
Requires=display-manager.service
After=network-online.target
After=display-manager.service
[Service]
Type=simple
ExecStartPre=/usr/bin/bash -c "/usr/bin/systemctl set-environment XAUTHORITY=$(find /var/run/sddm/ -type f)"
Environment=HOME=/root
ExecStart=x0vncserver -display :0 -rfbauth /root/.vnc/passwd
Restart=on-failure
RestartSec=500ms
[Install]
WantedBy=multi-user.target
# Start Tigervnc
systemctl enable x0vncserver
systemctl start x0vncserver
# Password tigervnc
vncpasswd
# Set wifi
nano /etc/systemd/network/25-wireless.network
[Match]
Name=wlan0
[Network]
Address=10.42.0.1/24
DHCPServer=true
IPMasquerade=ipv4
# Start wifi
systemctl enable iwd
systemctl start iwd
# Set hotspot wifi
mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf-old
nano /etc/hostapd/hostapd.conf
# Which interface to use and which bridge to join
interface=wlan0
# Use this driver for AP stuff. This corresponds to the mac80211 driver
# which most newer cards support.
#driver=nl80211
# 802.11 mode and channel, pretty self-explanatory
hw_mode=g
channel=11
# Set and broadcast the SSID
ssid=astroarch
ignore_broadcast_ssid=0
# WPA Authentication
auth_algs=1
wpa=2
ieee8021x=0
eap_server=0
wpa_passphrase=astroarch
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
macaddr_acl=0
# Start hotspot
systemctl enable hostapd
systemctl start hostapd
# Set GPS --> test /dev/gps0 or /dev/ttyACM0 depending on the mounting of your GPS --> START_DAEMON="true" or "false" depending on your needs when starting the system --> USBAUTO="false" or "true" be careful setting it to true causes problems during system startup (conflicts with my mount on setup)
nano /etc/default/gpsd
# Default settings for gpsd.
START_DAEMON="true"
GPSD_OPTIONS="-n"
DEVICES="/dev/ttyACM0"
USBAUTO="false"
# Add 2 lines for synchonize system time with GPS
nano /etc/chrony.conf
refclock SHM 0 offset 0.5 delay 0.2 refid NMEA
driftfile /var/lib/chrony/drift
# Start GPS
systemctl enable gpsd
systemctl start gpsd
systemctl enable chronyd
systemctl start chronyd
# Set samba
# Make dir user for share
su stephane
mkdir /home/stephane/Images/astro
su root
nano /etc/samba/smb.conf
#======================= Global Settings =====================================
[global]
netbios name = astroarch
security = user
protocol = SMB3
logging = systemd
map to guest = Bad Password
workgroup = WORKGROUP
follow symlinks = yes
wide links = yes
unix extensions = no
server string = Samba Server
server role = standalone server
log file = /var/log/samba/%m.lo
max log size = 50
dns proxy = no
usershare path = /var/lib/samba/usershares
usershare max shares = 100
usershare allow guests = yes
usershare owner only = yes
[homes]
comment = Home Directories
browsable = no
writable = yes
[astroarch_image]
comment = image astro
path = /home/stephane/Images/astro
public = yes
browseable = yes
writable = yes
read only = no
valid users = stephane
# Enable Usershares
mkdir /var/lib/samba/usershares
groupadd -r sambashare
chown root:sambashare /var/lib/samba/usershares
chmod 1770 /var/lib/samba/usershares
gpasswd sambashare -a stephane
# Start samba
systemctl enable smb
systemctl enable nmb
systemctl enable avahi-daemon
systemctl start smb
systemctl start nmb
systemctl start avahi-daemon
# Password for user
smbpasswd -a stephane
# List user samba -> in console pdbedit -L -v
# trizen for AUR package
# Set user admin uncommente
EDITOR=nano visudo
%wheel ALL=(ALL:ALL) ALL
su stephane
mkdir /home/stephane/Projects
cd /home/stephane/Projects
git clone
aur.archlinux.org/trizen.git
c
d trizen
makepkg -si
# Install packages whit trizen
trizen -Sy dolphin dolphin-plugins qt5-imageformats packagekit-qt5 xplanet
# Install Siril
cd /home/stephane/Projects
git clone --recurse-submodules gitlab.com/free-astro/siril.git
cd siril
meson setup --prefix /usr/local --buildtype release _build
ninja -C _build
ninja -C _build install
# Make icon for Collimation Circles
cd /home/stephane/Bureau
nano CollimationCircle
[Desktop Entry]
Categories=Education;Science;Astronomy;
Comment=Collimation Circles
Encoding=UTF-8
Exec=CollimationCircles
GenericName=CollimationCircles
Icon=/home/stephane/Images/collimationcircle.png
MimeType=
Name=CollimationCircles
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
Version=1.0
X-KDE-SubstituteUID=false
X-KDE-Username=
# change permissions acces directory stephane -> read files on other pc
su root
chmod -R 755 /home/stephane
systemctl reboot
From there you can connect remotely to the Pi directly on the desktop. And make some changes
# Change icon for Collimation Circle
# Change wallpaper
# Add icon desktop apps for Konsole, Kstars, Phd2, Siril, Xgps, Indi server GUI
# Change splash screen to ARCH SPACE
# Change loginscreen FEDERATION LOGIN
# Add virtual desktop 2
# change in kde settings screen latency -> latency medium
# add trash icon on desktockbar
Here is a distro for Pi under Arch Arm64. Everything is functional. I hope this will help and promote your beautiful AstroArch distro.
Have fun and good clear skies to all.
Ps: one thing that would be interesting would be to create an installation file for Manjaro for the installation, creating a user and the configuration according to the user's location. github.com/coolhaircut/manjaro-arm-insta...anjaro-arm-installer
Stéphane.