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:
1 parent
1340bf012c
commit
33ae437b5b
3 files changed
+25
-5
No files matched your search
@@ -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 },
|
||||||
|
|||||||
+23
-4
@@ -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
|
||||||
/ /mnt/
|
# /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/
|
||||||
|
fi
|
||||||
ok "Files copied."
|
ok "Files copied."
|
||||||
|
|
||||||
# ── 5. fstab ─────────────────────────────────────────────────────────
|
# ── 5. fstab ─────────────────────────────────────────────────────────
|
||||||
|
|||||||
@@ -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" },
|
||||||
|
|||||||
Reference in new issue
Block a user