ARM – Configs for Odroid U3 and CuBox-i4Pro..

I have just posted copies of recent kernel configs for the Odroid U3 and CuBox-i4Pro..

Odroid U3 – Kernel config for 4.4 :

CuBox-i4Pro – Kernel config for 4.4.1:

These do not include working WiFi, as 2.4GHz is pretty useless at my location…

Robert Gadsdon.   February 2, 2016.

Fedora – Getting Rid of Unwanted ‘virtbr0’

I did a clean install of Fedora 23 on my new ‘built from recycled components‘ crash-and-burn test system recently, and all went reasonably well – apart from – apparently – having to re-partition an already-partitioned drive (!)…

After booting for the first time, I found that a ‘bridged’ network link – virtbr0 – was active..    As I did not want/need this, I tried deactivating/deleting it, using the usual network commands (ifdown, ifconfig…down…) only to have it reactivated each time..

After a bit of research, this is one way to get rid of it..

Check to see if it is running:

systemctl status libvirtd.service
● libvirtd.service - Virtualization daemon

Kill it (as root):

systemctl disable libvirt-guests.service
systemctl disable libvirtd.service
systemctl stop libvirtd.service

Get rid of all the libvirt stuff:

# rpm -qa |grep libvirt

But – be careful..   I tried this by just using # dnf erase libvirt* but found that this would have also de-installed other software – including parts of qemu and xen – as well..   This was unwarranted, as I confirmed by using rpm to de-install all of libvirt, and this command completed successfully, without needing to use the –nodeps parameter..    The rpm command I used to do this was # rpm -e $(rpm -qa |grep libvirt) gnome-boxes $(rpm -qa |grep virt-)…to get rid of associated utilities as well…

Then just re-start the network..

systemctl restart network.service

Robert Gadsdon.   January 28, 2016.
(rpm command example updated – Jan 30)

NVIDIA – Latest 352.xx Driver – OK with Kernel 4.5-rc1..

Just installed the latest NVIDIA driver – 352.79 – on the test system, and it compiles and runs OK with Kernel 4.5-rc1..

Release notes etc. are here:

I had been running the ‘beta’ driver 361.18, but found that this was using up large amounts of memory (13GB, out of 16GB) when running VMware and Firefox, and occasionally failing completely – with large/flashing colour blocks on the screen, requiring a reboot, so I reverted to 358.16….

Robert Gadsdon.   January 25, 2016

Kernel – 4.5-rc1 – OK with Latest NVIDIA and VMware..

Just installed Kernel 4.5-rc1 on the test system, and NVIDIA 358.16 (and ‘beta’ 361.18) and VMware 12.1.0 all compile and load/run OK..

Details are here:

$ uname -a
Linux rglinux 4.5.0-rc1 #1 SMP Sun Jan 24 15:39:14 PST 2016 x86_64 x86_64 x86_64 GNU/Linux

Robert Gadsdon.   January 24, 2016.

NVIDIA – New Beta 361.18 – OK with Plasma/KDE5..

Just installed the latest NVIDIA beta driver – 361.18 – and it is now OK with Plasma and KDE5..

Release notes and download link here:

Notes include: ”Fixed a bug in the EGL driver where a mutex was unlocked more than once. This triggers undefined behavior, and in particular, if lock elision is enabled in glibc, may result in a segmentation fault.”

* ”lock elision” is not a typo – it is described here:

Robert Gadsdon.   January 13, 2016.

Kernel – 4.4 Released – OK with Latest NVIDIA and VMware..

Updated to Kernel 4.4 ‘Final’ on the test system, and the latest VMware (12.1.0) and NVIDIA (358.16) compile and run OK..   The ‘beta’ driver 361.16 should be OK, but has multiple userland issues on my systems. – see previous post.)..

$ uname -a
Linux rglinux 4.4.0 #1 SMP Sun Jan 10 22:00:41 PST 2016 x86_64 x86_64 x86_64 GNU/Linux

Details of changes since -rc8 are here:

Robert Gadsdon.   January 11, 2016.

NVIDIA – Beta Driver 361.16 Breaks Plasma/KDE5..

Updated the tests system to the latest ‘beta’ driver 361.16, and this broke Plasma/KDE5..    This driver is supposed to introduce the ‘vendor neutral’ libglvnd option:

$ ll /usr/lib64/libGLX*
lrwxrwxrwx 1 root root 23 Jan 7 10:17 /usr/lib64/ ->
lrwxrwxrwx 1 root root 23 Jan 7 10:17 /usr/lib64/ ->
-rwxr-xr-x 1 root root 1115368 Jan 7 10:17 /usr/lib64/
lrwxrwxrwx 1 root root 11 Jan 7 10:17 /usr/lib64/ ->
-rwxr-xr-x 1 root root 73352 Jan 7 10:17 /usr/lib64/

The install prompts to install the ‘complete’ libglvnd, but Plasma/KDE fails if you select the ‘install/overwrite’ option, and KDE5 fails with a ‘Could not start kdeinit5’ error if you select the ‘do not install’ option..

The workaround is to revert to driver 358.16..

This has already been covered in more detail on the NVIDIA forum..

Robert Gadsdon.   January 7, 2016.


Fedora – Installing a Working ZoneMinder..

Installed ZoneMinder ( ) for some IP and WiFi cameras, and the first thing to remember is to not use the Fedora version!    This is due to the lack of ffmpeg and vlc support in that version, which makes the software somewhat less than useful..

