Linuxカーネルのある1行にまつわる想い出
先日していただいた取材記事のなかで、こんな話をちょっとした。
大学生の頃がちょうど日本のインターネットの黎明期で、大学院生の頃にはAT互換機にLinuxをインストールして、自分のマシンで動くようにカーネルのソースをいじったりもしていました。
そういえばこれ、いつごろの話だっけと思って検索したら、いろいろ思い出したので書いておく。
大学院生の頃、ろくに学校に行かずにひきこもっていた時期がある。本を読んだり、プログラムを書いたり、羽生さんの棋譜を並べたり、自分が将来どうしたらいいかがわからなくて、眼の前の好奇心を満たしつつ、時間をつぶすためだけに行動していたのだ。
当時のLinuxは、そもそも自分のマシンでまともに動かすのがたいへんだった。世界中のオタクたちがよってたかって作っているプログラムではあったけど、いまほど参加者がたくさんいないから、足りないデバイスドライバがたくさんあったからだ。
Linuxのコアのプログラムをカーネルという。そのころ、ぼくは自分のもっているPDという記憶装置のための改造をカーネルのコードに施した。とはいえ、1行だけちょろっと追加しただけのしょぼい改造だ。でもそれで、ぼくのPDドライブはばっちり動くようになった。
当時はGitHubは存在していなかったので、カーネル開発のための各種投稿は、”Linux-Kernel ML”というメーリングリストに、コードの差分を貼り付けるという形式で受け付けていた。それをLinus Torvalds以下、主要な開発者が読んで、ひとつひとつマージするのだ。
メーリングリストのログはいまでもネット上に保存されていて、ぼくが投稿したログも発見できた。日付を見たら、ちょうど20年前だ。
Title: scsi.c: very small patch for 2.2.3
From: Sadaaki KATO (skato@venus.dti.ne.jp)
Date: Wed, 17 Mar 1999 04:25:03 +0900
Hi,
My NEC ATAPI-PD/CD drive is working fine on kernel 2.2.3
with SCSI-emulation and "CONFIG_SCSI_MULTI_LUN".
This patch enable 'NEC ATAPI-PD user' to disable
"CONFIG_SCSI_MULTI_LUN".
*** scsi.c.org Mon Mar 15 03:55:48 1999
--- scsi.c Mon Mar 15 03:56:15 1999
**************
*
*** 276,281 ****
--- 276,282 ----
{"EMULEX","MD21/S2 ESDI","*", BLIST_SINGLELUN},
{"CANON","IPUBJD","*", BLIST_SPARSELUN},
{"nCipher","Fastness Crypto","*", BLIST_FORCELUN},
+ {"NEC","PD-1 ODX654P","*", BLIST_FORCELUN | BLIST_SINGLELUN},
{"MATSHITA","PD","*", BLIST_FORCELUN | BLIST_SINGLELUN},
{"YAMAHA","CDR100","1.00", BLIST_NOLUN},
{"YAMAHA","CDR102","1.00", BLIST_NOLUN},
Would anybody like to merge this patch with kernel source?
Or, tell me more suitable mailing list for this kind of patch.
--
Sadaaki KATO / skato@venus.dti.ne.jp
「+」がついているのがぼくの追加した行なのだけど、この数カ月後のカーネルの新バージョンのリリースに、この1行がマージされていたときは感動したのを覚えている。
気になって、GitHubにある最新のLinuxのソースツリーを覗いてみたら、ちゃんといまでもその1行が残っていた。
こんな古いデバイス、いま使っているひとはたぶんだれもいないんだけどなと思いつつ、上の方にコードをたどるとこうあった。
* Do not add to this list, use the command line or proc interface to add
* to the scsi_dev_info_list. This table will eventually go away.
もうここは使われてないから追加で書くなよ、いずれ消すからな、ということだ。なくなる前に見つけられてよかった。
20年前、将来がまったく見えなくて、しょうがないからひたすら本を読んだり、プログラムを書いたりしていた。不思議なもので、それがいまやっていることにつながっている。ありきたりの言葉になってしまうのだけど、人生というのはおもしろいものだと思う。
Photo by Dlanor S on Unsplash