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 updated the task description. (Show Details)Jan 12 2015, 11:32 PM
Patrick updated the task description. (Show Details)Jan 22 2015, 11:13 PM
Patrick edited projects, added Whonix 11; removed Whonix 10.Apr 4 2015, 2:07 PM
Patrick set Impact to Needs Triage.
Patrick updated the task description. (Show Details)Apr 21 2015, 10:07 AM
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 updated the task description. (Show Details)May 12 2015, 4:37 PM
Patrick updated the task description. (Show Details)May 12 2015, 4:39 PM
Patrick closed this task as Resolved.May 15 2015, 4:37 PM
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