fix: v1.3.3 — firmware, fedimint perms, GRUB fallback, data dirs, Rust warnings
- Add firmware-linux-nonfree to ISO (fixes missing Realtek NIC firmware) - Pre-create nbxplorer/Main and btcpay/Main data directories - Fix fedimint data dir permissions (chmod 775 for non-root container) - GRUB GFX fallback: gfxpayload=keep + console fallback for incompatible hardware - Kill stale Chromium before kiosk restart (prevents duplicate processes) - Suppress Rust warnings: #[allow(dead_code)] on run_boot_reconciliation, #[allow(unused_assignments)] on history_dirty - Version bump to 1.3.3 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fea256c5a8
commit
9953a99010
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "archipelago"
|
||||
version = "1.3.2"
|
||||
version = "1.3.3"
|
||||
edition = "2021"
|
||||
description = "Archipelago Bitcoin Node OS - Native backend"
|
||||
authors = ["Archipelago Team"]
|
||||
|
||||
@ -409,6 +409,7 @@ fn container_boot_tier(name: &str) -> u8 {
|
||||
|
||||
/// Run the reconciliation script after boot to fix any config drift.
|
||||
/// Ensures all containers match their canonical specs from container-specs.sh.
|
||||
#[allow(dead_code)]
|
||||
pub async fn run_boot_reconciliation() {
|
||||
let script = "/home/archipelago/archy/scripts/reconcile-containers.sh";
|
||||
if !std::path::Path::new(script).exists() {
|
||||
|
||||
@ -491,6 +491,7 @@ pub fn spawn_health_monitor(state: Arc<StateManager>, data_dir: PathBuf) {
|
||||
// Load persistent restart history and seed the in-memory tracker
|
||||
let mut restart_history = RestartHistory::load(&data_dir).await;
|
||||
restart_history.seed_tracker(&mut tracker);
|
||||
#[allow(unused_assignments)]
|
||||
let mut history_dirty = false;
|
||||
|
||||
loop {
|
||||
|
||||
@ -289,6 +289,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
firmware-realtek \
|
||||
firmware-iwlwifi \
|
||||
firmware-misc-nonfree \
|
||||
firmware-linux-nonfree \
|
||||
intel-microcode \
|
||||
amd64-microcode \
|
||||
xorg \
|
||||
@ -2477,6 +2478,10 @@ rm -f /mnt/target/usr/share/initramfs-tools/hooks/live* 2>/dev/null || true
|
||||
|
||||
# Suppress os-prober warning in GRUB
|
||||
echo "GRUB_DISABLE_OS_PROBER=true" >> /mnt/target/etc/default/grub
|
||||
# GFX fallback for hardware without graphical GRUB support
|
||||
echo 'GRUB_GFXMODE=auto' >> /mnt/target/etc/default/grub
|
||||
echo 'GRUB_GFXPAYLOAD_LINUX=keep' >> /mnt/target/etc/default/grub
|
||||
echo 'GRUB_TERMINAL_OUTPUT=gfxterm' >> /mnt/target/etc/default/grub
|
||||
|
||||
# Install Archipelago GRUB theme on target system
|
||||
if [ -d "$BOOT_MEDIA/boot/grub/themes/archipelago" ]; then
|
||||
@ -2947,12 +2952,15 @@ fi
|
||||
set timeout=5
|
||||
set default=0
|
||||
|
||||
# Load font for graphical menu
|
||||
# Load font for graphical menu — fallback to text mode on hardware without gfxterm
|
||||
if loadfont ($root)/boot/grub/font.pf2; then
|
||||
set gfxmode=auto
|
||||
set gfxpayload=keep
|
||||
insmod gfxterm
|
||||
insmod png
|
||||
terminal_output gfxterm
|
||||
else
|
||||
terminal_output console
|
||||
fi
|
||||
|
||||
# Archipelago GRUB theme
|
||||
|
||||
@ -24,6 +24,10 @@ xset s noblank 2>/dev/null
|
||||
# Hide cursor
|
||||
unclutter -idle 3 -root &
|
||||
|
||||
# Kill any stale Chromium instances before starting
|
||||
pkill -u archipelago -f 'chromium.*kiosk' 2>/dev/null
|
||||
sleep 1
|
||||
|
||||
# Run Chromium as archipelago user in a restart loop
|
||||
while true; do
|
||||
sudo -u archipelago env DISPLAY=:0 HOME=/home/archipelago chromium --kiosk \
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "neode-ui",
|
||||
"private": true,
|
||||
"version": "1.3.2",
|
||||
"version": "1.3.3",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "./start-dev.sh",
|
||||
|
||||
@ -649,7 +649,7 @@ if ! $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -q archy-nbxplorer; the
|
||||
$DOCKER start archy-nbxplorer 2>/dev/null || true
|
||||
else
|
||||
log "Creating NBXplorer..."
|
||||
mkdir -p /var/lib/archipelago/nbxplorer
|
||||
mkdir -p /var/lib/archipelago/nbxplorer/Main
|
||||
$DOCKER run -d --name archy-nbxplorer --restart unless-stopped \
|
||||
--health-cmd="curl -sf http://localhost:32838/ || exit 1" --health-interval=120s --health-timeout=5s --health-retries=3 \
|
||||
--memory=$(mem_limit archy-nbxplorer) --network archy-net --network-alias archy-nbxplorer \
|
||||
@ -667,7 +667,7 @@ track_container "archy-nbxplorer"
|
||||
|
||||
if ! $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -q btcpay-server; then
|
||||
log "Creating BTCPay Server..."
|
||||
mkdir -p /var/lib/archipelago/btcpay
|
||||
mkdir -p /var/lib/archipelago/btcpay/Main
|
||||
$DOCKER run -d --name btcpay-server --restart unless-stopped \
|
||||
--health-cmd="curl -sf http://localhost:49392/ || exit 1" --health-interval=120s --health-timeout=5s --health-retries=3 \
|
||||
--memory=$(mem_limit btcpay-server) --network archy-net --network-alias btcpay-server \
|
||||
@ -739,6 +739,7 @@ track_container "lnd"
|
||||
if ! $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -q fedimint; then
|
||||
log "Creating Fedimint..."
|
||||
mkdir -p /var/lib/archipelago/fedimint
|
||||
chmod 775 /var/lib/archipelago/fedimint # fedimint container runs as non-root
|
||||
$DOCKER run -d --name fedimint --restart unless-stopped \
|
||||
--health-cmd="curl -sf http://localhost:8174/ || exit 1" --health-interval=120s --health-timeout=5s --health-retries=3 \
|
||||
--memory=$(mem_limit fedimint) --network archy-net --network-alias fedimint \
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user