2016-06: Retroactive Updates

* Added HW-Sensors alias and keyboard shortcut
* Added new packages to packages.both (from 2016.06 archiso update)
* Disabled gputests for i686 builds
* Errors would cause an incomplete line to be left in the log causing a false-positive
* HW-Diags will no longer upload results if the Ticket# starts with '0'
  * Added chmod flags to the rsync upload
* Initial work to add custom-repos
* Open GUI progs without entering a password (e.g. GParted)
* The wallpaper should now be loaded from the UFD.
  * Still need to move scripts or add a "settings" file
* mount-all-volumes now shows the mount-points while mounting (like running manually)
* photorec-sort 7z archive testing is currently stalling, disabled for now
This commit is contained in:
Alan Mason 2017-12-06 17:49:18 -08:00
parent 546a654c0f
commit 8e36a24f37
14 changed files with 83 additions and 69 deletions

View file

@ -45,7 +45,7 @@
# transition-duration = overrides default value
#
[greeter]
background=/usr/share/wallpaper/wallhaven-105688.png
background=/usr/share/wallpaper/current.png
#user-background=
theme-name=Numix
icon-theme-name=Numix-Circle-Light

View file

@ -0,0 +1,5 @@
polkit.addRule(function(action, subject) {
if (subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});

View file

@ -37,9 +37,8 @@
</property>
<property name="&lt;Super&gt;d" type="string" value="urxvt -T &quot;Hardware Diagnostics&quot; -e hw-diags"/>
<property name="&lt;Super&gt;s" type="string" value="urxvt -T &quot;Hardware Diagnostics&quot; -e hw-diags foh"/>
<property name="&lt;Super&gt;m" type="string" value="urxvt -T &quot;Mount all Volumes&quot; -e mount-all-volumes foh">
<property name="startup-notify" type="bool" value="true"/>
</property>
<property name="&lt;Super&gt;m" type="string" value="urxvt -T &quot;Mount all Volumes&quot; -e mount-all-volumes foh"/>
<property name="&lt;Super&gt;v" type="string" value="urxvt -T &quot;Temperature Sensors&quot; -e hw-diags-sensors"/>
<property name="&lt;Super&gt;t" type="string" value="exo-open --launch TerminalEmulator"/>
<property name="&lt;Super&gt;w" type="string" value="exo-open --launch WebBrowser"/>
<property name="&lt;Super&gt;x" type="string" value="xfce4-session-logout"/>

View file

@ -1,3 +1,5 @@
#!/bin/bash
sleep 5s && conky
sleep 2s && conky &
sleep 5s && killall conky
conky

View file

@ -159,5 +159,6 @@ ${hr}
[Super] + r${alignr}Run Dialog
[Super] + s${alignr}SMART Check
[Super] + t${alignr}Terminal
[Super] + v${alignr}View Temps
[Super] + w${alignr}Web Browser
[Super] + x${alignr}Logout

View file

@ -7,13 +7,13 @@ alias 7z7='7z a -t7z -mx=7'
alias 7z9='7z a -t7z -mx=9'
alias diff='colordiff' -ur
alias du='du -sch --apparent-size'
alias fidentify="/usr/bin/fidentify-wip$(getconf LONG_BIT)"
alias fix-perms='find -type d -exec chmod 755 "{}" \; && find -type f -exec chmod 644 "{}" \;'
alias less='less -S'
alias mkdir='mkdir -p'
alias mount='sudo mount'
alias mv='mv -nv'
alias photorec="sudo /usr/bin/photorec-wip$(getconf LONG_BIT)"
alias photorec="sudo photorec"
alias photorec-sort="sudo photorec-sort"
alias q1='clear && sudo ls -1'
alias q1a='clear && sudo ls -1A'
alias q='clear && sudo ls -lh'
@ -28,6 +28,6 @@ alias sdu='sudo du -sch --apparent-size'
alias srmdirs='find -depth -mindepth 1 -type d -exec sudo rmdir "{}" --ignore-fail-on-non-empty \;'
alias srs='sudo rsync -avhPS --stats --exclude-from="$HOME/.rsync_exclusions"'
alias srsz='sudo rsync -avhzPS --stats --exclude-from="$HOME/.rsync_exclusions"'
alias testdisk="sudo /usr/bin/testdisk-wip$(getconf LONG_BIT)"
alias testdisk="sudo testdisk"
alias umount='sudo umount'
alias unmount='sudo umount'

View file

@ -19,7 +19,7 @@ while :; do
echo "4: SMART"
echo "5: badblocks"
echo "────────────────────"
if [[ -n $DISPLAY ]]; then
if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
echo "6: Graphics Test - FurMark"
echo "7: Graphics Test - Piano"
echo "8: Graphics Test - Volplosion"
@ -55,17 +55,17 @@ while :; do
MODE=badblocks
break;;
6)
if [[ -n $DISPLAY ]]; then
if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
gputest /fullscreen /test=fur
fi
;;
7)
if [[ -n $DISPLAY ]]; then
if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
gputest /fullscreen /test=pixmark_piano
fi
;;
8)
if [[ -n $DISPLAY ]]; then
if [[ -n $DISPLAY ]] && [[ $(getconf LONG_BIT) -eq "64" ]]; then
gputest /fullscreen /test=pixmark_volplosion
fi
;;

