Linux

@RedHat Home Notes Linux Aviation

My computer notes may have additional material on Linux, such as a sample DHCP daemon configuration for JavaStations, sample Makefiles for out-of-tree drivers, etc.

SDR

rtlsdr-0.20121104-1.fc17 SRPM: The quickest and dirtiest RPM for RTL-SDR.
python-rtlsdr-0.20121104-1.fc17 SRPM: Ditto, for pyrtlsdr.
rtlsdr-0.5.0.7-1.fc19 SRPM: same for Fedora 19
rtlsdr-0.5.1-1.fc19 SRPM: update
rtlsdr-0.5.3.6-0.1.d447.fc21 SRPM: update
rtlsdr-0.5.4.11-0.1.13e6.fc27 SRPM: update

Glie is an open source ADS-B traffic project, hosted at Github.

Slasti

Slasti is a webapp for anti-social bookmarking. Unlike most such apps, the end product is the source code, and not a website. So, in order to use Slasti, one does not go to a URL and signs up. Instead, one installs Slasti on his own webserver.

slasti-1.0.tar.gz - initial release (intented to be released under GPL v2)
slasti-1.1.tar.gz - extra help for tablets, in JavaScript
slasti-1.2.tar.gz (SRPM, noarch) - mostly documentation changes for SSL
slasti-1.90.tar.gz - checkpoint after a major surgery with templates, has #if/#while.
slasti-1.95.tar.gz (SRPM, noarch) - release candidate with Python-based templates, no #if/#while.
slasti-2.0.tar.gz (SRPM, noarch) - same as 1.95 with consmetic fixes. The template trauma is behind us now.
slasti-2.0.3.tar.gz (SRPM, noarch) - small fixups for 2.0: generated bookmarklet, preload bugfix.
slasti-2.1.tar.gz (SRPM) - switch to Python 3 (the only release that is fully compatible and runs on either Python 2.7 or Python 3.5 without any changes).

OpenStack

The git-review is packaged in Fedora (review bug 772751), so it's not here anymore.

The python-swiftclient is another part of Swift now split off (after Swift 1.5.0). You want this if you roll your own openstack-swift-1.5.1 RPMs.
python-swiftclient-1.0-1.fc16.noarch.rpm python-swiftclient-1.0-1.fc16.src.rpm
python-swiftclient-1.0-2.g12519ce0.fc16.src.rpm

The "swauth" the old Swift-specific authentication middleware. The 1.0.2 RPMs are cut from gholt's repo. You should be using Keystone instead.
openstack-swauth-1.0.8-1.el6.noarch.rpm, openstack-swauth-1.0.8-1.fc18.noarch.rpm, openstack-swauth-1.0.8-1.fc18.src.rpm
openstack-swauth-1.0.4-1.fc16.noarch.rpm, openstack-swauth-1.0.4-1.fc16.src.rpm
openstack-swauth-1.0.2-2.el6.noarch.rpm, openstack-swauth-1.0.2-2.el6.src.rpm

keystone-logging.diff: logging in Keystone middleware (in context of Swift, but actually same everywhere).

Image Warehouse

(some obsolete code)

rhevreg.py - Script to register an image in RHEV-M. It matches closely what is known as dc-rhev-image in IW, only in Python (uses REST API).
rhevreg.conf - Example configuration for rhevreg.py. Note that both "permanent" configuration (such as host) and "one-time" paratmeter (image name) are in it together. That is because the configuration is supposed to be written on the fly by iwhd.

iwhd-1.2-krb.diff: Patch to add server-side Kerberos through GSSAPI. Compatible with a stock curl, but works better with a patch to set service name (below).

Hail

See Wiki for details.

Hailcam

Source tree was relocated to Github.

fswebcam-ov511-1.diff: Patch to support OV511 in fswebcam. Not submitted upstream because I'm not happy with the 2-step conversion.

Hail and tabled RPMs for RHEL 6

hail-0.8-0.1.z10.el6.src.rpm
chunkd-0.8-0.1.z10.el6.x86_64.rpm
cld-0.8-0.1.z10.el6.x86_64.rpm
hail-0.8-0.1.z10.el6.x86_64.rpm
hail-devel-0.8-0.1.z10.el6.x86_64.rpm
tabled-0.5-1.0.z10.el6.src.rpm
tabled-0.5-1.0.z10.el6.x86_64.rpm

poke6

poke6-v1.tar.gz: A client for Amazon S3 in C that uses Hail.

X11

xf86-video-sis-0.9.3-4.z1.diff: Patch for libpciaccess in SiS driver. The PCI Rework HOWTO is partially obsolete and incomplete, yet is made immutable, so I cannot fix it up. Anyway, HOWTO is not even needed; it's all in the patch.

The usbmon

Documentation for usbmon (lowercase) is available as a text file /usr/src/linux/Documentation/usb/usbmon.txt or /usr/share/doc/kernel-doc-2.6.*/Documentation/usb/usbmon.txt. I do not keep a copy on the website anymore, because it would always be out of date. A Linux™ distribution ought to ship one as a part of kernel-source or kernel-doc package.

