Fedora Project Ambassador. Favorite piano key: C#

Page 3

Running .NET Core RC2 on Fedora 23

If you want to try the latest and greatest of .NET Core on your Fedora machine you will be sad to hear that there isn’t a package available at the official website yet (Fedora support is coming):


Luckily with some strace magic and a package from CentOS repository it is very easy to set it up.

First let’s download the CentOS package from the official storage and unpack it:

mkdir ~/dotnet
cd ~/dotnet
wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/1.0.0-preview1-002702/dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz
tar xf dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz
rm dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz

And you’re done! There is a dotnet executable file which you can try to run but sadly it won’t work just yet…

[fedora@localhost dotnet]$ ./dotnet --version
Failed to initialize CoreCLR, HRESULT:

Continue reading →

Presenting at Tarabica 2016 Belgrade - Conference report

This year I was very surprised and grateful to be invited to speak for the first time at one of the biggest IT conferences in Serbia - Tarabica Conference. It was held at the Singidunum University in Belgrade on May 7th. I met some really great and interesting people there and had lots of fun in the process.

My presentation was titled “.NET Development Toolchain on Linux” and I talked about how you can make great .NET applications using great tools on non-Windows operating systems and also a bit about what is FOSS and how you can use open source libraries in your software. I also had a live demo of a .NET Core application running off my phone where my tinkering experience with GNURoot/Fedora ARM really paid off.

I wanted to write a quick report on this awesome event so here it goes…

Before the conference

To start, when I was invited to be a speaker I only knew vaguely what I will...

Continue reading →

Crouton Fedora new version available!

Hey everyone! New version of my Crouton fork for Fedora is available at:


I’ve managed to clean the scripts even further, and now it is using Docker images from Koji to set itself up instead of downloading RPM’s. You save a lot of data and a lot of time. It now can install a base Fedora system in less than a minute. See it in action:


Have fun and send patches! :)

View →

DBus woes with Fedora in a chroot

If you try to run Fedora in a chroot you may encounter a very annoying issue of DBus simply not working at all. I was trying to install XFCE4.12 inside my Fedora 23 chroot in the GNURoot application and I was getting these errors:

(xfce4-session:32537): xfce4-session-CRITICAL **: Unable to contact D-Bus session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

The same error was also present in the GNURoot Debian app. Fortunately it wasn’t showing in the old, old Fedora 17 chroot, where XFCE4.8 worked like a charm.

So I thought it is a XFCE4 issue. Sadly this wasn’t the case and I lost much precious time trying to debug this. Fortunately after much trial and error I can offer a simple solution (which isn’t pretty) but...

Continue reading →

Installing Mono and .NET Core with Kestrel on Fedora 23 (Quick guide)

Installing Mono and .NET Core is very simple on Fedora 23, even though there are no official docs.

Step 1: Install Mono and dependencies:

sudo dnf install mono-devel openssl-devel libunwind

or, if you want to install Mono from their repository (newest stable versions):

sudo rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
sudo dnf config-manager --add-repo http://download.mono-project.com/repo/centos/
sudo dnf install -y mono-complete openssl-devel libunwind --refresh

Step 2: Install libuv (for Kestrel):

sudo dnf install libuv libuv-devel

Step 3: Install dnvm (dot-net-version-manager) and test it:

curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
dnvm list  should return blank list

Step 4: Install the latest .NET runtime (Mono and coreclr)


Continue reading →

Running Fedora off a USB flash drive (performance tips)

I wanted to try running Fedora outside of chroot on my Chromebook. Because I didn’t want to mess with the complicated ChromeOS partition structure I decided to install Fedora to a USB flash drive.

The USB drive

I wanted to get a nice and quick USB3 flash drive which had low-enough profile so it doesn’t stick too much out of my Chromebook’s USB port. Sadly there aren’t that many options, there is the SanDisk Ultra Fit drive and Kingston DataTraveler micro 3.1. I went with the Kingston drive because it was available in my country while SanDisk wasn’t. It’s made of metal and it sticks about a centimeter out of the USB port, so it doesn’t get in the way at all. The performance is mostly as advertised, I am getting about 95MB/s reads and around 15MB/s writes which is mostly fine for running Fedora. The drive gets a bit hot under load but nowhere near uncomfortable. It’s also worth...

Continue reading →

Fedora on non-rooted Android phones - 2016 another update!

After much trial and error and fighting with permissions, I’ve managed to create a much more simpler way of getting a Fedora 23 chroot running on a non-rooted Android phone. So here it goes:

  • Download GNURoot and GNURoot Fedora Remix from the Google Play Store and install them both
  • Download the Fedora 23 replacement package I’ve built here:

SHA256: cac8137c15e2bd3321be120ee658efab5aeccaa62494455e2ca90936982844e3
File size: 290,476,814 bytes

This is only for ARM processors, sorry, if you need other architecture, please use the tutorial.

  • Copy the file to your Android phone/tablet internal storage obb folder. I like to use ADB over MTP:
adb push [path to downloaded file] /sdcard/Android/obb/champion.gnuroot.fedora/main.3.champion.gnuroot.fedora.obb
  • Open GNURoot and install Fedora chroot by choosing it...

Continue reading →

Fedora on non-rooted Android phones - 2016 update


Hi everyone, just wanted to give you a quick update on the Fedora in a Android chroot project. Anyway, I’m pleased to report that my tutorial here:


is still working fine! I am currently working on an image which would replace the original Fedora 17 image from GNURoot, so that you don’t have to install the “helper distribution”. (edit: DONE! http://nmilosev.svbtle.com/fedora-on-nonrooted-android-phones-2016-another-update) The only missing bit is the Fedora 23 image, so I created one which you can download from my Google Drive here:


SHA256: a2f0b18906cfc1d8ed0e866631d8f33993d5e5f838caa894ce6da7a925e51f24
Size: ~200MB
Installed: ~700MB

It’s an untouched Fedora minimal ARM image rootfs tarball, with some stuff removed (like kernel, boot partition etc.). You can follow the old tutorial with this file and it will...

Continue reading →

Crouton Fedora new home

It is much easier for me to maintain a git repo than to update my blog so Crouton Fedora is moved here:


Now 100% VNC server free. :)

Have fun!

View →

Fedora Crouton connector (Chrome App) - Fedora Crouton update

I’ve created a small Chrome App for if you are using my version of Crouton with Fedora which makes it possible to quickly connect to the running VNC server. RealVNC was great to me, but I couldn’t really configure it to my liking. I found this, an old project based on noVNC for Chrome and based my work of it. Here it is in action:


sorry for gif quality here, svbtle doesn’t like it, please right click it and see it in a separate tab

This app connects to whatever VNC server is on the localhost:5901. It connects with high quality and fullscreen which is recommended for a local VNC server. The contents of my ~/.vnc/config file are:

  • localhost - only accepts connections from localhost
  • securittypes - since I only allow connections from localhost i disabled all security so I don’t have to type my password every time
  • depth - color...

Continue reading →