RDRAND命令を使って高速にランダムなバイト列を出力するコマンドを作ってみた

高速にランダムなバイト列を生成するコマンドが欲しかったのでRDRAND命令を使って作ってみた。

https://github.com/SUZUKI-HIRONOBU/rdrand

RDRAND命令に関しての詳しい説明はインテルのサイトにあるので、そちらをじっくり読んで欲しい。

https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide/

日本語訳バージョン

https://www.isus.jp/security/drng-guide/

Ubuntu 16.04 LTS でカーネルが 4.4.0-143 に上がったらVirtualBoxがブートしなくなった

Ubuntu 16.04 LTS でカーネルが 4.4.0-143 になったらVirtualBoxがブートしなくなった。出ているメッセージは次の通り。

Kernel driver not installed (rc=-1908)
The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

/sbin/vboxconfig
as root.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT. 

しかも/sbin/vboxconfigを動かしても途中でエラーになる。エラーログを見てみるとこんな具合なコンパイルエラーメッセージが出ていた。

/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1113:18: error: too many arguments to function ‘get_user_pages’
             rc = get_user_pages(pTask,                  /* Task for fault accounting. */
                  ^

マジでガチなコンパイルエラーである。ソースコードをみても何をどうしていいかわからない。そこで森羅万象なんでも知っているGoogleにキーワードをぶちこんで検索してみると、こんなページが出てきた。

Kernel 4.4.172 Breaking Some Application
https://slackblogs.blogspot.com/2019/02/kernel-44172-breaking-some-application.html

このページと同じ要領で修正した。もちろん、カーネルバージョンを4.4.143にしている。

修正後、/sbin/vboxconfig を動かすと問題なく終了し、無事、VirtualBoxが立ち上がった。この参考にしたブログエントリーを書いてくれた Willy Sudiarto Raharjo さんに感謝!

AdafruitのRiRTCを入れてRTCで時間を管理してみた

AdafruitのRiRTCを入れてRTCで時間を管理してみた。

ハードウェアとソフトウェア

使ったハードウェアとソフトウェアは次の通り。

RASPBERRY PI 3 MODEL B+
https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/

RASPBIAN STRETCH WITH DESKTOP AND RECOMMENDED SOFTWARE
Image with desktop and recommended software based on Debian Stretch
Version:November 2018
Release date:2018-11-13
Kernel version:4.14
Release notes:Link

https://www.raspberrypi.org/downloads/raspbian/

Adafruit PiRTC - PCF8523 Real Time Clock for Raspberry Pi
https://www.adafruit.com/product/3386

続きを読む