diff --git a/Manual.html b/Manual.html index 230fcb3..366ec03 100644 --- a/Manual.html +++ b/Manual.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +A User wants to install yaVDR without customization and relies on full automation. @@ -472,22 +483,22 @@ Several roles are used to tie everything together:
One of the major problems we faced with customized Ubuntu ISO files as installation media for prior yaVDR versions has been the limited hardware support and the time consuming process to create and update them. An interesting alternative to this approach is to enable the user to choose the installation medium himself so point releases, kernel versions and additional drivers can be chosen deliberately. After the basic setup is complete (and a working internet connection is available), a fully customizable install script completes the yaVDR installation.
This is an experimental feature which allows to set up a yaVDR installation based on a normal Ubuntu Server 16.04.x installation using Ansible. @@ -509,8 +520,8 @@ sudo ./install-yavdr.sh
if (( $EUID != 0 )); then @@ -533,12 +544,12 @@ ansible-playbook yavdr07.yml -b -i 'localhost_inventory
The yavdr07.yml
playbook sets up a fully-featured yaVDR installation:
@@ -553,6 +564,7 @@ The yavdr07.yml
playbook sets up a fully-featured yaVDR installatio
become: true
roles:
- yavdr-common # install and configure the basic system
+ - collect-facts # query system facts
- autoinstall-ubuntu-drivers # use ubuntu-drivers to install proprietary dirvers
# (e.g. nvidia, virtualbox)
# - nvidia-387 # install very recent nvidia-387 from ppa:graphics-drivers/ppa
@@ -571,6 +583,7 @@ The yavdr07.yml
playbook sets up a fully-featured yaVDR installatio
- autoinstall-hauppauge-pvr # install vdr-plugin-pvrinput if a matching card is found
- autoinstall-dvbsddevice # install vdr-plugin-dvbsddevice if a matching card is detected
- autoinstall-hardware-irmp # install yavdr-hardware-irmp if a matching usb device is detected
+ - autoinstall-dvbsky-firmware # download an install required firmware files for dvbsky cards
- kodi
- dvd # set up packages and a udev rule to allow kodi and other players
# to play and eject optical media
@@ -584,8 +597,8 @@ The yavdr07.yml
playbook sets up a fully-featured yaVDR installatio
For a headless server installation yavdr07-headless.yml
is a good choice
@@ -600,6 +613,7 @@ For a headless server installation yavdr07-headless.yml
is a good c
become: true
roles:
- yavdr-common
+ - collect-facts # query system facts
- vdr
- yavdr-network
- samba-server
@@ -616,8 +630,8 @@ For a headless server installation yavdr07-headless.yml
is a good c
This playbook can either be used to run the installation on the localhost or any other PC in the network that can be accessed via ssh. Simply add the host names or IP addresses to the hosts file in the respective section: @@ -631,12 +645,12 @@ This playbook can either be used to run the installation on the localhost or any
---
@@ -648,8 +662,8 @@ This playbook can either be used to run the installation on the localhost or any
branch: unstable
@@ -665,8 +679,8 @@ This playbook can either be used to run the installation on the localhost or any
# properties of the user vdr and vdr-related options @@ -693,8 +707,8 @@ This playbook can either be used to run the installation on the localhost or any
# dictionary of directories for (shared) files. Automatically exported via NFS and Samba if those roles are enabled @@ -709,8 +723,8 @@ This playbook can either be used to run the installation on the localhost or any
nfs:
@@ -719,8 +733,8 @@ This playbook can either be used to run the installation on the localhost or any
samba:
@@ -730,8 +744,8 @@ This playbook can either be used to run the installation on the localhost or any
# additional packages you want to install @@ -747,8 +761,8 @@ This playbook can either be used to run the installation on the localhost or any
frontend: vdr
@@ -762,20 +776,20 @@ This playbook can either be used to run the installation on the localhost or any
---
@@ -795,19 +809,19 @@ This playbook can either be used to run the installation on the localhost or any
install nvidia-387 from ppa:graphics-drivers/ppa
---
@@ -833,15 +847,15 @@ install nvidia-387 from ppa:graphics-drivers/ppa
This role is used to set up a basic yaVDR installation. It creates the directories, installs the vdr and other useful packages.
This section is for reference only, please use the files in global_vars
for customizations.
@@ -854,7 +868,7 @@ This section is for reference only, please use the files in global_vars
Automatically installed drivers can be very useful, but if you know you need a certain driver, you can simply set it’s value to true. If you don’t want a driver to be installed, set it’s value to false. @@ -884,7 +898,7 @@ Automatically installed drivers can be very useful, but if you know you need a c
Add additional packages you would like to have on your installation to this list @@ -898,7 +912,7 @@ Add additional packages you would like to have on your installation to this list
This section allows you to set the recording directory, the user and group that runs the vdr and it’s home directory. @@ -931,17 +945,31 @@ This section allows you to set the recording directory, the user and group that
yavdr-common executes the following tasks:
--- +# file: roles/yavdr-common/tasks/main.yml + +- name: basic installation + block: + - import_tasks: configure_apt.yml + - import_tasks: configure_system.yml + - import_tasks: create_directories.yml + tags: [install] ++
This task prevents apt to automatically install all recommended dependencies for packages: @@ -958,36 +986,9 @@ This task prevents apt to automatically install all recommended dependencies for
- name: use bash instead of dash - shell: | - echo "set dash/sh false" | debconf-communicate - dpkg-reconfigure -f noninteractive dash --
- name: disable release-upgrade notifications - lineinfile: - dest: /etc/update-manager/release-upgrades - backrefs: yes - state: present - regexp: '^(Prompt=).*$' - line: '\1never' --
- name: add PPAs apt_repository: repo: '{{ item }}' @@ -1003,7 +1004,34 @@ This task prevents apt to automatically install all recommended dependencies for
- name: use bash instead of dash + shell: | + echo "set dash/sh false" | debconf-communicate + dpkg-reconfigure -f noninteractive dash ++
- name: disable release-upgrade notifications + lineinfile: + dest: /etc/update-manager/release-upgrades + backrefs: yes + state: present + regexp: '^(Prompt=).*$' + line: '\1never' ++
- name: apt | install basic packages
@@ -1035,7 +1063,7 @@ This task prevents apt to automatically install all recommended dependencies for
- name: apt | install extra packages
@@ -1049,35 +1077,13 @@ This task prevents apt to automatically install all recommended dependencies for
- name: get information about usb and pci hardware and loaded kernel modules - hardware_facts: - usb: True - pci: True - modules: True - gpus: True - -- debug: - var: '{{ item }}' - verbosity: 1 - with_items: - - usb - - pci - - gpus - - modules --
{{ ansible_managed_file | comment('c') }} @@ -1089,17 +1095,53 @@ APT::Install-Suggests "0";
- name: get information about usb and pci hardware and loaded kernel modules + hardware_facts: + usb: True + pci: True + modules: True + gpus: True + acpi_power_modes: True + +- debug: + var: '{{ item }}' + verbosity: 1 + with_items: + - usb + - pci + - gpus + - modules + - acpi_power_modes ++
--- # file: roles/vdr/tasks/main.yml @@ -1117,8 +1159,8 @@ APT::Install-Suggests "0";
- name: add svdrp and svdrp-disc to /etc/services lineinfile: @@ -1132,8 +1174,8 @@ APT::Install-Suggests "0";
- name: create vdr recdir file: @@ -1168,8 +1210,8 @@ APT::Install-Suggests "0";
- name: ensure vdr is stopped
systemd:
@@ -1219,16 +1261,16 @@ The additional plugins to install can be set in the variable {{vdr_plugins
LIRC.Up KEY_UP LIRC.Down KEY_DOWN @@ -1362,8 +1404,8 @@ XKeySym.Next XF86AudioNext
# Remote control key macros for VDR # @@ -1388,22 +1430,22 @@ User0 @osdteletext
install_avahi: true
--- # this playbook sets up network services for a yaVDR installation @@ -1472,16 +1514,16 @@ User0 @osdteletext
---
@@ -1509,13 +1551,13 @@ User0 @osdteletext
/srv *(rw,fsid=0,sync,no_subtree_check,all_squash,anongid={{ vdr.gid }},anonuid={{ vdr.uid }})
{% for name, path in media_dirs.iteritems() %}
@@ -1525,8 +1567,8 @@ User0 @osdteletext
<?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> @@ -1546,16 +1588,16 @@ User0 @osdteletext
--- # This role is used to set up the yaVDR remote control configuration. @@ -1605,9 +1647,9 @@ User0 @osdteletext
{% if frontend != 'kodi' %} [vdr] @@ -1617,18 +1659,18 @@ User0 @osdteletext
---
@@ -1649,9 +1691,9 @@ User0 @osdteletext
# Use PulseAudio by default pcm.!default { @@ -1672,13 +1714,13 @@ User0 @osdteletext
The X-Server is started by using the two systemd units xlogin@.service
and x@.service
provided by the package xlogin. The former is enabled (and started) for the vdr user - which results (using the default settings for the user vdr with the uid 666) in the activation of xlogin@vdr.service
when reaching the graphical.target.
x@t7.service
is
---
# file: roles/yavdr-xorg/tasks/main.yml
@@ -1966,15 +2008,15 @@ In order to achive a clean shutdown of the session, x@t7.service
is
# file: roles/yavdr-xorg/templates/systemd/system/x-verbose@.service.j2
[Unit]
@@ -1989,8 +2031,8 @@ In order to achive a clean shutdown of the session, x@t7.service
is
[Unit]
Before=xlogin@{{ vdr.user }}.service
@@ -2010,8 +2052,8 @@ In order to achive a clean shutdown of the session, x@t7.service
is
# file: roles/yavdr-xorg/templates/vdr-xorg.conf
# {{ ansible_managed_file }}
@@ -2023,8 +2065,8 @@ In order to achive a clean shutdown of the session, x@t7.service
is
#!/bin/bash
# {{ ansible_managed_file }}
@@ -2033,8 +2075,8 @@ In order to achive a clean shutdown of the session, x@t7.service
is
Section "Device" Identifier "nvidia" @@ -2360,8 +2402,8 @@ EndSection -
[Service] Environment=XDG_RUNTIME_DIR=/run/user/{{ vdr.uid }}/ @@ -2370,10 +2412,10 @@ EndSection
[Unit]
Description=yaVDR Desktop
@@ -2386,8 +2428,8 @@ EndSection
[Unit] Description=Detect second DISPLAY using xrandr @@ -2402,8 +2444,8 @@ EndSection
[Unit] Description=Start openbox on the second DISPLAY if it exists @@ -2423,8 +2465,8 @@ EndSection
[Unit] Description=Start a kiosk browser on the second DISPLAY if it exists @@ -2444,8 +2486,8 @@ EndSection
[Unit] Description=Start tmux in detached session @@ -2463,8 +2505,8 @@ EndSection
[Unit] Description=exit window manager gracefully @@ -2482,10 +2524,10 @@ EndSection -
# forward environment variables to an environment file and the systemd user session env | grep "DISPLAY\|DBUS_SESSION_BUS_ADDRESS\|XDG_RUNTIME_DIR" > ~/.session-env @@ -2518,8 +2560,8 @@ systemctl --user isolate yavdr-desktop.target
<?xml version="1.0" encoding="UTF-8"?> <openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude"> @@ -3348,13 +3390,13 @@ systemctl --user isolate yavdr-desktop.target
--- # file: roles/samba-install/tasks/main.yml @@ -3375,13 +3417,13 @@ systemctl --user isolate yavdr-desktop.target
--- # file: roles/samba-config/tasks/main.yml @@ -3405,15 +3447,15 @@ systemctl --user isolate yavdr-desktop.target
{{ ansible_managed_file | comment }} @@ -3498,8 +3540,8 @@ systemctl --user isolate yavdr-desktop.target
{% for name, path in media_dirs.iteritems() %} [{{ name }}] @@ -3520,8 +3562,8 @@ systemctl --user isolate yavdr-desktop.target
include = /etc/samba/smb.conf.custom@@ -3533,16 +3575,16 @@ systemctl --user isolate yavdr-desktop.target
It would be nice to be able to detect if it is suitable to install those drivers:
Vendor-IDs:
@@ -3552,15 +3594,15 @@ Vendor-IDs: