Bug 53410

Summary: Не работают busybox reboot, poweroff, halt
Product: Sisyphus Reporter: Artem Varaksa <varaksaaa>
Component: busyboxAssignee: Vitaly Chikunov <vt>
Status: RESOLVED LATER QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: antohami, vt
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
busybox-reboot.strace.txt
none
busybox-poweroff.strace.txt
none
busybox-halt.strace.txt none

Description Artem Varaksa 2025-03-12 12:48:07 MSK
Created attachment 17955 [details]
busybox-reboot.strace.txt

Шаги
====

По ssh или в tty:

# busybox reboot
# busybox poweroff
# busybox halt

Фактический результат
=====================

Ничего не происходит. Команды завершаются успешно и ничего не выводят.

strace прикреплён.

Ожидаемый результат
===================

Перезагрузка, выключение, остановка системы.

Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[p11+377443] [sisyphus] ALT Server 11.0 beta20250213 x86_64
busybox-1.37.0-alt1.x86_64

[p11] ALT Workstation 11.0 beta20250213 x86_64
busybox-1.36.1-alt1.x86_64
Comment 1 Artem Varaksa 2025-03-12 12:48:26 MSK
Created attachment 17956 [details]
busybox-poweroff.strace.txt
Comment 2 Artem Varaksa 2025-03-12 12:48:36 MSK
Created attachment 17957 [details]
busybox-halt.strace.txt
Comment 3 Vitaly Chikunov 2025-03-12 23:27:27 MSK
busybox не заменяет всю систему, это минималистичная утилита для работы в ограниченной среде - initrd, контейнеров или для rescue. Философия busybox предоставлять только минимум необходимого функционала без удобств и 100% совместимости с полной системой - тот функционал который он предоставляет можно использовать если использовать правильно.

Данное поведение as intended - поддержки sysv/systemd нет так как есть поддержка bbox init, которая более важна - а если у вас есть полная система, то вам не нужен минималистичный функционал busybox.

[Однако, для чего-то может быть полезно сделать совместимость в будущих версиях, добавлю это в todo.]

Сейчас можно сделать ребут добавив опцию -f (которая обходит init):

  busybox reboot -f