Fix installer copy step; fix stale skyinstall references

Installer copy (installer/orioninstall):
- Root cause: rsync -ax / /mnt/ copies the overlayfs live root, which
  is slow, unpredictable, and hangs in VMs with overlapping filesystems
- Fix: copy from /run/archiso/airootfs instead (the squashfs is already
  mounted there on every archiso live boot). This is the clean base system,
  avoids the cow layer entirely, and is significantly faster.
- Added -H -A -X -S flags for proper hard-link, ACL, xattr, sparse-file handling
- Fallback to live-root rsync if the squashfs mount isn't present
- Also renamed EFI partition label SKYEFI → ORIONEFI

Discoverability (deskbar + wm):
- deskbar "Install OrionOS" was calling 'sudo skyinstall' (old name) — fixed
  to 'sudo orioninstall-gui || sudo orioninstall' with GUI-first fallback
- Right-click desktop menu now also has "Install OrionOS" entry
  (was only in the deskbar hamburger menu before)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-07-23 15:51:44 -04:00
1 parent 1340bf012c
commit 33ae437b5b
3 files changed
+24 -4

No files matched your search

+1 -1
View File
@@ -572,7 +572,7 @@ static const char *S1_CMD[] = {
#define NS1 5 #define NS1 5
static const MI MENU[] = { static const MI MENU[] = {
{ "Install OrionOS...", "alacritty -e bash -c 'sudo skyinstall; exec bash' &", 0, 0,-1 }, { "Install OrionOS...", "alacritty -e bash -c 'sudo orioninstall-gui 2>/dev/null || sudo orioninstall; exec bash' &", 0, 0,-1 },
{ NULL, NULL, 1, 0,-1 }, { NULL, NULL, 1, 0,-1 },
{ "Applications", NULL, 0, 1, 0 }, { "Applications", NULL, 0, 1, 0 },
{ "Settings", NULL, 0, 1, 1 }, { "Settings", NULL, 0, 1, 1 },
+22 -3
View File
@@ -141,7 +141,7 @@ ok "Partitioned."
progress 10 "Formatting partitions…" progress 10 "Formatting partitions…"
info "Formatting..." info "Formatting..."
if [[ "$BOOT_MODE" == "uefi" ]]; then if [[ "$BOOT_MODE" == "uefi" ]]; then
mkfs.fat -F32 -n SKYEFI "$EFI_PART" mkfs.fat -F32 -n ORIONEFI "$EFI_PART"
ok "EFI: FAT32 ($EFI_PART)" ok "EFI: FAT32 ($EFI_PART)"
fi fi
mkfs.ext4 -L OrionOS "$ROOT_PART" mkfs.ext4 -L OrionOS "$ROOT_PART"
@@ -160,9 +160,28 @@ ok "Mounted."
# ── 4. Copy live system ─────────────────────────────────────────────── # ── 4. Copy live system ───────────────────────────────────────────────
progress 18 "Copying live system (this takes a few minutes)…" progress 18 "Copying live system (this takes a few minutes)…"
info "Copying live system to disk..." info "Copying live system to disk..."
rsync -ax \
--exclude={/proc,/sys,/dev,/run,/mnt,/media,/tmp,/lost+found} \ # On archiso live systems the squashfs is already mounted at
# /run/archiso/airootfs. Copy from there: it's the clean base system
# (no live-session overlay junk) and it's much faster and more reliable
# than rsyncing the overlayfs root.
SFS_ROOT="/run/archiso/airootfs"
if [[ -d "$SFS_ROOT" ]] && [[ -f "$SFS_ROOT/etc/os-release" ]]; then
info "Copying from squashfs mount at $SFS_ROOT..."
rsync -axHAXS "$SFS_ROOT/" /mnt/
else
info "Squashfs not found; falling back to live root copy..."
rsync -axHAXS \
--exclude=/proc/ \
--exclude=/sys/ \
--exclude=/dev/ \
--exclude=/run/ \
--exclude=/mnt/ \
--exclude=/media/ \
--exclude=/tmp/ \
--exclude=/lost+found \
/ /mnt/ / /mnt/
fi
ok "Files copied." ok "Files copied."
# ── 5. fstab ───────────────────────────────────────────────────────── # ── 5. fstab ─────────────────────────────────────────────────────────
+1
View File
@@ -18,6 +18,7 @@ static const MenuItem MENU_ITEMS[] = {
{ "Display Settings", "arandr &" }, { "Display Settings", "arandr &" },
{ "──────────────────", NULL }, { "──────────────────", NULL },
{ "Change Wallpaper", "orionwallpaper --reset &" }, { "Change Wallpaper", "orionwallpaper --reset &" },
{ "Install OrionOS", "alacritty -e bash -c 'sudo orioninstall-gui 2>/dev/null || sudo orioninstall; exec bash' &" },
{ "──────────────────", NULL }, { "──────────────────", NULL },
{ "Restart OrionWM", "pkill orionwm; sleep 0.2; orionwm &" }, { "Restart OrionWM", "pkill orionwm; sleep 0.2; orionwm &" },
{ "Quit OrionOS", "pkill orionwm" }, { "Quit OrionOS", "pkill orionwm" },