You are not logged in.
Are there any files in /run/udev/rules.d/?
Does copying the 85-hdparm file to /etc/udev/rules.d/ change anything?
(Those should take precedence over /lib/udev/rules.d/)
Also, you could try changing the loglevel in /etc/udev/udev.conf, probably start by uncommenting, and see what pops up in dmesg.
There are some udev config files in the initrd.img as well, but i'm not sure hdparm would be included in a standard initrd:
root@sybilla:~# lsinitramfs /boot/initrd.img-4.9.0-6-amd64 | grep udev
...
lib/udev/rules.d
lib/udev/rules.d/56-lvm.rules
lib/udev/rules.d/69-lvm-metad.rules
lib/udev/rules.d/50-udev-default.rules
lib/udev/rules.d/60-persistent-storage.rules
lib/udev/rules.d/80-drivers.rules
lib/udev/rules.d/55-dm.rules
lib/udev/rules.d/60-persistent-storage-dm.rules
...
It should be possible to add some custom x-org configuration file in /usr/share/X11/xorg.conf.d, based on xrandr settings?
emanym@sybilla:~$ ls /usr/share/X11/xorg.conf.d/
10-quirks.conf 40-libinput.conf 70-wacom.conf
If your card is too old for the amdgpu driver you would also need xserver-xorg-video-radeon
(Works for me, but my hardware is much older than yours , I think. (Radeon 5570))
You may need to install (non-free) firmware for the videocard:
apt-get install firmware-amd-graphics
I'm guessing X11-related binaries where in a /usr/bin/X11 or /usr/bin/X11R6 directory originally? Any old script or program might still expect to find something there...
According to my x11-common changelog:
xorg (6.8.2-34) breezy; urgency=low
...
* Move Xorg symlink from /usr/bin/X11 to /usr/bin, as the former is becoming
a symlink to the latter with the new x-common. Ditto X symlink.
...
-- Daniel Stone <daniel.stone@ubuntu.com> Mon, 27 Jun 2005 19:10:24 +1000
Took me a while to find that one too, there are many symlinks mentioned in those changelogs ;-)
What happens when you type:
bofh@sybilla:~$ ls /boot/
From the error appears a /boot/grub/ direcory doesn't exist on your system...
Either a /boot/ partition is not mounted, or grub is not installed (as bootloader) on your system (only a grub package)...
<standard disclaimer>
If the machine was rooted, you can't really trust any information it gives you, at the very least you would have to check things with the harddisk in an other computer with a known clean install...
</disclaimer>
I don't think there is a central file with all md5sums for all files from every package, that would be rather large...
Anyway,
1
md5 checksums for installed packeges are in /var/lib/dpkg/info/*md5sums
root@sybilla:/usr/src# cat /var/lib/dpkg/info/cryptsetup.md5sums
d7601c3ba089035ece91bcac56049fe7 lib/cryptsetup/askpass
0af8af57267ce774b654f463306304ea lib/cryptsetup/checks/blkid
e7b8f6fbc0dde4ce51901db4df751128 lib/cryptsetup/checks/ext2
743e38e5c3fdb18ba8b59817e0c3debe lib/cryptsetup/checks/swap
(but you can't really trust those anymore...)
2
You can extract the md5sums for installed files from a .deb package with:
dpkg-deb -e cryptsetup_2%3a1.7.3-4_amd64.deb cryptsetup-temp
oot@sybilla:/usr/src# head cryptsetup-temp/md5sums
d7601c3ba089035ece91bcac56049fe7 lib/cryptsetup/askpass
0af8af57267ce774b654f463306304ea lib/cryptsetup/checks/blkid
e7b8f6fbc0dde4ce51901db4df751128 lib/cryptsetup/checks/ext2
743e38e5c3fdb18ba8b59817e0c3debe lib/cryptsetup/checks/swap
You would have to download every package you have installed on the pc, and extract the control files...
3
You could find the md5sums for the files that are actually really on your disk with:
find -type f -exec md5sum {} \;
...
d7601c3ba089035ece91bcac56049fe7 ./cryptsetup/lib/cryptsetup/askpass
0af8af57267ce774b654f463306304ea ./cryptsetup/lib/cryptsetup/checks/blkid
e7b8f6fbc0dde4ce51901db4df751128 ./cryptsetup/lib/cryptsetup/checks/ext2
743e38e5c3fdb18ba8b59817e0c3debe ./cryptsetup/lib/cryptsetup/checks/swap
de97fc546de78c0b93d1d660fe91939b ./cryptsetup/lib/cryptsetup/checks/un_blkid
...
You could then compare the lists from 2 and 3, but it wouldn't really solve the "was it rooted" problem:
* a malicious file could be anywhere on your harddrive, have any name, etc..
* there are many ways to start something at boot time (/etc/inittab, custom /etc/init.d/*files...
It is probably less work to wipe and reinstall, but i guess that is not an option?
Heise/C'T magazin are entirely credible -- the magazine has been around since
the '80s and (still) offers high quality technical information.
Update today here:
https://www.heise.de/security/meldung/S … 43790.html
short summary:
patches and dislosure delayed
8 different advisories
affects not just pc/servers, but tablets, phones & embedded as well
most dangerous problem won't be fixed before august...
hth
Are the xorg libs really dependent on systemd?
systemd-logind.h pops up in the xorg-server source (a lot):
root@sybilla:/usr/src/xorg-server-1.19.2# egrep -R systemd *
...
hw/xfree86/common/xf86Init.c:#include "systemd-logind.h"
hw/xfree86/common/xf86Init.c: systemd_logind_init();
hw/xfree86/common/xf86Init.c: systemd_logind_fini();
...
but apparently it might still be possible to rebuild xorg without:
root@sybilla:/usr/src/xorg-server-1.19.2# head -n 13 debian/rules
#!/usr/bin/make -f
ifeq ($(DEB_HOST_ARCH_OS), linux)
selinux = --enable-xselinux
wayland = --enable-xwayland
logind = --enable-systemd-logind
systemd-daemon = --with-systemd-daemon
else
selinux = --disable-xselinux
wayland = --disable-xwayland
logind = --disable-systemd-logind
systemd-daemon = --without-systemd-daemon
endif
I may have a go at this later this week (just to see what i can break ofcourse).
That would add up to a 21 second sleep, i guess (6+5+ etc).
However,
for i in 1; do
should be valid shell syntax as well...
I do find having a pointless for loop rather offensive, though...
.. edit ..
Actually, just looked at the man page, and the gnu coreutils version of sleep handles floating point numbers:
me@sybilla:~$ time for i in 0.001 0.002 0.003; do sleep $i; done
real 0m0.014s
user 0m0.000s
sys 0m0.000s
So using something like
for i in 0.001; do
should be reasonably fast anyway...
You can (kindof) ''f1x0r'' this by replacing lines 764-784 in /lib/cryptsetup/cryptdisk.functions with the old version from devuan jessie:
# Removes all mappings in crypttab
do_stop () {
local dst src key opts opencount major minor
dmsetup mknodes
log_action_begin_msg "Stopping $INITSTATE crypto disks"
egrep -v "^[[:space:]]*(#|$)" "$TABFILE" | while read dst src key opts; do
for i in 1 2 4 8 16 32; do
handle_crypttab_line_stop "$dst" "$src" "$key" "$opts" <&3 && break || ret=$?
if [ $ret -eq 1 ] || [ $ret -eq 2 -a $i -gt 16 ]; then
log_action_end_msg $ret
break
fi
log_action_cont_msg "$dst busy..."
sleep $i
done 3<&1
done
log_action_end_msg 0
}
to:
# Removes all mappings in crypttab
do_stop () {
local dst src key opts opencount major minor
dmsetup mknodes
log_action_begin_msg "Stopping $INITSTATE crypto disks"
egrep -v "^[[:space:]]*(#|$)" "$TABFILE" | while read dst src key opts; do
handle_crypttab_line_stop "$dst" "$src" "$key" "$opts" <&3 || log_action_end_msg $?
done 3<&1
log_action_end_msg 0
}
I'm not sure this is safe (or sane). It will still fail, but quickly...
Changing the timeouts (for i in 1 2 4 8 16 32) may be cleaner.