SVX日記
2004-12-07(Tue) ひさびさの秋葉
平日に秋葉といっても「サボったなッ!! シャアッ!!」というワケではない。またもやYRPで仕事だったのだが、いろいろあって15時ごろにキリがついてしまったのである。15時ごろにキリがついてしまったら「帰り、チョット寄ってきますか」となるのは自然のナリユキである(寄るところがフツーでない気もするが)。ちょうど購入すべき部品もたまりつつあったトコロなのだ。気がつけば、前回の秋葉はSVXで行った11月7日。奇しくもキッカリ1ヶ月である。ここに「1ヶ月の法則」の復活である。
秋月前にツタタタタっと瞬間移動。昨日述べた「テレビのバイパス手術」を行うための部品を購入だ。ステレオオーディオアンプキットとDCジャック、RCAプラグ&ジャック等を適当に購入。どんな接続にするのか、まだちゃんと考えてないので、ちゃんと考えずに適当に購入するのだ。一方で、例のコンデンサ容量計のプローブ用の部品も物色。バナナジャックを買おうと思ったが秋月には見当たらない。安いしミノ虫クリップを適当に買っておく。あとは、不足してたような気がする8pinのPICとDSUB9pinコネクタ、面白そうなSDカードスロットと傾斜スイッチ、SVXのカギの電池が切れた時のためのボタン電池も買っておく。
しかし平日の秋月はスイている。平日は店内を「フツーに歩ける」のだね、知らなかった。それから平日は「レシートか領収書必要ですか?」って店員さんが聞いてくるんだね。平日はお仕事で部品を買いに来ている人が多いってコトだな。以前にロスに行った時、シンガポール航空だと観光用入国書式が、タイ航空だと就労用入国書式が着陸前に配られたのを思い出した。暗黙の型宣言は世界のアチコチで行われているってコトだ。DEFWORKER A-Z(ふるっ!!)。
話は替わるが、秋月の店員さんっていつも紙袋に計算式をサクサクと書いて会計してくれるけど、まちがったりしないのか以前から疑問だった。ここんトコこのBlogに買い物内容を記録しているので、まちがえたりしたらスグわかるのだ。今までまちがっていたことはなかった……が、今回はハデにまちがえていたぞ。しかも計算も単価もだ。計算を200円、単価を10円、30円まちがえて、結局210円も安くしてしまっている。よって以下の表は合計が合わないが、まぁそういうこともあるってことだ。
秋月電子通商 | |||
---|---|---|---|
ステレオオーディオアンプキット | \1,000 | ||
SDカードスロット | \150 | 2 | \300 |
PIC12F629 | \140 | 2 | \280 |
傾斜スイッチ | \100 | 2 | \200 |
DSUB 9pinオスコネクタ | \50 | 2 | \100 |
RCAプラグ | \50 | 4 | \200 |
ミノ虫クリップ | \20 | 4 | \80 |
DCジャック | \30 | 2 | \60 |
RCAジャック | \40 | 2 | \80 |
ボタン電池CR2025 | \100 | ||
\2,190 |
秋月で買えなかった部品を補完すべく、千石へ。おぉ、スピーカーコネクタが見つかるとは思わなかったな。さすが品揃えの千石。入力用のステレオミニのコードとジャック、それに座金付きのLEDも購入してしまおう。LEDは手持ちのモノを使ってもいいけど、座金付きのがキレイにケースに取り付くからね。おぉ、秋月のものより小さなミノ虫クリップだ。バナナプラグもあるな。ゲットだ。地下ではスピーカーコネクタの幅とアンプキットのデカいコンデンサの高さに見合うケースを探す。いいのがあったぞ。テレビに取り付けても目立たない黒いヤツにしておこう。
千石電商2F | |||
---|---|---|---|
スピーカーコネクタ | \380 | ||
ステレオミニコード | \220 | ||
ステレオミニジャック | \50 | 2 | \100 |
ミノ虫クリップ | \20 | 2 | \40 |
バナナプラグ | \40 | 2 | \80 |
座金付きLED(緑) | \90 | ||
\910 | |||
千石電商B1F | |||
ケースSW-85B(60x40x85) | \160 |
ヒロセテクニカル | |||
---|---|---|---|
バナナプラグ | \50 | 4 | \210 |
バナナジャック | \50 | 2 | \105 |
\315 |
それはそうと、カミさんのお父さんが新しいデジカメを買ったのだが、画像の転送をするのにカードリーダが欲しいといっていたので、ついでに探してみた。松下のデジカメだということなので、SDカードリーダで間違いないだろう。これだ。780円か……まてよ、近頃のデジカメならフツーUSB転送ケーブルくらい付いているよな……ということは、イランな。それより、デスクトップPCの背面にしかUSBジャックがないとすると、オモテに出すためのUSB延長ケーブルのが必要だな。これだ。190円か……まてよ、フツー付属のUSB転送ケーブルってったってソコソコの長さがあるよな……ということは、イランな。というわけで買い物なし。
2013-12-07(Sat) 源平討魔伝めぐり
2015-12-07(Mon) 増殖するEFIブートエントリ、キックされないキックスタート
kugutsuスクリプトを完成する都合もあって、やたらFedora23とopenstackのインストールを繰り返していたことで、いろいろと気づいた点があったのでまとめておく。やっぱ、OSS関連の仕事をしている以上、たまにはマシンやデバイスを新調し、いろいろと気づきを得ることは重要だな。いくらソフトウェアのサポート要員とはいえ、OSだけ最新のLinuxを使っていたって気づけない点は多々ある。
とはいえ、ソフトウェアに関しても、角度を変えれば同じこと。何年も前にWindowsから開放されてヒャッハーな気分だったとはいえ、その反面、Windowsの操作に関しては、完全に素人以下になり下がってしまっている気がする。何度か使ってみたものの、まったく興味が湧かないAndroidも同じような状況。まぁ特段、生活にも仕事にも支障は出ていないのだからいいのだけれど。
それはそうと、気づきのひとつとはEFIブート。コンピュータが単細胞生物レベル(?)だった頃のピタゴラ装置的ブート機構をようやく今になって置き換えるものだ。EFIと言えば破廉恥なセキュアブート機構が話題だが、真の狙いのひとつはブート機構をスッキリさせることのはず……だったはずだが、なんだこれは。いつの間にこんなことに。
Fedora
UEFI:CD/DVD Drive
UEFI: Built-in EFI Shell
UEFI:Removable Device
UEFI:Network Device
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
UEFI: SanDisk SDSSDA120G, Partition 1
調べると、どうもEFIブートでは、ブート関連の設定情報をマザーボード上の不揮発性メモリ上に記録するようになっており、OSが起動した後も、その不揮発性メモリへのアクセスは可能らしい。いわゆる稚拙なBIOS画面でゴチャゴチャと操作しなくてもよくなったということか。具体的にいうと、Linuxでは擬似ファイルシステムとしてアクセスが可能であり、Fedoraでは/sys/firmware/efi/efivars/にmountされている。
んが、ディレクトリの中身をlsで見てもほぼハナモゲラだ。エントリ数も妙に多い。何をどうすればいいのかよくわからんが、ブートエントリを操作するために、efibootmgrというツールがあるらしい。試してみたところ「efibootmgr」でリスト表示をさせて「efibootmgr -b 0000F -B」のようにしたら重複エントリを消すことができた。
このefibootmgrがエントリを消す際、具体的には何をしているのか気になったので、straceで処理内容を覗いてみたところ、普通に擬似ファイルシステムに対して、削除や書き換えを行なっているだけだった。ふむん。EFIってそんなモンなのね。
さて、もうひとつの気づきはLinux OSのキックスタートインストール。この機能を使えば、最初に設定内容を渡すだけで、インストール完了までのすべての操作を自動化できるというシロモノ。openstackの環境用には2台のマシンを用意していることもあり、省力化の程度は大きい。
setparams 'Install Fedora 23'
linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=Fedora-S-23-x86_64 quiet ★
initrdefi /images/pxeboot/initrd.img
selinux=0 inst.ks=http://server/anaconda-ks.cfg
続く「inst.ks=http://server/anaconda-ks.cfg」が、キックスタート機能に渡す設定内容。いったんキックスタートを使わずにインストールした場合に/rootに生成されるanaconda-ks.cfgを再利用する。読み込む場所はいろいろと選べるようだが、今回は手持ちのウェブサーバ上に置いて読み込めるように取り計らったので、冒頭がhttp://となっている。
追記が完了したところで「Ctrl-x」を押下すれば、完全自動イントールの開始……かと思ったが、なんだかネット上のFedoraリポジトリを見つけられない様子で、そこから先に進まない。特にマズってるところはないはずなのだが……と思ったら、なんと不具合とのこと。
普通、OSの導入後の不具合ならば修正パッケージで対応されるのだが、この問題は導入後に起きてるんじゃない……導入前に起きてるんだッ!……ということで、一体どうすんのかと思ったら、なるほど、そういう場合のための機構があるのね。キックスタート機能と同様に、修正内容を渡すことができる機構が。つまりこう。
selinux=0 inst.ks=http://server/anaconda-ks.cfg inst.update=http://server/1277638.img
2017-12-07(Thu) タートルグラフィックスを実装
先日に引き続き、ちょっとした用途のため、自製グラフィックライブラリにタートルグラフィックスの関数を追加することにした。習作として、フラクタル図形を描画するプログラムも書いてみる。やり始めたら極めてアッサリと、併せて数時間でできてしまった。
def c_curve(win, n, l)
unless(n == 0)
win.tLeft(45)
c_curve(win, n - 1, l)
win.tRight(90)
c_curve(win, n - 1, l)
win.tLeft(45)
else
win.tForward(l)
end
end
win.tHome
win.tRight(90)
c_curve(win, 12, 4)
def r_dragon(win, n, l)
unless(n == 0)
win.tLeft(45)
r_dragon(win, n - 1, l)
win.tRight(90)
l_dragon(win, n - 1, l)
win.tLeft(45)
else
win.tForward(l)
end
end
def l_dragon(win, n, l)
unless(n == 0)
win.tRight(45)
r_dragon(win, n - 1, l)
win.tLeft(90)
l_dragon(win, n - 1, l)
win.tRight(45)
else
win.tForward(l)
end
end
win.tHome
win.tRight(90)
r_dragon(win, 12, 4)
def tree(win, n, l)
unless(n == 0)
win.tSetPenWidth(n * 2)
win.tForward(l)
win.tRight(25)
tree(win, n - 1, l / 1.5)
win.tLeft(55)
tree(win, n - 1, l / 1.3)
win.tRight(30)
win.tBack(l)
else
win.tForward(l)
win.tBack(l)
end
end
win.tHome
tree(win, 7, 96)