Fortunately, there is good Fedora support, with a fully-functional version – and instructions – at   The instructions are good, but there are a couple of extra things to bear in mind..

The instructions seem to ‘recommend’ using mysql-community for some reason, but I am already using mariadb for several other projects, and it seems to work just fine with the latest version of ZoneMinder..

The Fedora repos need to be prevented from installing their functionally-challenged version of ZoneMinder,  and there are instructions on how to do this, but the changes ( adding the line exclude=zoneminder* ) need to be applied to fedora-updates.repo and fedora-updates-testing.repo, as well as to fedora.repo..

In my setup, I used ‘Workaround #2″ from the instructions..

So many Linux installation instructions these days seem to be Ubuntu/Debian-centric, and it is refreshing to see one that embraces the freedom of choice that using Linux is supposed to represent…

Robert Gadsdon.   December 24, 2015.



ARM – Pi2 – Kernel 4.4-rc5 – U-Boot Fail, and Workaround..

Recently attempted to update the Pi2 to Kernel 4.4-rc5, and encountered a problem..

The more recent proprietary Raspberry Pi 2 kernels have switched to using ‘DTB Overlays’ to control various components, but these are – currently – unsupported by U-Boot..

Booting the kernel with U-Boot results in mmc errors, and register dump:

timeout waiting for hardware interrupt.
mmc0: cmd op 25 arg 0x399f800 flags 0xb5 - resp 00000900 00000000 00000000 00000000, err 0
mmc0: data blocks 8 blksz 200 - err 0
mmc0: stop op 12 arg 0x0 flags 0x49d - resp 00000000 00000000 00000000 00000000, err 0
mmc0: =========== REGISTER DUMP ===========
mmc0: SDCMD 0x00000099
mmc0: SDARG 0x0399f800
mmc0: SDTOUT 0x017d7840
mmc0: SDCDIV 0x00000003
mmc0: SDRSP0 0x00000900
mmc0: SDRSP1 0x00001918
mmc0: SDRSP2 0xffffffff
mmc0: SDRSP3 0x0002c01f
mmc0: SDHSTS 0x00000000
mmc0: SDVDD 0x00000001
mmc0: SDEDM 0x00010801
mmc0: SDHCFG 0x0000050e
mmc0: SDHBCT 0x00000200
mmc0: SDHBLC 0x00000001
mmc0: ===========================================

The DTB Overlays only function with the old primitive bootloader – using parameters in config.txt..

After trying many options in the kernel config for mmc drivers, I eventually found a (nasty hack?) workaround..

I tried substituting an older known/good version of bcm2709-rpi-2-b.dtb (from Pi2 Kernel 4.0.5-rc4) for the ‘new’ one, and it booted OK..

Fedora 23
Kernel 4.4.0-rc5-v7 on an armv7l (ttyAMA0)
]# uname -a
Linux rgpi2 4.4.0-rc5-v7 #2 SMP PREEMPT Sat Dec 19 21:17:19 PST 2015 armv7l armv7l armv7l GNU/Linux

It makes some sense to control optional components using DTB Overlays, but odd that they seem to be used for major fixed components as well?

Robert Gadsdon.  December 20, 2015.

ARM – Kernel 4.4-rc4 on the BananaPro..

Just got a ‘BananaPro‘ ARMv7 board, and updated it to Kernel 4.4-rc4 (from and Fedora 23.

bananaproMore details are here:

I compiled U-Boot from the latest (2015.10) released version, from :

# cd u-boot
# make Bananapro_defconfig
# make ARCH=arm CROSS_COMPILE=arm-linux-gnu-  (or whatever cross-compiler you are using)

Then as root, copy to the SDCard (mounted via USB..)

# dd if=u-boot-sunxi-with-spl.bin of=/dev/sde bs=1024 seek=8

I used one of the standard Fedora 23 images (Workstation), from

The initial kernel (cross-)compile was done on an x86_64 system, and copied to the F23 SDCard.   Further compiles will be done on the BananaPro itself, as follows:

make sunxi_defconfig
make xconfig (select Allwinner A20 - sunx7i)
make -j3 zImage
make dtbs
make -j3 modules
make modules_install
make firmware_install
cp arch/arm/boot/zImage /boot/uboot
cp arch/arm/boot/dts/sun7i-a20-bananapro.dtb /boot/uboot

Note that many BananaPro examples show uImage, but zImage works fine….  To avoid anything being overwritten by Fedora updates, I created a /boot/uboot directory for the compiled kernel image and dtb..    I modified the kernel config selections as necessary for Fedora (EXT4 POSIX, etc., and devtmpfs, and Tmpfs POSIX, etc..)

I modified the U-Boot parameters as follows:

setenv bootdelay 10
setenv bootargs "console=ttyS0,115200 console=tty0 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait"
setenv bootcmd "ext4load mmc 0:1 0x46000000 uboot/zImage; ext4load mmc 0:1 0x49000000 uboot/sun7i-a20-bananapro.dtb; bootz 0x46000000 - 0x49000000"
< then saveenv to save to mmc >

Then the system booted OK:

Fedora 23 (Twenty Three)
Kernel 4.4.0-rc4 on an armv7l (ttyS0)
]# uname -a
Linux rgpro 4.4.0-rc4 #4 SMP Thu Dec 10 15:35:50 PST 2015 armv7l armv7l armv7l GNU/Linux

Robert Gadsdon.  December 13, 2015.