From 21828990c4cc2d9e9d00be06c705440e4ebf2576 Mon Sep 17 00:00:00 2001 From: Daniel Hammer Date: Sat, 29 Aug 2026 19:10:35 +0200 Subject: [PATCH] cleanup: remove redundant shutdown.elf, update shell help/completions --- programs/src/shell/builtins.cpp | 4 ++-- programs/src/shell/shell.h | 8 +++++++- programs/src/shutdown/main.cpp | 24 ------------------------ 3 files changed, 9 insertions(+), 27 deletions(-) delete mode 100644 programs/src/shutdown/main.cpp diff --git a/programs/src/shell/builtins.cpp b/programs/src/shell/builtins.cpp index 522b423..9170d64 100644 --- a/programs/src/shell/builtins.cpp +++ b/programs/src/shell/builtins.cpp @@ -66,8 +66,8 @@ void cmd_help() { montauk::print(" uptime Show uptime\n"); montauk::print(" clear Clear the screen\n"); montauk::print(" fontscale [n] Set terminal font scale (1-8)\n"); - montauk::print(" reset Reboot the system\n"); - montauk::print(" shutdown Shut down the system\n"); + montauk::print(" shutdown Shut down the system (poweroff, halt)\n"); + montauk::print(" reboot Reboot the system (reset)\n"); montauk::print(" suspend Suspend the system\n"); montauk::print("\n"); montauk::print("Network commands:\n"); diff --git a/programs/src/shell/shell.h b/programs/src/shell/shell.h index 1b3c4d1..f94896f 100644 --- a/programs/src/shell/shell.h +++ b/programs/src/shell/shell.h @@ -145,5 +145,11 @@ constexpr const char* shell_builtins[] = { "unset", "true", "false", - "exit" + "exit", + "shutdown", + "poweroff", + "halt", + "reboot", + "reset", + "suspend" }; diff --git a/programs/src/shutdown/main.cpp b/programs/src/shutdown/main.cpp deleted file mode 100644 index 5835477..0000000 --- a/programs/src/shutdown/main.cpp +++ /dev/null @@ -1,24 +0,0 @@ -/* - * main.cpp - * shutdown - Shut down the system - * Copyright (c) 2025-2026 Daniel Hammer -*/ - -#include - -extern "C" void _start() { - montauk::print("Shutting down...\n"); - // This low-level utility bypasses the login graceful-shutdown view, so flush - // pending writes and unmount disk-backed volumes here before powering off. - int sync_rc = montauk::fs_sync(); - if (sync_rc == montauk::abi::SYS_ERR_PERMISSION) { - montauk::print("shutdown: permission denied\n"); - montauk::exit(1); - } - int rc = montauk::shutdown(); - if (rc == montauk::abi::SYS_ERR_PERMISSION) - montauk::print("shutdown: permission denied\n"); - else - montauk::print("shutdown: power-off failed\n"); - montauk::exit(1); -}