Tag Archives: thinkpad

FreeBSD Desktop – Part 18 – Configuration – Global Dashboard

Many times I have found myself watching the various ‘debug’ commands like top/ps/mount/df or various log files like /var/log/messages or /var/log/automount.log when I thought something went wrong … or just takes little too long. I needed to open several terminal xterm(1) sessions (which is quite fast as I open them with [WIN]+[SPACE] and then [ENTER] but still …) and check what went wrong.

These actions tired my so I created a thing called Global Dashboard with all information I would ever need for such debugging.

You may also check earlier/other articles of the FreeBSD Desktop series:

From all the commands that FreeBSD contains I have chosen these 12 ones:

  • mount -p
  • /var/log/automount.log
  • /var/log/messages
  • vmstat -i
  • usbconfig
  • ps axwww -o %cpu,rss,command
  • sockstat -l -4
  • top -m io -o total
  • gstat -p
  • df -g
  • pciconf -l
  • ifconfig

Let me show you how it looks.

Here is the typical empty desktop with Global Dashboard disabled.

conky-off.png

… and here is the Global Dashboard enabled.

conky-on.png

For the sake of comfort I will use [Scroll Lock] key with xbindkeys to toggle between this ‘debug’ session on and off as I already use [Pause Break] key to Pause Any Application described in the Part 16 – Configuration – Pause Any Application episode of FreeBSD Desktop series.

scroll-lock.jpg

Conky

We will have to use older (1.9) version of Conky as the current one (1.10/1.11) are broken for anything serious.

We will use portdowngrade tool for that job.

First, lets install needed packages.

# pkg install portdowngrade conky xbindkeys

Assuming that you have up to date FreeBSD Ports tree in the /usr/ports directory – we see that current Conky version in the Ports is 1.11.

% cd /usr/ports/sysutils/conky
% cat distinfo 
TIMESTAMP = 1550919299
SHA256 (brndnmtthws-conky-v1.11.3_GH0.tar.gz) = 0140e749537d4d05bf33fbac436e54756faa26021e16f2bca418e9eeea724eb4
SIZE (brndnmtthws-conky-v1.11.3_GH0.tar.gz) = 2390099

We will now downgrade the Conky port to usable 1.9 version with portdowngrade utility. I already tried various Conky Port versions and the one that you are looking for is r419144 revision.

# cd /usr/ports/sysutils
# doas mv conky conky-1.11
# portdowngrade sysutils/conky | grep -C 17 r419144
------------------------------------------------------------------------
r422880 | madpilot | 2016-09-28 18:55:38 +0200 (Wed, 28 Sep 2016) | 13 lines

- Update conky and conky-awesome to 1.10.4
- Take maintainership [1]
- Options adapted to new version
- Removed LUA option since it's a mandatoory requirement now
- Use project own install target
- Fix installation of lua helper libraries
- Project moved to github
- in conky-awesome, properly use OPTIONS_EXCLUDE

PR:           212629
Submitted by: me
Approved by:  ntarmos@ceid.upatras.gr (former maintainer) [1]

------------------------------------------------------------------------
r419144 | pawel | 2016-07-26 20:57:23 +0200 (Tue, 26 Jul 2016) | 2 lines

Fix typo

------------------------------------------------------------------------
r419142 | pawel | 2016-07-26 20:40:20 +0200 (Tue, 26 Jul 2016) | 8 lines

- Add explicit IMPLIES between dependencies and simplify option handling [1]
- Convert to USES=localbase
- Switch some options helpers from LIB_DEPENDS to USE=xorg and USE=gnome

PR:           210414 [1] (based on)
Submitted by: elferdo@gmail.com
Approved by:  maintainer timeout

------------------------------------------------------------------------
r418767 | mat | 2016-07-19 13:04:13 +0200 (Tue, 19 Jul 2016) | 11 lines

We will now fetch the Conky port from r419144 revision – working 1.9 version.

# portdowngrade sysutils/conky r419144
A    conky/files
A    conky/Makefile
A    conky/files/patch-configure
A    conky/files/patch-lua-cairo.pkg
A    conky/files/patch-src-conky.c
A    conky/files/patch-src-freebsd.c
A    conky/files/patch-src-freebsd.h
A    conky/files/patch-src-fs.c
A    conky/pkg-descr
A    conky/distinfo
Checked out revision 419144.
You should be done-- now cd into conky and you can run
# make deinstall install clean

Please note that portdowngrade no longer modifies the ports tree; the
checked out port is at
/usr/ports/sysutils/conky

Done. Let’s verify that its the version we need.

% pwd
/usr/ports/sysutils
% cat conky-1.11/distinfo 
TIMESTAMP = 1550919299
SHA256 (brndnmtthws-conky-v1.11.3_GH0.tar.gz) = 0140e749537d4d05bf33fbac436e54756faa26021e16f2bca418e9eeea724eb4
SIZE (brndnmtthws-conky-v1.11.3_GH0.tar.gz) = 2390099

% cat conky/distinfo 
SHA256 (conky-1.9.0.tar.bz2) = baf1b550f135fbfb53e5e286a33aadc03a667d63bf6c4d52ba7637366295bb6f
SIZE (conky-1.9.0.tar.bz2) = 626555

Yup. We will now build a Conky 1.9 package (may be handy later).