OLS05_zaitcev.pdf: The usbmon: USB monitoring framework: My paper about usbmon (lowercase) presented at Linux Symposium 2005 (formerly known as OLS).

linux-2.6.27-monbin1.diff: Implementation of the v.1 ABI, non-modal.

usbmon 6: Sample userland for the binary API (6: mmap (may be shaky), time wrap, ASCII in -fh).
usbmon 6.1: Same (6.1: include <sys/sysmacros.h> and the cancer of unsigned).

usb-devices.sh: Randy Dunlap's script that emulates the legacy /proc/bus/usb/devices on a /sys based system.

linux-2.6.18-32.el5-jujumon2.diff: Jujumon -- the usbmon clone for Firewire. This needs a lot more work before it's useful for a general hacker.

Useful Miscellanea

Things

linux-install: The script I use to install kernel. Read this to see how to do it.
linux-collect: A version of linux-install used to install into /tmp for a subsequent scp somewhere else.

dontdiff: A fixed-up copy of Tigran's dontdiff. This is made obsolete by .gitignore files.

blitz: Share your clipboard between hosts with: xclip -o | ssh targethost.domain.com blitz. [LJ]
blitz-to: Wrapper, to be run from GNOME menu.
Note: The blitz is superceded by blitz2-cli. [LJ]

curl and Kerberos

I threw together a quick patch that permits to set the Kerberos service name. Unfortunately, it has to be updated all the time, because options have numbers.

curl 7.21.6-2, 7.21.7

ALSA 0.9.x in mpg123

This is a fix for mpg123-0.59r which makes it run on Fedora Core 3. It was a completely pointless excercise, because a) mpg123 is not Free Software, b) libao supports ALSA 0.9.x API, c) mpg321 is Free Software and works through libao. I was just curious how to program ALSA and this was a good excuse. Do not use this code as a sample, use libao instead.

More Unnamed Majors

ANK RARP daemon mptable

jsflash_02.tar.gz: Flash programmer for JavaStation OS Flash SIMM which drives /dev/jsflash.

bigphysarea-2.2.16-p3.tar.gz: Oneliner to the Matt Welsh's & Pauline Middelink' bigphysarea-2.2.13. It would be a patch-for-a-patch, so it ends in a tarball.

dumpmm: Program that dumps slabs in order to search for memory leaks.

sirc fixes:

Canon MultiPASS F50

This program is unfinished, because my printer died during its development. It has all the basics and can be beaten into shape by someone who cares. This also serves as an example code for usbfs interface.

canonf50.tar.gz: The tarball.

JavaStation and PROLL

My Krups

JavaStations come with two versions of PROM, 2.30 and 3.11. Linux works with 2.30 out of the box. In 3.11 Sun changed virtual memory layout and discarded an improtant interface (romvec). Thus 3.11 is not compatible with Linux.

My solution for the PROM 3.11 problem is Proll. Proll is a PROM replacement which takes over the machine instead of original PROM and presents a 2.x interface to Linux kernel. Documentation is not available yet but the code is easy to read as I hope. Current of Proll is ID18, which supports all SPARC based JavaStations. Download it from the following list.

I am not good at documenting stuff, but Robb Dubinski wrote a nice HOWTO, located at http://www.tldp.org/HOWTO/JavaStation-HOWTO/index.html.

Jim Mintha has filesystem images at http://www.ultralinux.org/js. Those are snapshots of a live system originally based on Red Hat 5.2.

On JavaStation-E a hardware fix is needed to get IDE interrupts.

Patches Galore

dhcpd.lpf.c: Small fix for ISC DHCP 2.0 to boot JavaStations that send 1514 byte packets.

gdb-5.0 has problems on Sparclinux, here is my patch.

lvm2-2.02.43-ub.diff: Add ub to lvm2, or else pvcreate fails with "Device /dev/uba4 not found (or ignored by filtering)." [link]

linux-2.4.18-pre7-cmsfs.diff: Alan did not merge cmsfs to Linus, so I keep it here. With fixes.

linux-2.6.16-rc5-tivo1.diff: Patch which I used to read the partition table on my Series 2 TiVo when the hard drive started to throw errors.

linux-2.6.23-ap.diff: Patch to make the screen in NEC Versa V/75 not offset in the 50x30 mode. It was a regression when the startup code was recoded from assembly into C, but I don't want to get involved. Old code always used BIOS mode 3, so just hardcode mode 3.

linux-2.6.27-204396-5.diff: The Final Fix to libusual: add the class. It serves as a hook to tell us when it's safe to invoke request_module on boot. Updated for Alan Jenkins.

Barbie(r) Camera

The Barbie Camera or "bcam" is a toy camera with an RS-232C link to a computer. Its resolution is far from top notch: 124x162, 224 levels of color in each cell. The trick is that every cell senses only one color, so that true resolution is about 60x80 in full color. Bcam is based on a low resolution sensor, model 6300, developed by former VLSI Vision.

Eric Brombaugh developed an asonishingly good support for the Barbie Camera, located at his page. Please use Eric's code or Gphoto. My code below is posted only as a reference.

Barbie Camera is a registered trademark of Mattel Toys.