Page MenuHomePhabricator

implement rads (ram adjusted desktop starter) systemd unit
Closed, ResolvedPublic

Description

Introduction:

rads stands for RAM Adjusted Desktop Starter


Issues:

  • rads forces to keep tty0 open -> solved in rads systemd branch
  • rads tty0 still running after it started a graphical login manager (creates confusion: bug report) -> solved in rads systemd branch
  • rads is broken on jessie that uses systemd -> TODO

Solution:

A good approach to solve this could be to run rads before getty using systemd. [1]


TODO:

  • /usr/lib/ram_adjusted_desktop_starter/ram_adjusted_desktop_starter needs to be started by a systemd unit before getty
  • it needs to have stdout connected, so users can read output by rads
  • it needs to have stdin connected, so users can interact with rads
  • output by other boot processes should not mix up with output by rads
  • build upon the rads systemd branch, because it already solves most of above issues

Footnotes:

[1] Could work similar as whonix-initializer systemd unit:
https://github.com/Whonix/whonix-initializer/blob/master/lib/systemd/system/whonix-initializer.service
(whonix-initializer runs as an "app" during first boot. Its systemd unit is configured to wait until whonix-initializer finished.)


Bounty too low?:

  1. Go to https://www.bountysource.com/issues/14466761-implement-rads-ram-adjusted-desktop-starter-systemd-unit
  2. Click on "Developers"
  3. Click on "Get Started"
  4. Select Status "Bounty too low"
  5. Enter your offer and press "Save".

Mirrored from:
https://phabricator.whonix.org/T57


Mirrored to:
https://github.com/Whonix/rads/issues/1


On bountysource:
https://www.bountysource.com/issues/14466761-implement-rads-ram-adjusted-desktop-starter-systemd-unit

Details

Impact
High

Event Timeline

JasonJAyalaP raised the priority of this task from to Normal.
JasonJAyalaP updated the task description. (Show Details)
JasonJAyalaP added projects: bug, usability, security.
JasonJAyalaP added a subscriber: JasonJAyalaP.
Patrick renamed this task from ram adjusted desktop starter & tty1 to implement rads (ram adjusted desktop starter) as systemd unit.Jan 12 2015, 11:06 PM
Patrick updated the task description. (Show Details)
Patrick set Impact to Needs Triage.
Patrick renamed this task from implement rads (ram adjusted desktop starter) as systemd unit to implement rads (ram adjusted desktop starter) systemd unit.May 12 2015, 1:39 PM
Patrick updated the task description. (Show Details)
Patrick added a project: bounty.
Patrick changed Impact from Needs Triage to High.
Patrick added a subscriber: HulaHoop.
Patrick claimed this task.
Patrick removed projects: bountysource, bounty.

Done, ported to systemd; refactoring - https://phabricator.whonix.org/T57:
https://github.com/Whonix/rads/commit/4d6de0073440f3d91e1f95f9069b555fa1c38a7f

Improved implementation. When there is enough RAM... On 'enter': instantly start login manager. On 'ctrl + c': instantly abort and do not start login manager. On 'timeout': start login manager. Thanks to 'dh_systemd_start --no-start' we can now use 'StandardInput=tty' and 'read' instead of 'systemd-ask-password'. Now we could even implement an interactive menu at boot (that allows to configure wait time and/or disabling rads). - https://phabricator.whonix.org/T57:
https://github.com/Whonix/rads/commit/c8c94c3dfe625dee62bd0fcbe76c5480d4e94056