Hallo,
nach Download und Install von BM2LTS_V2.79_RC8_Route66_Release auf meiner 2. Reelbox hier eine größere Liste an Verbesserungsvorschlägen und Fixes, damit die Box rund läuft. Tw. sind es wohl Überbleibsel vom ReelMultimedia-Setup, tw. auch Umstellungsprobleme von rc.d auf upstart.
Die meisten davon dürften unabhängig von der Hardware sein. Man erkennt die übrigens erst so richtig, wenn man das graphische Booten abstellt bzw. das Syslogging kontrolliert.
Texte sind auf Englisch von meiner internen Doku, hoffe, das ist ok.
Viel Erfolg beim Implementieren, danach bootet die Box auch um einiges schneller...
Diagnose-Modus:
- Disable quiet boot by editing /etc/default/grub
Diff
--- /etc/default/grub.orig 2015-08-27 08:49:03.267228622 +0200
+++ /etc/default/grub 2015-08-27 08:50:44.506309738 +0200
@@ -8,12 +8,12 @@
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
#GRUB_SAVEDEFAULT=true
GRUB_DISABLE_LINUX_UUID="true"
-export GRUB_BACKGROUND="/boot/grub/images/black_hd.jpg"
+#export GRUB_BACKGROUND="/boot/grub/images/black_hd.jpg"
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
Alles anzeigen
- Generate new grub config and disable plymouth services
Code
# grub-mkconfig >/boot/grub/grub.cfg
# for service in /etc/init/plymouth*.conf; do mv $service $service.unused; done
- Disable console clear by adding –noclear to /etc/init/console.conf, /etc/init/tty1.conf
Code
# perl -pi.orig -e 's/getty (--noclear)?/getty --noclear/' /etc/init/console.conf
# perl -pi.orig -e 's/getty (--noclear)?/getty --noclear/' /etc/init/tty1.conf
Patching
- Fix /etc/init/reelvdr.conf
- prevent restart during shutdown/reboot
Diff
--- /etc/init/reelvdr.conf.orig 2015-08-27 22:36:44.164447725 +0200
+++ /etc/init/reelvdr.conf 2015-08-28 08:24:20.908027092 +0200
@@ -6,7 +6,13 @@
# and prepared-mediadevice
start on ( local-filesystems
- and started reelbox-control )
+ and started reelbox-control
+ and starting networking
+ )
+stop on ( runlevel [!23]
+ and stopping reelbox-control
+ )
+
#console output
#expect fork
Alles anzeigen
- Fix /usr/sbin/xorg-einrichten.sh
- strange text found
Diff
--- /usr/sbin/xorg-einrichten.sh.orig 2015-08-29 11:52:10.596983584 +0200
+++ /usr/sbin/xorg-einrichten.sh 2015-08-29 11:52:43.253917782 +0200
@@ -19,7 +19,7 @@
if [ $device_id = 10027910 ]
then
cp /etc/X11/xorg.conf.radeon /etc/X11/xorg.conf
-<------> echo 'xorg.conf Reelbox Avantgarde 2 eingerichtet.'
+ echo 'xorg.conf Reelbox Avantgarde 2 eingerichtet.'
else
#Intel NUC 54250WYK(H)
if [ $device_id = 80860a04 ]
Alles anzeigen
- Fix /usr/sbin/reelvdrd
- catch missing /tmp/vdr.wakeup
Code
@@ -279,6 +300,7 @@
# Tell FP to wakeup at x
# TODO: make calls for non-reelbox-fp
if [ "$1" = "" ]; then
+ [ ! -r /tmp/vdr.wakeup ] && return
wakeuptime=`cat /tmp/vdr.wakeup`
else
wakeuptime=$1
@@ -579,6 +600,8 @@
let dstandbytime=$now+$MAX_IDLE_TIME
Syslog "DEBUG: MAX_IDLE_TIME: $MAX_IDLE_TIME, dstandbytime: $dstandbytime"
+
+ if [ -r /tmp/vdr.wakeup ]; then
wakeup=`cat /tmp/vdr.wakeup`
if [ `date +%s` -ge $wakeup ]; then
@@ -586,6 +609,7 @@
rm /tmp/vdr.standby /tmp/vdr.shutdown /tmp/vdr.deepstandby
TIMER_WAKEUP="--timerwakeup"
fi
+ fi
if [ ! -f /tmp/vdr.deepstandby ]; then
@@ -599,6 +623,7 @@
while [ -e /tmp/vdr.standby ] ; do
RbMini && FPSetStandby
# Allow changes of wakeuptime
+ if [ -r /tmp/vdr.wakeup ]; then
wakeup=`cat /tmp/vdr.wakeup`
now=`date +%s`
if [ $now -ge $wakeup ]; then
@@ -606,6 +631,7 @@
rm /tmp/vdr.standby /tmp/vdr.shutdown /tmp/vdr.deepstandby
TIMER_WAKEUP="--timerwakeup"
fi
+ fi
if [ $DS_ENABLE = yes ] && [ $now -ge $dstandbytime ]; then
Syslog "time for deep-standby reached."
Alles anzeigen
- Fix /usr/sbin/fpleds
- catch missing /tmp/vdr.wakeup
Diff
--- /usr/sbin/fpleds.orig 2015-08-29 10:57:10.887195407 +0200
+++ /usr/sbin/fpleds 2015-08-29 10:59:11.918673836 +0200
@@ -136,7 +136,7 @@
# Main
#
-wakeup=$(cat /tmp/vdr.wakeup)
+wakeup=$([ -f /tmp/vdr.wakeup ] && cat /tmp/vdr.wakeup || echo "0")
if [ "$wakeup" = "2147483647" ] || [ "$wakeup" = "0" ] ; then
TOPTEXT=""
else
Alles anzeigen
- Fix /etc/init.d/sanitycheck-reel
- catch potential missing "ssh-vulnkey" binary
Diff
--- /etc/init.d/sanitycheck-reel.orig 2012-01-09 17:23:51.000000000 +0100
+++ /etc/init.d/sanitycheck-reel 2015-08-29 12:02:22.024641649 +0200
@@ -123,6 +123,8 @@
start)
log_daemon_msg "Doing sanity-checks (Startup)"
# delete compromised ssh_host_keys
+
+ if which ssh-vulnkey; then
if ssh-vulnkey | grep -q COMPROMISED ; then
echo delete compromised ssh_host_keys
for key in `ssh-vulnkey | grep COMPROMISED | cut -f4 -d" "` ; do
@@ -132,6 +134,7 @@
[ -f /usr/NX/home/nx/.ssh/known_hosts ] && rm -f /usr/NX/home/nx/.ssh/known_hosts
#sleep 120
fi
+ fi
configure_pending_packages >/dev/null 2>&1 &
Alles anzeigen
- Fix /etc/rc.local
- Disable (strange): chattr -i /etc/sfewfesfs*
- Disable remove of old log files
- Remove leftover line containing a MAC address (privacy issue)
- Disable aptitude calls (not a must imho to have this here)
- Fix /etc/cron.d/rbc
- Wrong permissions "(*system*rbc) INSECURE MODE (group/other writable) (/etc/cron.d/rbc)"
- Missing ">"
Diff
--- /tmp/rbc 2015-08-30 10:02:51.384240888 +0200
+++ /etc/cron.d/rbc 2015-08-30 09:15:01.584770153 +0200
@@ -4,6 +4,6 @@
MAILTO=root
-*/5 * * * * root if [ -x /opt/rbc/bin/records.pl ]; then cd /opt/rbc/bin/ && nice -n 19 ./records.pl >/dev/null 2&1; fi
-*/5 * * * * root if [ -x /opt/rbc/bin/epg.pl ]; then cd /opt/rbc/bin/ && ./epg.pl >/dev/null 2&1; fi
-1,2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,21,22,23,24,26,27,28,29,31,32,33,34,36,37,38,39,41,42,43,44,46,47,48,49,51,52,53,54,56,57,58,59 * * * * root if [ -x /opt/rbc/bin/epg.pl ]; then cd /opt/rbc/bin/ && nice -n 19 ./epg.pl --housekeeping >/dev/null 2&1; fi
+*/5 * * * * root if [ -x /opt/rbc/bin/records.pl ]; then cd /opt/rbc/bin/ && nice -n 19 ./records.pl >/dev/null 2>&1; fi
+*/5 * * * * root if [ -x /opt/rbc/bin/epg.pl ]; then cd /opt/rbc/bin/ && ./epg.pl >/dev/null 2>&1; fi
+1,2,3,4,6,7,8,9,11,12,13,14,16,17,18,19,21,22,23,24,26,27,28,29,31,32,33,34,36,37,38,39,41,42,43,44,46,47,48,49,51,52,53,54,56,57,58,59 * * * * root if [ -x /opt/rbc/bin/epg.pl ]; then cd /opt/rbc/bin/ && nice -n 19 ./epg.pl --housekeeping >/dev/null 2>&1; fi
Alles anzeigen
- Fix munin
- Missing log directory "Can't open /var/log/munin/munin-update.log (Datei oder Verzeichnis nicht gefunden) at /usr/share/perl5/Log/Log4perl/Appender/File.pm line 103."
- Fix /etc/init.d/symlinks
- Catch missing /var/run/usbmount/mounts
Diff
--- /etc/init.d/remove-symlinks.orig 2015-08-29 12:44:51.546140709 +0200
+++ /etc/init.d/remove-symlinks 2015-08-29 12:45:19.543780907 +0200
@@ -25,6 +25,7 @@
stop)
export ACTION=remove
+ if [ -r /var/run/usbmount/mounts ]; then
cat /var/run/usbmount/mounts | while read line; do
export mountname=`echo $line | awk '{print $NF}'`
@@ -35,6 +36,7 @@
umount /media/$mountname
rmdir /media/$mountname
done
+ fi
;;
*)
Alles anzeigen
Service cleanup
- Deactivation of not necessary or not proper working srvices
- apport.conf: disable (privacy)
- sensord: no proper support of AVG II Mainboards
- tntnet: serves Ubuntu default page…
- apparmor: problem
- hddtemp: missing file /etc/hddtemp.db
- swapd: missing file /etc/swapd.conf
- gpm: usually no console mouse
- bftpd-server: usually not needed
- dropbear: not needed, openssh already running
- whoopsie: not really needed
- busybox: not needed if telnet is not needed
- umts-dialer: not needed
- postgresql-8.4: not used
- speech-dispatcher: not used
- saned: not used
- binfmt-support: not used
- sipwitch: not used
- xinetd: not used
- bluetooth: not used (except perhaps with wireless keyboard)?
- cups cups-browsed avahi-cups-reload : not used
- tftpd: not used
- clamav-daemon clamav-freshclam: not used
- stunnel4: not used
- pppd-dns: not used
- acpi-support: not used, also problem
Code
# for service in apport busybox whoopsie dropbear bftpd-server gpm swapd hddtemp apparmor umts-dialer tntnet postgresql-8.4 speech-dispatcher saned binfmt-support sipwitch xinetd bluetooth sensord cups cups-browsed tftpd clamav-daemon clamav-freshclam stunnel4 pppd-dns acpi-support; do update-rc.d $service disable; [ -f /etc/init/$service.conf ] && mv /etc/init/$service.conf /etc/init/$service.conf.unused; done
Fixing Problems
- Disable rc services since covered by upstart or are broken softlinks
- networking: "init_is_upstart not found (/etc/network/if-down.d/upstart)"
Code
# for service in cron mysql inputlirc reelvdr vncserver networking; do update-rc.d -f $service remove; done
- Disable mediaanalyzer and required MySQL database (binary missing)
Code
# mv /etc/init/mediaanalyzer.conf /etc/init/mediaanalyzer.conf.unused
# mv /etc/init/mysql.conf /etc/init/mysql.conf.unused
- Disable netcvupdate (reason: vdr crashes) - das kann ein lokales Problem bei mir sein...
Code
# cp -p /etc/reel/p.netcvupdate.conf /etc/reel/p.netcvupdate.conf.orig
# perl -pi -e 's/true/false/' /etc/reel/p.netcvupdate.conf
- Fix unexpected enabled eth2 in /etc/network/interfaces
- Adjust entries in /etc/exports
- remove unexpected default exports (hd1)
- remove leftover files
Need clarifications
- File /etc/init/test2.conf: "set ReelBox frontpanel LEDs and display"
- interface tun0 up and configured, reason unknown
Open issues
- snd_hda_intel: "azx_get_response
timeout, switching to polling mode: last cmd=0x000f0000", "Codec #0
probe error; disabling it…", "azx_get_response timeout, switching to
single_cmd mode: last cmd=0x000f0500"- Workaround: disable module
- Online upgrade via VDR broken (missing /usr/sbin/dpkg_pi_update, /usr/sbin/dpkg_pi_idle)