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
+174
-23
No files matched your search
+52
-23
@@ -1,33 +1,62 @@
|
|||||||
FROM archlinux:latest
|
FROM archlinux:latest
|
||||||
|
|
||||||
# Install archiso and build dependencies
|
# Update and install archiso + OrionOS build dependencies
|
||||||
RUN pacman -Syu --noconfirm \
|
RUN pacman -Syu --noconfirm && \
|
||||||
archiso \
|
pacman -S --noconfirm \
|
||||||
base-devel \
|
archiso \
|
||||||
git \
|
base-devel \
|
||||||
libx11 \
|
git \
|
||||||
libxft \
|
libx11 \
|
||||||
libxfixes \
|
libxft \
|
||||||
dbus \
|
libxfixes \
|
||||||
libpng \
|
libxext \
|
||||||
feh \
|
libpng \
|
||||||
picom \
|
dbus \
|
||||||
libpam \
|
pam \
|
||||||
ttf-dejavu \
|
fontconfig \
|
||||||
xorg-server \
|
freetype2 \
|
||||||
xorg-xinit \
|
xorg-server \
|
||||||
xterm \
|
xorg-xinit \
|
||||||
notify-send-py \
|
feh \
|
||||||
&& pacman -Scc --noconfirm
|
picom \
|
||||||
|
alsa-utils \
|
||||||
|
ttf-dejavu \
|
||||||
|
noto-fonts \
|
||||||
|
pkgconf && \
|
||||||
|
pacman -Scc --noconfirm
|
||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
|
# Copy OrionOS source
|
||||||
COPY . /build/orionos
|
COPY . /build/orionos
|
||||||
|
|
||||||
# Build OrionOS components
|
# 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
|
# Install binaries into the staging root that archiso will include
|
||||||
RUN cp -r /build/orionos/iso/profile /tmp/orionos-profile
|
RUN cd /build/orionos && \
|
||||||
RUN mkarchiso -v -w /tmp/iso-work -o /output /tmp/orionos-profile
|
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"]
|
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