View file

@ -2,15 +2,20 @@
#
## WK HW Diagnostics - Main script
# Get TICKET#
# Get TICKET
SKIP_UPLOAD=""
TICKET=""
while [[ "$TICKET" == "" ]]; do
if [[ "$1" == "foh" ]]; then
TICKET="foh-consult"
SKIP_UPLOAD="True"
else
echo -n "Please enter the Service Order #: "
read -r _ticket
if echo "$_ticket" | grep -Eq '^[0-9]+\S*$'; then
if echo "$_ticket" | grep -Eq '^[1-9]+\S*$'; then
TICKET="$_ticket"
elif echo "$_ticket" | grep -Eq '^0'; then
SKIP_UPLOAD="True"
TICKET="$_ticket"
fi
fi
@ -35,6 +40,7 @@ LOG="$TMP_DIR/hw-diags.log"
OUT="$TMP_DIR/hw-diags.out"
# Get list of drives to test (excluding any ARCH drives)
## Some code borrowed from stackoverflow.com/a/10020397
ARCH_DRIVES=($(ls -l /dev/disk/by-label | grep -iE 'ARCH.*[hs]d[a-z]' | sed -r 's#.*/([hs]d[a-z])[0-9]+#\1#' | sort | uniq))
DRIVES=($(inxi -Dxx -c 0 | grep -E "ID-[0-9]+" | sed -r 's#.*/dev/([hs]d[a-z]).*#\1#' | sort))
@ -42,34 +48,38 @@ for d in "${ARCH_DRIVES[@]}"; do
DRIVES=(${DRIVES[@]//*$d*})
done
# Connect to network
if ! ip a | grep -q '192.168.1'; then
# LAN
if ! ip l | grep -Eq '[0-9]+: +en'; then
## Reload the tg3/broadcom driver (known fix for some Dell systems)
echo "No wired network adapters found; reloading drivers..."
sudo modprobe -r tg3
sudo modprobe broadcom
sudo modprobe tg3
sleep 5s
fi
# WiFi
if ip l | grep -Eq '[0-9]+: +wl'; then
## Skip if we're already connected (e.g. the code above worked)
if ! ip a | grep -q '192.168.1'; then
echo "Attempting to connect to SomeWiFi..."
nmcli dev wifi con "SomeWiFi" password "Abracadabra"
# Handle testing runs
if [[ "$SKIP_UPLOAD" != "True" ]]; then
# Connect to network
if ! ip a | grep -q '192.168.1'; then
# LAN
if ! ip l | grep -Eq '[0-9]+: +en'; then
## Reload the tg3/broadcom driver (known fix for some Dell systems)
echo "No wired network adapters found; reloading drivers..."
sudo modprobe -r tg3
sudo modprobe broadcom
sudo modprobe tg3
sleep 5s
fi
# WiFi
if ip l | grep -Eq '[0-9]+: +wl'; then
## Skip if we're already connected (e.g. the code above worked)
if ! ip a | grep -q '192.168.1'; then
echo "Attempting to connect to SomeWiFi..."
nmcli dev wifi con "SomeWiFi" password "Abracadabra"
sleep 5s
fi
fi
fi
fi
# Test connection to DIAG_SERVER
if ip a | grep -q '192.168.1' && \
ping -c 1 -q $DIAG_SERVER >/dev/null 2>&1; then
DIAG_SERVER_AVAIL="True"
ssh $DIAG_USER@$DIAG_SERVER mkdir -p "$DIAG_DEST"
# Test connection to DIAG_SERVER
if ip a | grep -q '192.168.1' && \
ping -c 1 -q $DIAG_SERVER >/dev/null 2>&1; then
DIAG_SERVER_AVAIL="True"
ssh $DIAG_USER@$DIAG_SERVER mkdir -p "$DIAG_DEST"
ssh $DIAG_USER@$DIAG_SERVER chmod 755 "$DIAG_DEST"
fi
fi
# Setup Env
@ -184,7 +194,7 @@ function update_progress {
# Update Server
if [[ "$DIAG_SERVER_AVAIL" == "True" ]]; then
rsync -aqz "$TMP_DIR/" $DIAG_USER@$DIAG_SERVER:"$DIAG_DEST/" --exclude '*.out'
rsync -aqz --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r "$TMP_DIR/" $DIAG_USER@$DIAG_SERVER:"$DIAG_DEST/" --exclude '*.out'
fi
}
@ -240,7 +250,7 @@ if [[ "$TEST_CPU" == "True" ]]; then
CPU_ERRORS="False"
cpu_result="Working"
update_progress
(sleep 10m && killall -s INT "mprime$(getconf LONG_BIT)" >>/dev/null 2>&1) &
(sleep 10m && killall -s INT "mprime" >>/dev/null 2>&1) &
(sleep 10m && killall "hw-diags-sensors" >>/dev/null 2>&1) &
tmux split-window -d -v -l 10 "hw-diags-prime95 $TMP_DIR"
hw-diags-sensors "$TMP_DIR" 2>/dev/null
@ -437,7 +447,7 @@ if [[ "$TEST_BADBLOCKS" == "True" ]]; then
sleep 2s
# Check log
if grep -q '0/0/0 errors' "${tmp_device}_badblocks.log"; then
if grep -Eiq 'Pass completed.*0/0/0 errors' "${tmp_device}_badblocks.log"; then
eval "${tmp_device}_badblocks_result=CS"
else
eval "${tmp_device}_badblocks_result=NS"
@ -491,13 +501,13 @@ sudo inxi -CDdGlMmNopRsc 0 | grep -Ev '(/dev/ram|No RAID devices|Display Server|
# Cleanup
mkdir "$HOME/Tickets/$TICKET" -p 2>/dev/null
rsync -aS "$TMP_DIR/" "$HOME/Tickets/$TICKET/"
rsync -aS --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r "$TMP_DIR/" "$HOME/Tickets/$TICKET/"
popd >/dev/null
cd "$HOME/Tickets" && tar czf "${TICKET}.tgz" "$TICKET"
# Update Server
if [[ "$DIAG_SERVER_AVAIL" == "True" ]]; then
rsync -aqz "$TMP_DIR/" "${TICKET}.tgz" $DIAG_USER@$DIAG_SERVER:"$DIAG_DEST/" --exclude '*.out'
rsync -aqz --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r "$TMP_DIR/" "${TICKET}.tgz" $DIAG_USER@$DIAG_SERVER:"$DIAG_DEST/" --exclude '*.out'
fi
# End

View file

@ -1,9 +1,6 @@
#!/bin/bash
#
## WK HW diagnostics - Prime95
# Find executable
MPRIME="/usr/bin/mprime$(getconf LONG_BIT)"
## HW diagnostics - Prime95
function usage {
echo "Usage: $0 log-dir"
@ -17,4 +14,4 @@ if [ ! -d "$1" ]; then
fi
# Run Prime95
$MPRIME -t | grep -iv --line-buffered 'stress.txt' | tee -a "$1/prime.log"
mprime -t | grep -iv --line-buffered 'stress.txt' | tee -a "$1/prime.log"

View file

@ -9,10 +9,9 @@ function usage {
echo " e.g. $0 /tmp/tmp.7Mh5f1RhSL9001"
}
# Bail early
# Create directory if necessary
if [ ! -d "$LOG_DIR" ]; then
usage
exit 1
LOG_DIR="$(mktemp -d)"
fi
# Run Sensor loop

View file

@ -4,17 +4,7 @@
echo "Mounting all volumes"
regex="/dev/((h|s)d[a-z]|md)[0-9]+"
for v in $(inxi -Do | grep -E "$regex" | sed -r "s#.*($regex).*#\1#"); do
echo -n " $v: "
if udevil mount -o ro $v >>/dev/null 2>&1; then
echo "Mounted."
else
echo "Failed to mount."
fi
for v in $(inxi -Do | grep -E "$regex" | sed -r "s#.*($regex).*#\1#" | sort); do
udevil mount -o ro $v
done
if [[ "$1" == "foh" && -n $DISPLAY ]]; then
sleep 1s
exo-open --launch FileManager "$HOME"
fi
echo "Done."

View file

@ -1,6 +1,7 @@
arch-install-scripts
alsa-utils
antiword
arc-icon-theme-git
b43-fwcutter
btrfs-progs
chntpw
@ -34,6 +35,7 @@ gptfdisk
grub
gsmartcontrol
gtk-engine-murrine
gtk-theme-arc-git
hdparm
hexedit
hfsprogs
@ -42,12 +44,14 @@ inxi
ipw2100-fw
ipw2200-fw
iw
ldns
lftp
librsvg
lightdm
lightdm-gtk-greeter
linux-atm
lm_sensors
lsscsi
mc
mdadm
mediainfo
@ -55,10 +59,12 @@ mesa
mesa-demos
midori-gtk2
mkvtoolnix-cli
mprime-bin
mpv
mtools
mupdf
ncdu
ndisc6
network-manager-applet
networkmanager
nfs-utils
@ -67,7 +73,10 @@ nmap
noto-fonts
ntfs-3g
ntp
numix-circle-icon-theme-git
numix-icon-theme-git
numix-themes
numix-themes-git
openconnect
openssh
openvpn
@ -84,6 +93,8 @@ rfkill
rp-pppoe
rsync
rxvt-unicode
sdparm
sg3_utils
smartmontools
speedtest-cli
speedtouch
@ -91,6 +102,7 @@ sudo
tcpdump
terminus-font
testdisk
testdisk-wip
tk
tmux
truecrypt

View file

@ -0,0 +1 @@
gputest

View file

@ -69,6 +69,10 @@ LocalFileSigLevel = Optional
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
[customrepo]
SigLevel = Optional TrustAll
Server = file:///root/WK-Arch/custom-repo/$arch
#[testing]
#Include = /etc/pacman.d/mirrorlist
@ -84,9 +88,3 @@ Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs