ArchlinuxARM on RaspberryPI: Tips and Tricks

2023-11-15 (Updated 2023-11-21)

An updated list of tips and tricks for running Alarm on RPI

Fixing later RPI revisions not booting

Credit

Change /boot/config.txt, and in line 11 and 13, replace fdt_addr_r to fdt_addr

which will look like this:

# After modifying, run ./mkscr

# Set root partition to the second partition of boot device
part uuid ${devtype} ${devnum}:2 uuid

setenv bootargs console=ttyS1,115200 console=tty0 root=PARTUUID=${uuid} rw rootwait smsc95xx.macaddr="${usbethaddr}"

if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /Image; then
  if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /dtbs/${fdtfile}; then
    if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /initramfs-linux.img; then
      booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr};
    else
      booti ${kernel_addr_r} - ${fdt_addr};
    fi;
  fi;
fi

and run mkimage -A arm -T script -O linux -d boot.txt boot.scr or /boot/mkscr

Cant mount /boot

In later revisions of RPI, the default mmcblk device number starts from 0

You can check this in emergency shell by typing lsblk:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0 119.4G  0 disk
├─mmcblk0p1 179:1    0   200M  0 part /boot
└─mmcblk0p2 179:2    0 119.2G  0 part /

If so, your /etc/fstab should be edited to look like this:

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
/dev/mmcblk0p1  /boot   vfat    defaults        0       0

No sound in pipewire / alsa

If you encountered the following:

[alarm@alarm ~]$ aplay -l
aplay: device_list:277: no soundcards found...

or

[alarm@alarm ~]$ wpctl status
PipeWire 'pipewire-0' [0.3.85, alarm@alarm, cookie:1958233425]
 └─ Clients:
        31. WirePlumber                         [0.3.85, alarm@alarm, pid:461]
        32. WirePlumber [export]                [0.3.85, alarm@alarm, pid:461]
        35. wpctl                               [0.3.85, alarm@alarm, pid:483]

Audio
 ├─ Devices:
  ├─ Sinks:
  ├─ Sink endpoints:
  ├─ Sources:
  ├─ Source endpoints:
  └─ Streams:

Video
 ├─ Devices:
  ├─ Sinks:
  ├─ Sink endpoints:
  ├─ Sources:
  ├─ Source endpoints:
  └─ Streams:

Settings
 └─ Default Configured Node Names:

remember to add yourself to audio group:

[alarm@alarm ~]$ groups
wheel alarm
[alarm@alarm ~]$ sudo usermod -aG audio alarm

Alsa and should work after a re-login, but pipewire might require you to restart.