# pwd
/usr/ports/sysutils
# cd conky
# pwd
/usr/ports/sysutils/conky
# make package
===>   conky-1.9.0_6 depends on file: /usr/local/sbin/pkg - found
=> conky-1.9.0.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch https://downloads.sourceforge.net/project/conky/conky/1.9.0/conky-1.9.0.tar.bz2
conky-1.9.0.tar.bz2                           100% of  611 kB  216 kBps 00m03s
===> Fetching all distfiles required by conky-1.9.0_6 for building
===>  Extracting for conky-1.9.0_6
=> SHA256 Checksum OK for conky-1.9.0.tar.bz2.
===>  Patching for conky-1.9.0_6
===>  Applying FreeBSD patches for conky-1.9.0_6
===>   conky-1.9.0_6 depends on executable: gmake - found
===>   conky-1.9.0_6 depends on package: libiconv>=1.14_11 - found
===>   conky-1.9.0_6 depends on package: pkgconf>=1.3.0_1 - found
===>   conky-1.9.0_6 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===>   conky-1.9.0_6 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found
===>   conky-1.9.0_6 depends on file: /usr/local/libdata/pkgconfig/xdamage.pc - found
===>   conky-1.9.0_6 depends on file: /usr/local/libdata/pkgconfig/xfixes.pc - found
===>   conky-1.9.0_6 depends on file: /usr/local/libdata/pkgconfig/xft.pc - found
===>  Configuring for conky-1.9.0_6
===>   FreeBSD 10 autotools fix applied to /usr/ports/obj/usr/ports/sysutils/conky/work/conky-1.9.0/config.rpath
(...)
====> Compressing man pages (compress-man)
===>  Building package for conky-1.9.0_6
===>  Cleaning for conky-1.9.0_6

… but where is our package, its not in the /usr/ports/sysutils/conky directory. Its not in the /usr/ports/distfiles dir either.

As I use WRKDIRPREFIX=${PORTSDIR}/obj option in the /etc/make.conf file it should be somewhere in the /usr/ports/obj then.

% grep WRKDIRPREFIX /etc/make.conf 
WRKDIRPREFIX=${PORTSDIR}/obj

Let’s find(1) it.

% find /usr/ports/obj -name conky\*txz
/usr/ports/obj/usr/ports/sysutils/conky/work/pkg/conky-1.9.0_6.txz

There. I will move it to /root directory to keep it.

# mv /usr/ports/obj/usr/ports/sysutils/conky/work/pkg/conky-1.9.0_6.txz /root

We will not clean up after the port/package building.

# make -C /usr/ports/sysutils/conky clean distclean
===>  Cleaning for conky-1.9.0_6
# 

We will now delete installed Conky 1.11 version and install our working 1.9 version.

# pkg delete conky
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        conky-1.11.3

Number of packages to be removed: 1

Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling conky-1.11.3...
[1/1] Deleting files for conky-1.11.3: 100%

# pkg add /root/conky-1.9.0_6.txz
Installing conky-1.9.0_6...
Extracting conky-1.9.0_6: 100%

Last check for the Conky version.

% conky --version
Conky 1.9.0 compiled Tue Mar 19 12:55:55 CET 2019 for FreeBSD 11.2-RELEASE-p9 (amd64)

Compiled in features:

System config file: /usr/local/etc/conky/conky.conf
Package library path: /usr/local/lib/conky

 X11:
  * Xdamage extension
  * XDBE (double buffer extension)
  * Xft
  * ARGB visual

 Music detection:

 General:
  * math
  * config-output

Great. We have needed Conky version.

By the way – did you thought how much work will it take to make the same on Debian or CentOS without the FreeBSD Ports infrastructure? πŸ™‚

Xbindkeys

The only needed configuration in the ~/.xbindkeysrc is this one below – it may be different for your keyboard so make sure to ‘catch’ needed key event.

% cat ~/.xbindkeysrc
# SCROLL LOCK | Scroll Lock
"~/scripts/desktop-debug.sh"
  m:0x0 + c:78

If you need more information about how Xbindkeys work then read the FreeBSD Desktop – Part 9 – Key Components – Keyboard/Mouse Shortcuts episode.

Scripts and Configs

This is the ~/scripts/desktop-debug.sh script.

#! /bin/sh

pgrep -q conky

case ${?} in
  (0) killall -9 conky ;;
  (1) ~/scripts/__openbox_restart_conky.sh ;;
esac

… and the ~/scripts/__openbox_restart_conky.sh script.

#! /bin/sh

VERSION=1.9
PROFILE=T420s

killall -9 conky

nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.1 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.2 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.3 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.4 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.5 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.6 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.7 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.8 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.9 &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.a &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.b &
nice -n 20 conky -c ~/.conkyrc.${VERSION}.${PROFILE}.LOG.c &

I use have several laptops so I need to distinguish which config files are used on which laptop, that is why I use PROFILE field – which is set to ThinkPad T420s in that example.

Here are the commands defined in these ~/.conkyrc.1.9.T420s.LOG.* files.

