mirror of
https://github.com/ps5-linux/ps5-linux-image.git
synced 2026-07-15 21:42:27 +00:00
176 lines
3.7 KiB
YAML
176 lines
3.7 KiB
YAML
image:
|
|
name: ps5-alpine
|
|
distribution: alpine
|
|
release: "3.21"
|
|
description: Alpine Linux with Weston
|
|
architecture: x86_64
|
|
|
|
source:
|
|
downloader: alpinelinux-http
|
|
url: https://dl-cdn.alpinelinux.org/alpine
|
|
skip_verification: true
|
|
|
|
packages:
|
|
manager: apk
|
|
update: true
|
|
cleanup: true
|
|
|
|
repositories:
|
|
- name: repositories
|
|
url: |-
|
|
https://dl-cdn.alpinelinux.org/alpine/v3.21/main
|
|
https://dl-cdn.alpinelinux.org/alpine/v3.21/community
|
|
|
|
sets:
|
|
- packages:
|
|
# Wayland compositor + basics
|
|
- weston
|
|
- weston-shell-desktop
|
|
- weston-backend-drm
|
|
- weston-xwayland
|
|
- weston-terminal
|
|
- foot
|
|
- xwayland
|
|
|
|
# Wayland support
|
|
- dbus
|
|
- eudev
|
|
- elogind
|
|
- polkit-elogind
|
|
- seatd
|
|
|
|
# Audio / media
|
|
- pipewire
|
|
- wireplumber
|
|
- pipewire-pulse
|
|
|
|
# Display / GPU
|
|
- mesa-gbm
|
|
- mesa-egl
|
|
- mesa-gl
|
|
- mesa-dri-gallium
|
|
- mesa-va-gallium
|
|
- mesa-vulkan-ati
|
|
- libinput
|
|
- xkeyboard-config
|
|
|
|
# Networking
|
|
- networkmanager
|
|
- networkmanager-wifi
|
|
- wpa_supplicant
|
|
- linux-firmware
|
|
- linux-firmware-amdgpu
|
|
- xf86-video-amdgpu
|
|
|
|
# System
|
|
- openrc
|
|
- openssh
|
|
- sudo
|
|
- shadow
|
|
- nano
|
|
- bash
|
|
- coreutils
|
|
- util-linux
|
|
- e2fsprogs
|
|
- e2fsprogs-extra
|
|
- cloud-utils-growpart
|
|
- mkinitfs
|
|
- kmod
|
|
- kexec-tools
|
|
- syslog-ng
|
|
|
|
# Fonts
|
|
- font-ubuntu
|
|
- font-liberation
|
|
- font-dejavu
|
|
- fontconfig
|
|
action: install
|
|
|
|
files:
|
|
- path: /etc/hostname
|
|
generator: hostname
|
|
|
|
- path: /etc/hosts
|
|
generator: hosts
|
|
|
|
- path: /etc/kernel/postinst.d/zz-update-boot
|
|
generator: copy
|
|
source: /tmp/build-staging/zz-update-boot
|
|
mode: "0755"
|
|
|
|
- path: /etc/fstab
|
|
generator: copy
|
|
source: /tmp/build-staging/fstab
|
|
|
|
- path: /usr/local/sbin/grow-rootfs
|
|
generator: copy
|
|
source: /tmp/build-staging/grow-rootfs
|
|
mode: "0755"
|
|
|
|
- path: /etc/init.d/grow-rootfs
|
|
generator: copy
|
|
source: /tmp/build-staging/grow-rootfs.openrc
|
|
mode: "0755"
|
|
|
|
actions:
|
|
- trigger: post-unpack
|
|
action: |-
|
|
#!/bin/sh
|
|
set -eux
|
|
# Retry up to 10 times on transient network errors
|
|
echo "retries = 10" >> /etc/apk/apk.conf 2>/dev/null || true
|
|
# dbus post-install chokes on an empty machine-id
|
|
rm -f /etc/machine-id
|
|
|
|
|
|
- trigger: post-packages
|
|
action: |-
|
|
#!/bin/sh
|
|
set -eux
|
|
fc-cache -f -v
|
|
|
|
# SSH
|
|
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
|
|
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
|
|
rc-update add syslog-ng default
|
|
rc-update add udev sysinit
|
|
rc-update add udev-trigger sysinit
|
|
rc-update add udev-settle sysinit
|
|
rc-update add sshd default
|
|
rc-update add dbus default
|
|
rc-update add elogind default
|
|
rc-update add seatd default
|
|
rc-update add networkmanager default
|
|
|
|
- trigger: post-files
|
|
action: |-
|
|
#!/bin/sh
|
|
set -eux
|
|
rc-update add grow-rootfs default
|
|
|
|
# Create default user (ps5/ps5) in groups needed for Wayland/input
|
|
addgroup ps5
|
|
adduser -D -s /bin/bash -G ps5 ps5
|
|
echo "ps5:ps5" | chpasswd
|
|
addgroup ps5 wheel
|
|
addgroup ps5 video
|
|
addgroup ps5 input
|
|
addgroup ps5 seat
|
|
echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/wheel
|
|
|
|
# Auto-start weston on tty1 login
|
|
{
|
|
echo 'if [ "$(tty)" = "/dev/tty1" ] && [ -z "$WAYLAND_DISPLAY" ]; then'
|
|
echo ' export XDG_RUNTIME_DIR="/tmp/xdg-runtime-$(id -u)"'
|
|
echo ' mkdir -p "$XDG_RUNTIME_DIR"'
|
|
echo ' chmod 700 "$XDG_RUNTIME_DIR"'
|
|
echo ' exec weston --backend=drm-backend.so'
|
|
echo 'fi'
|
|
} >> /home/ps5/.bash_profile
|
|
chown -R ps5:ps5 /home/ps5
|
|
|
|
mkdir -p /boot/efi
|
|
|
|
mappings:
|
|
architecture_map: alpinelinux
|