Complete archiso profile for OrionOS ISO build
- iso/profile/profiledef.sh: archiso profile with BIOS+UEFI bootmodes - iso/profile/packages.x86_64: full package list (X11, audio, OrionOS deps) - iso/profile/pacman.conf: pacman config for archiso - iso/profile/airootfs/: live overlay (xinitrc, hostname, skel) - iso/docker/Dockerfile: builds OrionOS from source, installs into airootfs, runs mkarchiso
This commit is contained in:
8 files changed
+165
-14
No files matched your search
+43
-14
@@ -1,33 +1,62 @@
|
||||
FROM archlinux:latest
|
||||
|
||||
# Install archiso and build dependencies
|
||||
RUN pacman -Syu --noconfirm \
|
||||
# Update and install archiso + OrionOS build dependencies
|
||||
RUN pacman -Syu --noconfirm && \
|
||||
pacman -S --noconfirm \
|
||||
archiso \
|
||||
base-devel \
|
||||
git \
|
||||
libx11 \
|
||||
libxft \
|
||||
libxfixes \
|
||||
dbus \
|
||||
libxext \
|
||||
libpng \
|
||||
feh \
|
||||
picom \
|
||||
libpam \
|
||||
ttf-dejavu \
|
||||
dbus \
|
||||
pam \
|
||||
fontconfig \
|
||||
freetype2 \
|
||||
xorg-server \
|
||||
xorg-xinit \
|
||||
xterm \
|
||||
notify-send-py \
|
||||
&& pacman -Scc --noconfirm
|
||||
feh \
|
||||
picom \
|
||||
alsa-utils \
|
||||
ttf-dejavu \
|
||||
noto-fonts \
|
||||
pkgconf && \
|
||||
pacman -Scc --noconfirm
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# Copy OrionOS source
|
||||
COPY . /build/orionos
|
||||
|
||||
# Build OrionOS components
|
||||
RUN cd /build/orionos && make && make install
|
||||
RUN cd /build/orionos && make 2>&1 | tail -20
|
||||
|
||||
# Copy archiso profile and build the ISO
|
||||
RUN cp -r /build/orionos/iso/profile /tmp/orionos-profile
|
||||
RUN mkarchiso -v -w /tmp/iso-work -o /output /tmp/orionos-profile
|
||||
# Install binaries into the staging root that archiso will include
|
||||
RUN cd /build/orionos && \
|
||||
install -Dm755 wm/orionwm /build/orionos/iso/profile/airootfs/usr/local/bin/orionwm && \
|
||||
install -Dm755 deskbar/oriondeskbar /build/orionos/iso/profile/airootfs/usr/local/bin/oriondeskbar && \
|
||||
install -Dm755 launcher/orionlauncher /build/orionos/iso/profile/airootfs/usr/local/bin/orionlauncher && \
|
||||
install -Dm755 themes/orionwallpaper /build/orionos/iso/profile/airootfs/usr/local/bin/orionwallpaper && \
|
||||
install -Dm755 orionnotify/orionnotify /build/orionos/iso/profile/airootfs/usr/local/bin/orionnotify && \
|
||||
install -Dm755 orionlock/orionlock /build/orionos/iso/profile/airootfs/usr/local/bin/orionlock && \
|
||||
install -Dm755 orionshot/orionshot /build/orionos/iso/profile/airootfs/usr/local/bin/orionshot && \
|
||||
install -Dm755 orionclip/orionclip /build/orionos/iso/profile/airootfs/usr/local/bin/orionclip && \
|
||||
install -Dm755 orionpkg/orionpkg /build/orionos/iso/profile/airootfs/usr/local/bin/orionpkg && \
|
||||
cp -r themes/OrionOS /build/orionos/iso/profile/airootfs/usr/share/themes/ && \
|
||||
install -Dm644 themes/picom.conf /build/orionos/iso/profile/airootfs/etc/orionos/picom.conf
|
||||
|
||||
# Generate default wallpaper
|
||||
RUN mkdir -p /build/orionos/iso/profile/airootfs/usr/share/orionos/wallpapers && \
|
||||
bash /build/orionos/themes/wallpapers/generate-default.sh 2>/dev/null && \
|
||||
cp -f /build/orionos/themes/wallpapers/orionos-default.png \
|
||||
/build/orionos/iso/profile/airootfs/usr/share/orionos/wallpapers/ 2>/dev/null || true
|
||||
|
||||
# Build the ISO
|
||||
RUN mkarchiso -v \
|
||||
-w /tmp/iso-work \
|
||||
-o /output \
|
||||
/build/orionos/iso/profile
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
@@ -0,0 +1 @@
|
||||
orionos
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# OrionOS live session autostart
|
||||
|
||||
picom --config /etc/orionos/picom.conf &
|
||||
orionwallpaper &
|
||||
orionnotify &
|
||||
orionclip &
|
||||
oriondeskbar &
|
||||
exec orionwm
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
source /etc/orionos/xinitrc
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
source /etc/orionos/xinitrc
|
||||
@@ -0,0 +1,72 @@
|
||||
# OrionOS live system packages
|
||||
|
||||
# Base system
|
||||
base
|
||||
linux
|
||||
linux-firmware
|
||||
mkinitcpio
|
||||
|
||||
# X11
|
||||
xorg-server
|
||||
xorg-xinit
|
||||
xorg-xrandr
|
||||
xorg-xsetroot
|
||||
xorg-xev
|
||||
|
||||
# Fonts
|
||||
ttf-dejavu
|
||||
noto-fonts
|
||||
ttf-liberation
|
||||
|
||||
# Dependencies for OrionOS components
|
||||
libx11
|
||||
libxft
|
||||
libxfixes
|
||||
libxext
|
||||
libpng
|
||||
dbus
|
||||
libpam
|
||||
fontconfig
|
||||
freetype2
|
||||
|
||||
# Desktop utilities
|
||||
feh
|
||||
picom
|
||||
xterm
|
||||
libnotify
|
||||
|
||||
# Audio
|
||||
alsa-utils
|
||||
pulseaudio
|
||||
|
||||
# Brightness
|
||||
light
|
||||
|
||||
# Media playback control
|
||||
playerctl
|
||||
|
||||
# Arch tools
|
||||
pacman-contrib
|
||||
pkexec
|
||||
polkit
|
||||
|
||||
# System tools
|
||||
bash
|
||||
coreutils
|
||||
util-linux
|
||||
procps-ng
|
||||
grep
|
||||
gawk
|
||||
sed
|
||||
tar
|
||||
gzip
|
||||
|
||||
# Network
|
||||
networkmanager
|
||||
dhcpcd
|
||||
|
||||
# Misc
|
||||
git
|
||||
vim
|
||||
less
|
||||
which
|
||||
@@ -0,0 +1,14 @@
|
||||
[options]
|
||||
HoldPkg = pacman glibc
|
||||
Architecture = auto
|
||||
CheckSpace
|
||||
ParallelDownloads = 5
|
||||
|
||||
[core]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[extra]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
# archiso profile definition for OrionOS
|
||||
|
||||
iso_name="OrionOS"
|
||||
iso_label="ORIONOS_$(date +%Y%m)"
|
||||
iso_publisher="OrionOS Project"
|
||||
iso_application="OrionOS Live"
|
||||
iso_version="$(date +%Y.%m)"
|
||||
install_dir="arch"
|
||||
buildmodes=('iso')
|
||||
bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito'
|
||||
'uefi-ia32.grub.esp' 'uefi-x64.grub.esp'
|
||||
'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito')
|
||||
arch="x86_64"
|
||||
pacman_conf="pacman.conf"
|
||||
airootfs_image_type="squashfs"
|
||||
airootfs_image_tool_options=('-comp' 'zstd' '-Xcompression-level' '15')
|
||||
file_permissions=(
|
||||
["/etc/orionos/xinitrc"]="0:0:755"
|
||||
["/root/.xinitrc"]="0:0:755"
|
||||
["/etc/skel/.xinitrc"]="0:0:755"
|
||||
)
|
||||
Reference in new issue
Block a user