eca-lkm ======= eca-lkm is a Linux kernel module (LKM) that provides a pseudo-random number generator (PRNG) based on an elementary cellular automaton (ECA) that follows Wolfram's Rule 30. Installation ------------ Building a kernel module requires properly configures kernel source and headers. To compile eca-lkm from source code: $ make To install the newly-built module into the module tree (will need root privileges, e.g. with 'sudo -E'): $ make modules_install To load the installed module: $ modprobe eca30 or, alternatively, to load it from the source tree: $ insmod eca30.ko This will create a new character device, /dev/eca30. udev ---- To have a device with proper attributes created under /dev when your module is loaded, copy the file named 99-eca30.rules to /etc/udev/rules.d $ mkdir -p /etc/udev/rules.d $ cp 99-eca30.rules /etc/udev/rules.d dkms ---- To have your module automatically rebuilt with every kernel update, you can install DKMS and use it to manage your module. Under /usr/src create a directory named eca30-0.0.1 and copy the source files into it. Then install the module: $ dkms install -m eca30 -v 0.0.1 Usage ----- Reading from /dev/eca30 produces random numbers. Writing to /dev/eca30 changes the internal state of ECA ("random pool"). Licensing --------- eca-lkm is free software, and is released under the terms of the GNU General Public License version 2 or any later version.