Number of times each package was installed + upgraded in Arch Linux

I’ve made a Python script that (for now at least) plots the number of times each package on my system was installed + upgraded. That is, if the y-axis reads “2”, it means the package was installed and upgraded once. If the y-axis reads “1” it means the package was installed once and never upgraded.

As my system is rather new (about 2 months old), most packages were not upgraded. The package that was most upgraded was Linux (10 times), followed by youtube-dl and python-setuptools. I decided to only show the name of these 3 packages as they were the most upgraded and the x-axis would contain 531 package’s names if I were to show them all.

I seek to post the code soon on github so you can use it and modify it as you wish.

 

Advertisements

Entropy in /dev/random vs used RAM

This time I didn’t really know what to let my computer do. So I opted to let it calculate the correlation between used RAM and entropy pool level in /dev/random. At first I thought that there would be no correlation whatsoever since I thought that the two variables were almost totally unrelated. It turns out I was wrong but that makes sense now.

In order to fulfil this task, I decided to make a measurement of both values every 5 seconds, during a few hours where I’d use the computer and some minutes where I wasn’t.

The bash and R scripts that I used can be found on my github repository.

And the results there.

Here’s a plot of both the entropy and used RAM in function of time.

entropy-ram  Like one could guess from the plot, the correlation is negative. For the whole data (that goes outside the range of the graph), the correlation turns out to be worth about -0.20.

One explanation for such (surprising to me) result is that the more used RAM implies more programs running and programs seem to use /dev/random (though I wonder why they don’t use /dev/urandom instead since the latter is “ok” for more than 99% of purposes including random password generators).

One day later I decided to rerun the experiment, this time well after having rebooted my machine so that I don’t start with a low used RAM (and high entropy pool level). To my surprise the results were quite different: the correlation is worth only -0.02. A graph of the results an be found below:

entropyvsRAM-secondtry

It looks like long period of inactivity left both my used RAM and entropy pool level oscillating around a certain value, and as soon as activity went up in my computer both values started to be more chaotic.

HP pavilion x360 and Linux, dual boot with Windows 8.1 (part 2)

The other problem I faced was reboot/shutdown not working and booting would get stuck approximately once out of three times. The fix is simple and involves disabling two kernel modules: “echo “blacklist dw_dmac” | sudo tee -a /etc/modprobe.d/blacklist.conf” and “echo “blacklist dw_dmac_core | sudo tee -a /etc/modprobe.d/blacklist.conf“. These problems should be gone. Source: https://askubuntu.com/questions/580666/ubuntu-14-10-startup-shutdown-issues-w-hp-pavilion-x360.

Hope it helps.

HP pavilion x360 and Linux, dual boot with Windows 8.1 (part 1)

I have an HP Pavilion 11-n030ar x360 Notebook (see http://support.hp.com/us-en/document/c04439109 for the specs) and I faced two major problems when trying to use Linux (any distribution, but let’s say Arch in particular). Thanks to duckduckgo/google I know that other laptop users have faced and will face the same problems so I hope that I can help them.

The first difficulty, assuming you want to install Linux alongside Windows 8.1 in uefi mode, is that the machine will boot Windows 8.1 before anything else, so no way to access Grub or Gummiboot, etc. Well there’s a way that’s cumbersome, it’s to go into the uefi settings from Windows and then pick an option (F9 on my machine) to choose grub, to boot into Linux. But to really install it like it should be, you must go through a hack.

It seems like HP firmware wants to boot Windows no matter what, so the hack consists in renaming a linux.efi file into bootmgfw.efi and move it where the windows efi file is (and replace it) so that HP will boot Grub first, thinking it’s Windows.

I’ll assume from now and on that you have disabled secure boot and fast boot in Windows and that you have installed Linux on your hard drive. Install efibootmgr and grub.

Using the command “efibootmgr -v“, check the path of bootmgfw.efi (that’s the Windows efi file that HP uses to boot the machine) and check the grubx64.efi file from Linux. Now rename bootmgfw.efi into for instance bootmgfw.efiold. With the comandline, to do so you can do: “# mv /path_to_bootmgfw/bootmgfw.efi /path_to_/bootmgfw.efiold“. Now rename the grubx64.efi into bootmgfw.efi and move it to the path where bootmgfw.efiold is. You can do for example “cp path_togrubx64/grubx64.efi path_to_bootmgfw/bootmgfw.efi“. Now a reboot should bring Grub instead of Windows. The problem is that choosing Windows won’t boot it. For it to boot properly you’ll need to create the file /etc/grub.d/40_custom and place in it the part in the file /boot/grub/grub.cfg that refers to Windows (that is, the part that beings with “menuentry ‘Windows …’ which is situated between ### BEGIN (path) ### and ### END (path) ###. Once done, regenerate the grub.cfg file with “# grub-mkconfig -o /boot/grub/grub.cfg“. Now the whole problem should be fixed and you should be able to dual boot with Windows 8.1 normally.

Sources: https://askubuntu.com/questions/235567/windows-8-removes-grub-as-default-boot-manager, https://xpressubuntu.wordpress.com/2014/04/14/how-to-reinstall-grub-after-windows-8-1-upgrade-on-a-hp-pavilion/.

See part 2 to see the other problem I faced.