% grep exec ~/.conkyrc.1.9.T420s.LOG.*
.conkyrc.1.9.T420s.LOG.1:${color #eeeeee}${exec mount -p | awk '{print $1, $2, $3}' | column -t}
.conkyrc.1.9.T420s.LOG.2:${color #eeeeee}${exec tail -n 16 /var/log/automount.log}
.conkyrc.1.9.T420s.LOG.3:${color #eeeeee}${exec grep -v -E 'pulseaudio|message repeated|null_update_chw|route failed:|send_packet: |gen6_gt_|feeder_|cdce0: (Su|Re)' /var/log/messages | tail -16}
.conkyrc.1.9.T420s.LOG.4:${color #eeeeee}${exec vmstat -i}
.conkyrc.1.9.T420s.LOG.5:${color #eeeeee}${exec doas usbconfig}
.conkyrc.1.9.T420s.LOG.6:${color #eeeeee}${exec ps axwww -o %cpu,rss,command | head -1; ps axwww -o %cpu,rss,command | grep -v conky | grep -v '%CPU' | sort -n -r | head -15 }
.conkyrc.1.9.T420s.LOG.7:${color #eeeeee}${exec sockstat -l -4 | cut -c 1-50}
.conkyrc.1.9.T420s.LOG.8:${color #eeeeee}${exec top -m io -o total -b -s 1 -d 2 | grep -A 15 'PID USERNAME' | tail -n 16}
.conkyrc.1.9.T420s.LOG.9:${color #eeeeee}${exec gstat -p -I 345678}
.conkyrc.1.9.T420s.LOG.a:${color #eeeeee}${exec df -g | awk '{print $5,$6}' | column -t}
.conkyrc.1.9.T420s.LOG.b:${color #eeeeee}${exec pciconf -l}
.conkyrc.1.9.T420s.LOG.c:${color #eeeeee}${exec ifconfig -l -u | sed s/lo0//g | while read I; do ifconfig ${I}; done}

… and here is the diagram showing where these commands are placed.

I will use twelve (12) Conky configuration files for this purpose, each with one of the commands from above list.


 a df(1)       | b pciconf(8)             | c ifconfig(8)
---------------+--------------------------+---------------------
 7 sockstat(1) | 8 top(1)                 | 9 gstat(8)
---------------+--------------------------+---------------------
 4 vmstat(8)   | 5 usbconfig(8)           | 6 ps(1)
---------------+--------------------------+---------------------
 1 mount(8)    | 2 /var/log/automount.log | 3 /var/log/messages

Next are the full Conky configuration files.

~/.conkyrc.1.9.T420s.LOG.1

alignment                bottom_left
background               yes
gap_x                    3
gap_y                    3
minimum_size             279 193
maximum_width            280
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.1
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /sbin/mount -p
${color #eeeeee}${exec mount -p | awk '{print $1, $2, $3}' | column -t}

~/.conkyrc.1.9.T420s.LOG.2

alignment                bottom_left
background               yes
gap_x                    288
gap_y                    3
minimum_size             513 193
maximum_width            514
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.2
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /var/log/automount.log
${color #eeeeee}${exec tail -n 16 /var/log/automount.log}

~/.conkyrc.1.9.T420s.LOG.3

alignment                bottom_left
background               yes
gap_x                    807
gap_y                    3
minimum_size             789 193
maximum_width            790
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.3
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /var/log/messages
${color #eeeeee}${exec grep -v -E 'pulseaudio|message repeated|null_update_chw|route failed:|send_packet: |gen6_gt_|feeder_|cdce0: (Su|Re)' /var/log/messages | tail -16}

~/.conkyrc.1.9.T420s.LOG.4

alignment                bottom_left
background               yes
gap_x                    3
gap_y                    201
minimum_size             279 193
maximum_width            280
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.4
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /usr/bin/vmstat -i
${color #eeeeee}${exec vmstat -i}

~/.conkyrc.1.9.T420s.LOG.5

alignment                bottom_left
background               yes
gap_x                    288
gap_y                    201
minimum_size             513 193
maximum_width            514
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.5
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /usr/sbin/usbconfig
${color #eeeeee}${exec doas usbconfig}

~/.conkyrc.1.9.T420s.LOG.6

alignment                bottom_left
background               yes
gap_x                    807
gap_y                    201
minimum_size             789 193
maximum_width            790
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.6
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /bin/ps axwww -o %cpu,rss,command
${color #eeeeee}${exec ps axwww -o %cpu,rss,command | head -1; ps axwww -o %cpu,rss,command | grep -v conky | grep -v '%CPU' | sort -n -r | head -15 }

~/.conkyrc.1.9.T420s.LOG.7

alignment                bottom_left
background               yes
gap_x                    3
gap_y                    399
minimum_size             279 193
maximum_width            280
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.7
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /usr/bin/sockstat -l -4
${color #eeeeee}${exec sockstat -l -4 | cut -c 1-50}

~/.conkyrc.1.9.T420s.LOG.8

alignment                bottom_left
background               yes
gap_x                    288
gap_y                    399
minimum_size             513 193
maximum_width            514
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.8
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /usr/bin/top -m io -o total
${color #eeeeee}${exec top -m io -o total -b -s 1 -d 2 | grep -A 15 'PID USERNAME' | tail -n 16}

~/.conkyrc.1.9.T420s.LOG.9

alignment                bottom_left
background               yes
gap_x                    807
gap_y                    399
minimum_size             789 193
maximum_width            790
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.9
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /usr/sbin/gstat -p -I 300000
${color #eeeeee}${exec gstat -p -I 345678}

~/.conkyrc.1.9.T420s.LOG.a

alignment                bottom_left
background               yes
gap_x                    3
gap_y                    597
minimum_size             279 272
maximum_width            280
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.7
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /bin/df -g
${color #eeeeee}${exec df -g | awk '{print $5,$6}' | column -t}

~/.conkyrc.1.9.T420s.LOG.b

alignment                bottom_left
background               yes
gap_x                    288
gap_y                    597
minimum_size             513 272
maximum_width            514
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.8
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /usr/sbin/pciconf -l
${color #eeeeee}${exec pciconf -l}

~/.conkyrc.1.9.T420s.LOG.c

alignment                bottom_left
background               yes
gap_x                    807
gap_y                    597
minimum_size             789 272
maximum_width            790
double_buffer            yes
draw_outline             no
draw_shades              no
default_outline_color    444444
default_shade_color      444444
own_window               yes
own_window_class         conky
own_window_colour        222222
own_window_type          override
own_window_transparent   no
update_interval          2.9
use_xft                  yes
xftfont                  ubuntu mono-10
border_inner_margin      0
border_outer_margin      0
border_width             2

TEXT
${color #ee0000}% /sbin/ifconfig wlan0/em0/tun0
${color #eeeeee}${exec ifconfig -l -u | sed s/lo0//g | while read I; do ifconfig ${I}; done}

Thats a quite a lot configuration files but I think that this configuration done once will serve many many times in the future πŸ™‚

These Conky configuration files are suited for the 1600×900 resolution, you will have to modify values of the gap_x/gap_y/minimum_size/maximum_width parameters to make it fit into other resolution.

Initially I wanted to write a script/generator for that, but lets face it – I will not be able to properly cover each possible resolution πŸ™‚

EOF
Advertisements

Valuable News – 2019/03/18

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

Proper VirtualBox Shared Folders support for FreeBSD guests.
https://github.com/hashicorp/vagrant/pull/10717

FreeBSD 12.0 ZFS AMIs Now Available.
http://www.daemonology.net/blog/2019-02-16-FreeBSD-ZFS-AMIs-now-available.html

Booting FreeBSD now more secure with loader capable of authenticating/verifying kernel integrity with UEFI metadata.
https://twitter.com/Semihalf/status/1105052630810853376
https://svnweb.freebsd.org/base?view=revision&revision=344840

How tracking storage issue lead to software change.
NFS Ganesha fully ported to FreeBSD system.
https://news.gandi.net/en/2019/03/tracking-a-storage-issue-led-to-software-change/
https://www.freebsd.org/cgi/ports.cgi?query=nfs-ganesha

FreeBSD backported (MFC) their Address Space Randomization (ASR) implementation to 12-STABLE.
https://twitter.com/lattera/status/1105518473952849923
https://svnweb.freebsd.org/base?view=revision&revision=345067

BSD Now 289 – Microkernel Failure.
https://www.bsdnow.tv/289

ThinkPad X1 Carbon 6 with OpenBSD.
https://flak.tedunangst.com/post/t6x1c

FreeBSD’s powerdxx 0.4.1 Power Daemon Released.
https://github.com/lonkamikaze/powerdxx/releases/tag/0.4.1

FreeBSD – Unix I Always Wanted.
https://kissitconsulting.com/blog/post/freebsd-the-linux-i-always-wanted

In Other BSDs for 2019/03/16.
https://www.dragonflydigest.com/2019/03/16/22653.html

Falling in Love with OpenBSD Again.
Well, it’s been a while – falling in love with OpenBSD again

HardenedBSD Foundation 2019 Meeting Minutes.
https://hardenedbsd.org/article/shawn-webb/2019-03-16/hardenedbsd-foundation-2019-meeting-minutes

Moving Back to Lighttpd (from Nginx).
https://chargen.one/high5/moving-back-to-lighttpd

Hardware

Toshiba HDD Roadmap: SMR/MAMR/TDMR/HAMR Technologies.
https://www.anandtech.com/show/14077/toshiba-hdd-roadmap-smr-mamr-tdmr-and-hamr

Gamer uses eight (8!) 3DFX Voodoo2 GPUs to play Half-Life game.
Actually four (4) Quantum3D Obsidian 2 200SBi cards – each card contains two (2) Voodoo2 chips.
https://www.overclock3d.net/news/software/retro_pc_gamer_uses_eight_3dfx_voodoo_2_gpus_to_play_half-life/1

ASRock DeskMini 310 Mini PC Review – Cost Effective Mini-STX Platform.
https://www.anandtech.com/show/14089/asrock-deskmini-310-review

ASUS PRIME N4000T Launched.
https://www.fanlesstech.com/2019/03/asus-prime-n4000t-launched.html

Chinese Enthusiasts Make and Fit Modern Motherboards in Classic ThinkPads.
https://boingboing.net/2019/03/17/demand-signals-r-us.html

ThinkPad X210.
https://geoff.greer.fm/2019/03/04/thinkpad-x210/

Life

Future You Masturbation.
https://www.howitactuallyworks.com/archives/future_you_masturbation.html

What the Hell is Going On?
Effects of Information Abundance.
https://www.perell.com/blog/what-the-hell-is-going-on

Other

Firefox Send – Free File Transfers while Keeping your Personal Information Private.
https://blog.mozilla.org/blog/2019/03/12/introducing-firefox-send-providing-free-file-transfers-while-keeping-your-personal-information-private/

Look Back at the History of Firefox.
https://itsfoss.com/history-of-firefox/

Google quietly added DuckDuckGo as search engine option for Chrome.
https://techcrunch.com/2019/03/13/google-has-quietly-added-duckduckgo-as-a-search-engine-option-for-chrome-users-in-60-markets/

EOF

Valuable News – 2019/03/11

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

Restic and Backblaze B2 for Backups.
https://harshadsharma.com/2018/04/restic-and-backblaze-b2-for-backups

Support for Marvell Armada 38x added to FreeBSD.
https://lists.freebsd.org/pipermail/freebsd-arm/2017-June/016314.html

Increasing coverage of signal semantics in regression tests on NetBSD.
https://blog.netbsd.org/tnf/entry/increasing_coverage_of_signal_semantics

Creating Zones from Images on Tribblix.
https://ptribble.blogspot.com/2018/06/tribblix-creating-zones-from-images.html

Solaris 11.4 – Periodic Scrubs of ZFS Filesystems.
http://blog.moellenkamp.org/archives/37-Periodic-scrubs-of-ZFS-filesystems.html

Spacewalk for Linux Management – Part 1 – Guide for Uninitiated.
https://medium.com/@glmdev/spacewalk-for-linux-management-2701ac34df4a

Spacewalk for Linux Management – Part 2 – Setting Up Spacewalk Channels.
https://medium.com/@glmdev/setting-up-spacewalk-channels-f1db33a4e2a

FreeBSD upgrades Clang/LLVM compiler to 8.0.
https://svnweb.freebsd.org/base?view=revision&revision=344779

ReactOS 0.4.11 Released.
https://www.reactos.org/project-news/reactos-0411-released

FreeBSD on ThinkPad X280.
https://adminblog.foucry.net/2019/03/05/FreeBSD-ThinkPad/#englishversion

FreeBSD implements minidump support for RISC-V.
https://svnweb.freebsd.org/base?view=revision&revision=344830

SMoTherSpectre: transient execution attacks through port contention.
More security attacks based on SMT (Hyper Threading)
https://nebelwelt.net/blog/20190306-SMoTherSpectre.html

SPOILER: Speculative Load Hazards Boost Rowhammer and Cache Attacks.
All Intel Core CPUs are vulnerable. AMD and ARM Chips are Secure.
https://arxiv.org/pdf/1903.00446.pdf

BSD Now 288 – Turing Complete Sed.
https://www.bsdnow.tv/288

In Other BSDs for 2019/03/09.
https://www.dragonflydigest.com/2019/03/09/22620.html

FreeBSD Journal 2019 January/February.
http://cdn.coverstand.com/33057/571964/0954264cc0879c4080609529d858340492e14096.2.pdf
https://www.freebsdfoundation.org/past-issues/getting-started-with-freebsd/

Writing a Book with Unix.
https://joecmarshall.com/posts/book-writing-environment/

FreeBSD adds separate aggregation limit for non-rotating media for ZFS.
https://svnweb.freebsd.org/base?view=revision&revision=344934

The mandoc 1.14.5 Released.
https://undeadly.org/cgi?action=article;sid=20190310175719

ZFS by Josh Bicking (@jibby0) about ZFS history/terminology/basics.
https://ritlug.com/talks/2019/03/07/w8-zfs/
blob:https://mozilla.github.io/ea5095f4-a7e1-461b-a496-f22893b4f95f

FreeBSD bhyve – Snapshot Save and Restore.
https://reviews.freebsd.org/D19495

FreeBSD ACPI fix for HP (and possibly ASUS/Toshiba/Dell/other laptops) that fixes suspend/resume/poweroff.
https://twitter.com/FreeBSDHelp/status/1104926425126068224
https://svnweb.freebsd.org/base?view=revision&revision=344982

Hardware

Thunderbolt 3 becomes USB 4 as Intel interconnect goes royalty-free.
https://www.osnews.com/story/129551/thunderbolt-3-becomes-usb4-as-intels-interconnect-goes-royalty-free/

USB4 Specification Announced – 40 Gbps – Type-C – Thunderbird 3 Support.
https://www.anandtech.com/show/14048/usb4-specification-40-gbps-type-c-tb3

Can Supermicro rule the gaming and desktop motherboard markets?
https://www.kitguru.net/tech-news/andrzej/can-supermicro-rule-the-gaming-and-desktop-motherboard-markets/

Supermicro M11SDV-4CT-LN4F Review Low-Cost AMD EPYC 3101.
https://www.servethehome.com/supermicro-m11sdv-4ct-ln4f-review-low-cost-amd-epyc-3101/

Life

Birmingham school stops LGBT lessons after parents protest.
https://www.theguardian.com/education/2019/mar/04/birmingham-school-stops-lgbt-lessons-after-parent-protests

How to speak like a leader, not like an engineer?
https://news.ycombinator.com/item?id=19349676

Other

CNCF Survey – Use of Cloud Native Technologies in Production Has Grown Over 200%.
https://www.cncf.io/blog/2018/08/29/cncf-survey-use-of-cloud-native-technologies-in-production-has-grown-over-200-percent/

Windows 10 Decrapifier – 1803/1809.
https://community.spiceworks.com/scripts/show/4378-windows-10-decrapifier-1803-1809

Windows 10 Decrapifier – 1709.
https://community.spiceworks.com/scripts/show/3977-windows-10-decrapifier-1709

Serious Chrome Zero Day – Google Says Update ‘Now’.
Serious Chrome zero-day – Google says update “right this minute”

EOF

Valuable News – 2019/02/01

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

FreeBSD powerdxx 0.4.0 Released.
https://github.com/lonkamikaze/powerdxx/releases/tag/0.4.0

FreeBSD ZFS vs. TrueOS ZoF vs. DragonFly BSD HAMMER2 vs. ZFS on Linux Benchmarks.
https://www.phoronix.com/scan.php?page=article&item=bsd-initial-zof

Install FreeBSD 12.0 plus KDE Plasma and Basic Applications.
https://www.youtube.com/watch?v=0qq3H8pflU0

The sysctlview is GTK tool to explore FreeBSD sysctl-mib-tree.
https://gitlab.com/alfix/sysctlview

The Laarc.io is new Lobste.rs and Hacker News companion.
… and it runs FreeBSD too.
https://laarc.io/

Thunderbolt 3 on AMD motherboard using FreeBSD Bhyve PCIe passthru on Linux guest.
https://twitter.com/michael_yuji/status/1089769779961851904

Strategic thinking, or what I think what we need to do to keep FreeBSD relevant.
http://www.leidinger.net/blog/2019/01/27/strategic-thinking-or-what-i-think-what-we-need-to-do-to-keep-freebsd-relevant/

Installing FreeBSD with Dual-Boot on ThinkPad X1 Carbon 6th Generation.
https://market-ticker.org/post=234936

HardenedBSD 2018Q4 Quarterly Update.
https://github.com/HardenedBSD/freebsd-quarterly/blob/hardenedbsd/2018q4/2018q4/hardenedbsd.md

ClonOS to be Rolled Out.
ClonOS is web UI for controlling/deploying/managing FreeBSD Jails containers and Bhyve/Xen VMs.
https://hype.codes/clonos-be-rolled-out

Making OpenBSD Boot Logo with Spleen.
http://akpoff.com/archive/2019/making_an_openbsd_boot_logo_with_spleen.html

Setting the Boot Logo on ThinkPad.
http://akpoff.com/archive/2019/setting_the_boot_logo_on_a_thinkpad.html

FreeBSD Foundation Update – 2019/01.
https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-january-2019/

New ASLR code in review on FreeBSD.
https://reviews.freebsd.org/D5603

Credativ Group massively expands U.S. footprint with OmniTI acquisition.
https://omniti.com/remembers/2019/credativ-massively-expands-us-footprint.html

Alpine Linux moved back from LibreSSL to OpenSSL.
https://lists.alpinelinux.org/alpine-devel/6308.html

Avoiding Duplicate cron Jobs.
https://dan.langille.org/2019/01/13/avoiding-duplicate-cronjobs/

Upgrade Process Using GPT.
https://oshogbo.vexillium.org/blog/62/

BSD Now – Episode 283.
https://bsdnow.fireside.fm/283

Iocage 1.1 Release.
https://github.com/iocage/iocage/releases/tag/1.1

Bareos 18.2.5 Released.
https://www.bareos.com/files/press/english/bareos_18.2_final_en.pdf

OPNsense 19.1 Released.
https://forum.opnsense.org/index.php?topic=11398.0

FreeBSD CI Weekly Report 2019-01-27.
https://lists.freebsd.org/pipermail/freebsd-testing/2019-January/001777.html

OpenIndiana Monitoring with Icinga.
https://community.icinga.com/t/openindiana-monitoring/248

Reimplement BIO_ORDERED handling in nvd(4) on FreeBSD.
Sync write latency from ~2.0 ms to ~1.1 ms by not sleeping without reason till next HZ tick.
ZFS pool with 8 ZVOLs writing 4KB blocks shows ~950 IOPS instead of ~750 IOPS before.
https://svnweb.freebsd.org/base?view=revision&revision=343562

ZFS Feature Matrix.
https://zgrep.org/zfs.html

Setting Up Quick Minimal Jail on FreeBSD (ZFS).
https://markdownshare.com/view/981a46a3-8fba-4793-9b8f-b576760312bc

In Other BSDs for 2019/01/26.
https://www.dragonflydigest.com/2019/01/26/22439.html

Hardware

You can now get FreeBSD daemon on the WASD keyboards.
http://www.wasdkeyboards.com/index.php/products/keycap-mod-packs/os-cherry-mx-keycaps-set-of-2.html

OpenBSD Escape Key with Puffy for Cherry MX Keyboard.
https://www.etsy.com/listing/190868529/custom-esc-keycap-for-cherry-mx-swtich

New Pinebook Pro from PINE64.
More powerful but keyboard layout still sicks.
https://forum.pine64.org/showthread.php?tid=7093&pid=43850#pid43850
https://liliputing.com/2019/01/pinebook-pro-linux-laptop-coming-this-year-for-199-and-up.html
https://baldnerd.com/pine64-pinebook-pro-rk3399-laptop/

Intel to Discontinue Itanium 9700 ‘Kittson’ Processor – Last of the Itaniums.
https://www.anandtech.com/show/13924/intel-to-discontinue-itanium-9700-kittson-processor-the-last-itaniums

Life

Do they have work/life balance? Investigating potential employers with GitHub.
https://codewithoutrules.com/2019/01/31/does-company-have-worklife-balance/

EOF

Valuable News – 2019/01/11

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

In Other BSDs for 2019/01/05.
https://www.dragonflydigest.com/2019/01/05/22307.html

Devin Teske made sysconf(8) to safely edit system config files on FreeBSD.
Another great tool after sysrc(8) that allows safe edit of system rc files.
https://github.com/freebsdfrau/FrauBSD/tree/master/sysconf

New PEFS 2018.12.29 Release.
http://pefs.io/blog/2018/12/release-20181229/?fbclid=IwAR2fPxLnl18rfAVcQ6OmMR7FhsRGuorHq84xYhQ-cnO2m7_7Z2aSFB65PLI

Revive Cisco IDS Into Capable OpenBSD Computer.
https://komlositech.wordpress.com/2018/12/30/revive-a-cisco-ids-into-a-capable-openbsd-firewall/

How I did start using FreeBSD.
https://www.banym.de/how-i-did-start-using-freebsd.html

MacBook Pro 9.2 Gets FreeBSD Support.
https://twitter.com/FreeBSDHelp/status/1081395210259595265

New HardenedBSD 13.0 Image for RPI3.
https://hardenedbsd.org/~shawn/rpi3/2019-01-05/HardenedBSD-aarch64-13.0-HARDENEDBSD-fa32a12f857-RaspberryPi3.img.xz
https://twitter.com/lattera/status/1081919725611950082

FreeBSD gives sh(1) proper default prompt instead of just “$“.
https://svnweb.freebsd.org/base?view=revision&revision=342812

More FreeBSD RFC Sendmail Deprecation Discussion.
https://lists.freebsd.org/pipermail/freebsd-arch/2017-December/018712.html

DistroWatch – Feature Story – FreeBSD 12.0-RELEASE Review.
“(…) this release feels like a polished and improved incremental step forward.”
https://distrowatch.com/weekly.php?issue=20190107#freebsd

DistroWatch – Musings on Distros After Prolonged Use (2019).
“FreeBSD is probably my favourite server-oriented operating system, mostly because it never surprises me.
FreeBSD tends to do what you tell it to do, and just do what you tell it to do.”

https://distrowatch.com/weekly.php?issue=20190107#lookback

New ZFS on FreeBSD Implementation Can Now Be Tested with TrueOS.
https://www.phoronix.com/scan.php?page=news_item&px=ZFS-On-Linux-Test-TrueOS-Spin
https://pkg.trueos.org/iso/snapshot-zol/

OmniOS Community Edition r151028j/r151026aj/r151022ch.
https://omniosce.org/article/release-028j-026aj-022ch

FreeBSD Foundation – December 2018 – Development Projects Update.
https://www.freebsdfoundation.org/blog/december-2018-development-projects-update/

Zackup – Backup to ZFS – Inspired by BackupPC.
https://github.com/digineo/zackup

POSIX Shell and Utilities.
https://shellhaters.org/

OPNsense 18.7.10 Released.
https://forum.opnsense.org/index.php?topic=10903.0

A wc clone written in Rust.
https://crates.io/crates/cw

FreeBSD as my Network Storage Server (Part 1).
https://www.jasonvanpatten.com/2015/11/26/freebsd-as-my-network-storage-server/

FreeBSD as my Network Storage Server (Part 2).
https://www.jasonvanpatten.com/2015/11/26/freebsd-as-my-network-storage-server-part-2/

Knightmare: DevOps Cautionary Tale.
Knightmare: A DevOps Cautionary Tale

IOCCC: Best of Show.
https://www.ioccc.org/2018/mills/hint.html

Quick Naive Benchmarks on AMD A8-5550M APU on FreeBSD (with and without AESNI).
https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072466.html

Goal of GameBSD is to provide a place for students to learn about programming and technology.
https://gamebsd.com/index.html

AIX 7.2 running on AARCH64 (ARM) Pinebook with QEMU.
https://twitter.com/astr0baby/status/1082811124897251328

OpenBSD Router.
http://www.homeandofficeit.com/Main/OpenBSDRouter

New console font Spleen made default on OpenBSD.
https://undeadly.org/cgi?action=article;sid=20190110064857

Interactive VIM Tutorial.
https://openvim.com/

ZFS on Linux does not work on Linux 5.0 kernels.
https://marc.info/?l=linux-kernel&m=154714516832389

Hardware

AMD Ryzen Mobile 3000-Series Launched – 2nd Gen Mobile at 15W-35Wand Chromebooks.
https://www.anandtech.com/show/13771/amd-ces-2019-ryzen-mobile-3000-series-launched

AMD launches two new A-series 6W chips for Chromebooks.
https://liliputing.com/2019/01/amd-launches-two-new-a-series-chips-for-chromebooks.html

AMD Powered Acer Chromebook 315 Announced.
https://www.anandtech.com/show/13783/acer-at-ces-amd-powered-acer-chromebook-315-announced

Huawei claims its Kunpeng 920 ARM based processor is the industry’s fastest.
64 cores clocked at 2.6GHz with 8-channel DDR4 memory.
Also two 100G RoCE ports and support for PCIe Gen4 and CCIX.
https://venturebeat.com/2019/01/06/huawei-claims-its-kunpeng-920-arm-based-risc-processor-is-the-industrys-fastest/

Huawei Unveils Industry’s Highest-Performance ARM-based CPU.
https://www.huawei.com/en/press-events/news/2019/1/huawei-unveils-highest-performance-arm-based-cpu

Samsung Plans 3nm Gate-All-Around FETs in 2021.
https://www.eetimes.com/document.asp?doc_id=1333318

Lenovo ThinkPad X1 Carbon 7th Gen Gets Thinner.
https://www.anandtech.com/show/13833/lenovo-at-ces-2019-7th-gen-thinkpad-x1-carbon-gets-thinner

Life

Amazon sent 1700 audio recordings of Alexa user to a stranger.
https://www.hackread.com/amazon-sent-audio-recordings-of-alexa-user-to-stranger/?fbclid=IwAR0B9CiTTpOxDClsNmfrlmRxyzP1nHzMYbCk2e8aAI8EgNkgKvyImJXGd-A

Before you can be with others, first learn to be alone.
https://aeon.co/ideas/before-you-can-be-with-others-first-learn-to-be-alone

10 Harmful Effects of Religion.
http://sarahrocksdale.wixsite.com/blog/single-post/2019/01/08/10-Harmful-Effects-of-Religion

System Down: systemd-journald Exploit.
https://www.qualys.com/2019/01/09/system-down/system-down.txt

Other

The State Of Software Security In 2019.
https://noncombatant.org/2019/01/06/state-of-security-2019/

The Developer Experience Bait-and-Switch.
https://infrequently.org/2018/09/the-developer-experience-bait-and-switch/

LinkedIn violates privacy and detects usage of browser extensions.
https://github.com/dandrews/nefarious-linkedin

Classic Doom gets 3D/HD remaster – courtesy of the fans.
https://www.pcgamesn.com/doom/doom-remaster

RPG Codex Review: ATOM RPG (Remix of Fallout Story).
https://rpgcodex.net/content.php?id=11080

Facebook is the new crapware.
https://techcrunch.com/2019/01/09/facebook-is-the-new-crapware/

EOF

Valuable News – 2018/12/28

The Valuable News weekly series is dedicated to provide summary about news, articles and other interesting stuff mostly but not always related to the UNIX or BSD systems. Whenever I stumble upon something worth mentioning on the Internet I just put it here so someone else can

Today the amount information that we get using various information streams is at massive overload. Thus one needs to focus only on what is important without the need to grep(1) the Internet everyday. Hence the idea of providing such information ‘bulk’ as I already do that grep(1).

UNIX

The iocage 1.0 Released.
https://github.com/iocage/iocage/releases/tag/1.0

FreeBSD in Audio Studio.
FreeBSD is usually not the first choice for music art, but it has quite a lot to offer.
https://fosdem.org/2019/schedule/event/freebsd_in_audio_studio/

Install DragonFly BSD 5.4.
https://gitlab.com/jacekkowalczyk82/freebsd/blob/master/DragonFlyBSD.md

FreeBSD and USB MIDI.
https://meka.rs/blog/2017/06/17/freebsd-usb-midi/

In Other BSDs for 2018/12/22.
https://www.dragonflydigest.com/2018/12/22/22216.html

HardenedBSD 1100056.11 Available.
https://hardenedbsd.org/article/op/2018-12-22/stable-release-hardenedbsd-stable-11-stable-v110005611

HardenedBSD 1200058.1 Available.
https://hardenedbsd.org/article/op/2018-12-22/stable-release-hardenedbsd-stable-12-stable-v12000581

DragonFly 5.4.1 Released.
https://www.dragonflydigest.com/2018/12/24/22268.html

FreeBSD 2018/01-09 Status Report.
https://www.freebsd.org/news/status/report-2018-01-2018-09.html

FreeBSD Had Very Successful 2018 – Performance Improvements – Better Hardware Support.
https://www.phoronix.com/scan.php?page=news_item&px=FreeBSD-2018-Q1-Q3-Status

Blender 2.8 Released.
https://www.blender.org/2-8/

FreeBSD Foundation Created FreeBSD Timeline.
https://www.freebsdfoundation.org/freebsd/timeline/

Gitea On OpenBSD – Using Official Package.
https://dev.to/nabbisen/gitea-on-openbsd-using-official-package-2ogl

BSD Now 278 – Real McCoy.
https://www.jupiterbroadcasting.com/128586/the-real-mccoy-bsd-now-278/

FreeBSD switches mutexes to atomics in GEOM_DEV I/O path.
IOPS increases from 600K to 800K+ on NVMe at 72-core systems.
https://svnweb.freebsd.org/base?view=revision&revision=342558

FreeBSD Wireless Quickstart.
http://srobb.net/fbsdquickwireless.html

Haiku Beta – Release Heard Around the World.
https://medium.com/@andrewgreimann_62789/haiku-beta-the-release-heard-around-the-world-d776cae5f3e7

Mac OS X Kernel Programming Guide – BSD Overview.
How much BSD is in the macOS system.
https://developer.apple.com/library/archive/documentation/Darwin/Conceptual/KernelProgramming/BSD/BSD.html

FreeBSD on ThinkPad X240.
https://unrelenting.technology/articles/freebsd-on-the-thinkpad-x240

Hardware

Distrowatch.com – First Impressions of Pinebook.
https://distrowatch.com/weekly.php?issue=20181224#pinebook

Slimbook PRO2.
https://slimbook.es/en/pro-ultrabook-13-aluminium

Banana Pi to Launch 24-Core ARM Server.
https://www.cnx-software.com/2018/12/26/banana-pi-24-core-arm-server/

Life

Sugar Sick Secrets: How Industry Forces Have Manipulated Science to Downplay the Harm.
https://www.ucsf.edu/news/2018/12/412916/sugars-sick-secrets-how-industry-forces-have-manipulated-science-downplay-harm

World’s Newest Major Religion – No Religion.
https://news.nationalgeographic.com/2016/04/160422-atheism-agnostic-secular-nones-rising-religion/

What is each country’s second-largest religious group?
http://www.pewresearch.org/fact-tank/2015/06/22/what-is-each-countrys-second-largest-religious-group/

Evolution Is Finally Winning Out Over Creationism.
https://slate.com/technology/2015/11/polls-americans-believe-in-evolution-less-in-creationism.html

35 years ago Isaac Asimov was asked by Star to predict world of 2019.
https://www.thestar.com/news/world/2018/12/27/35-years-ago-isaac-asimov-was-asked-by-the-star-to-predict-the-world-of-2019-here-is-what-he-wrote.html

Other

DOOMBA – Convert your Roomba tracking data into randomized DOOM map.
http://richwhitehouse.com/index.php?postid=72

EOF

FreeBSD Desktop – Part 2.1 – Install FreeBSD 12

This article is an update/rewrite to the already published FreeBSD Desktop – Part 2 – Install. With the upcoming introduction of the FreeBSD 12.0-RELESE version new possibilities arise when it comes to installation. I already talked/showed that method in my ZFS Boot Environments Reloaded at NLUUG presentation but to make it more available and obvious part of my FreeBSD Desktop series I write about it again in dedicated article entry.

You may also check earlier/other articles of the FreeBSD Desktop series:

Now (in FreeBSD 12.x) it is possible to install FreeBSD on GELI encrypted root on ZFS pool without any additional partitions or filesystems. No longer separate UFS or ZFS boot pool /boot filesystem is needed. And what is even more appealing such setup is supported both on UEFI and BIOS (also refereed as Legacy or CSM) systems. Such setup is also compatible with both new bectl(8) utility and the old proven beadm(8) tool. It is also nice that to make such setup you only need to choose the Auto ZFS option from the bsdinstall(8) so you will not have to do it by hand. I advice using GPT (BIOS+UEFI) as it will support both system types so when you are running BIOS system now and will move the disk to other system that boots with UEFI it will also just work out of the box.

The FreeBSD 12.0 is currently at the RC1 stage so we will use that one for below examples of such setup. The 12.0-RELEASE is expected to arise before Christmas if no significant problems or bugs will be found on the road to RC2 and RC3 editions.

For the record here is the FreeBSD 12.0-RC1 Availability information page and aggregated FreeBSD 12.0-RELEASE Release Notes for the upcoming new major FreeBSD version, but it is not yet complete/ready.

I will only show one install process that will work for both UEFI and BIOS systems – the crucial option here is GPT (BIOS+UEFI) to select (which is also the default one). The other option that You need to select is Yes for the Encryption part and also select the SWAP size. You may as well do not use swap and enter ‘0‘ here which means that SWAP partition will not be created. You may as well create ZFS ZVOL partition for SWAP on ZFS pool later or just create a file like /SWAP and enable it as SWAP. No matter which SWAP option you will choose if your system swaps then you are too low on memory and neither of these methods are better or worse then.

freebsd-install-01.png

freebsd-install-02.png

freebsd-install-03.png

One last thing about the default FreeBSD (no matter if 11.x or 12.x) ZFS dataset/filesystem layout. I showed it on my ZFS Boot Environments/ZFS Boot Environments Reloaded presentations but without any text comment as I talked it live.

By default both /var and /usr filesystems are part of the Boot Environment. They are protected and snapshoted during the beadm create newbe process (or by bectl(8) also). Its appears that /var and /usr are separate processes when you type zfs list commend as shown on the slide below.

zroot-layout-01.png

… but when you check the canmount parameter for all ZFS datasets, then it become obvious that /usr and /var are ’empty’ datasets (not mounted).

zroot-layout-02.png

… and also confirmation from theΒ df(1) tool.

zroot-layout-03.png

I asked FreeBSD Developers what is the reason for such construct and its for the mountpoint inheritance purposes. For example when zroot/usr has mountpoint set to /usr then when you create zroot/usr/local dataset, then it will automatically get the /usr/local for the mountpoint parameter by inheritance. At the first sight it may be misleading (I also got caught) but it makes sense when you think about it.

The only filesystems that are NOT included for the Boot Environment protection are these:

  • /usr/home
  • /usr/ports
  • /usr/src
  • /var/audit
  • /var/crash
  • /var/log
  • /var/mail
  • /var/tmp

While in most cases it is not needed to protect these in the Boot Environment protection if you want to also protect these type these two comments to move all the /usr/* and /var/* datasets/filesystems into the Boot Environment pool/ROOT/dataset. It will work on a running system without need for reboot, just make sure you use -u flag.

# zfs rename -u zroot/usr zroot/ROOT/default/usr
# zfs rename -u zroot/var zroot/ROOT/default/var

Now grab that FreeBSD ISO and install it the best possible way up to date πŸ™‚

You will probably want to get amd64 version which is suitable for both 64-bit AMD and Intel systems.

EOF

Β