2006年6月24日

スタイルシートの標準的なこと

CSSを完全理解など遠い未来のこととして、未だにHTML3.2の変種の程度しか理解が進んでいない。なので、スタイルシートばりばりのサイトを見ると、恐怖に戦き、引退に怯える今日この頃。

でも、よさげなページをみっけた。

Mozillaグルー達が「セマンティッククラスの豊富なボキャブラリー」ってやつの定義をまとめてくれている。P_BLOGのCSSはこいつを参考にされているようである。これを使いこなせれば、人並みのCSS生活が送れそうである。

ちょっとはCSSをカスタマイズしてから公開しようかなぁ。 青系にしたい。

2006年6月16日

mkinitrd はどこに行くのだろう

debian etch で initrd イメージを作ろうとし、何も考えず mkinitrd を実行したのだが、ルートファイルシステムが LVMの論路ボリュームのシステムが上手く立ち上がらなかった。

しばらく熟考後、分かったことだがカーネルパラメータ root= の指定方法に問題があったようだ。 論理ボリュームを /dev/VG01/LV01 で指定するか /dev/mapper/VG01-LV01 で指定するかで正しく立ち上がるかの挙動が違う。

/dev/VG01/LV01で起動できるもの

  1. sarge initrd-tools
  2. etch yaird
  3. centos mkinitrd

/dev/mapper/VG01-LV01で起動できるもの

  1. sarge initrd-tools
  2. etch yaird
  3. etch mkinitramfs
  4. fedora core 4 mkinitrd

yaird は System.map/config が無いと上手く initrdイメージが生成できない。xen用カーネルにはまだこれらのファイルが含まれていないのでmkinitramfs でしか作れない。作れても root=の指定を間違うと立ち上がらない。で、小一時間悩むと。

fedora/centosにはfstabに明示的に論理ボリュームのデバイス名を記述してないと正しいinitrdイメージができない。で、これまた小一時間悩むと。

救いなのは、etch mkinitramfs で作成したものは、ほぼ全てのHDDドライバ/RAID/LVMが含まれるので、root=の指定次第でほぼ正しいルートパーティションをマウントした状態でinitに制御がわたせるので、

緊急用のカーネルイメージには最適ですね。fedora/centosの復旧とかに使えて便利でしたねぇ。というか、fedora/centosのmkinitrdが貧弱すぎ。

Xen/AMD64 の意外な制限

最近Barracuda7200.10シリーズで750G HDDが出てきているが、 イマイチ値段が高いので、同シリーズで320Gの容量のものを購入。

取り敢えず、Debian-AMD64のXEN 3.0 上で、fedora 4/5/suse10/debian etch のそれぞれ i386/x86_64のドメインを作ることを画策したが、即撃沈してしまった。

Xen 3.0 では、hypervisorと同じメモリモデルのカーネルでないと domain0/U は起動できないそうである。なので、64 bit の Xen では、domain0/U で起動できるのは、同じ x86_64 のものだけらしい。但し、HVMを使えば i386 でもいけるらしいが、肝心の debian のパッケージには、HVM用のブートローダが入ってないのでお気楽には試せない、、、。

なので、x86_64 用とi386用の二つのXenの環境を用意することに。Xen の Dual Boot 意味ねーなぁ。

Safari の code タグの扱い

</code> 内に改行を入れるとCSSで指定した表示がSafari のみ違う。 何故だが知らないが、閉じタグには改行を入れるのは辞めた方がいいなぁ。

2006年6月12日

Xen 3.0 をちょっと使ってみる

最近の debian sid で xen が使える kernel イメージが用意されるようになったので、debian を使っている人も Xen 環境を作りやすくなっている。

余り安定していないのもなんなので(多分心持ち程度だと思うが)、etch ベースで必要に応じてsidのパッケージを使うように設定する。

まずは、適当なミラーを指定した sid用 apt-line を、sources.list に追加する。

deb http://ftp.riken.go.jp/pub/Linux/debian/debian/ sid main

その後、下記の内容のファイルを /etc/apt/apt.conf.d/99target として作成して、 デフォルトのリリースを testing に指定する。

APT::Default-Release "testing";

次に、必要なパッケージをインストールする。

apt-get install xen-utils-3.0 xen-hypervisor-3.0-i386 \
                 libc6-xen linux-image-2.6-xen-k7

ただ他にも依存関係で必要なパッケージもあるかも。

次に、Xen 自体を起動するように GRUB にエントリーを追加する。

title           Debian GNU/Linux(testing), kernel 2.6.16-2-xen-k7
root            (hd0,11)
kernel          /boot/xen-3.0-i386.gz dom0_mem=524288
module          /boot/vmlinuz-2.6.16-2-xen-k7 root=/dev/hda12 ro console=tty0
module          /boot/initrd.img-2.6.16-2-xen-k7
savedefault
boot

で再起動する。domain0にメモリを512M割り当てているが、もう少し少なくても良いかも。

xm listの出力で Xenが動いているのを確認する。

Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0      512     2 r-----    38.1

このHDDの /dev/hda10 には既にFedora Core 4がインストール済みであり、これをDebian上のXenから起動してみる。

先ずは、Fedora Core 4 に domainU用のカーネルをインストールする必要があるが、yum install kernel-xenUとしてもXen 2.0 用のイメージなので起動できない。 Xen 3.0用のFedora Core 4のイメージはXen 3.0 Downloadsから配布されているので取得して入っているRPMを全部入れる。 この作業は Fedora Core 4を立ち上げても良いし、chroot して行っても良い。 最後に、Fedora Core 4用のkernel/initrd のファイルを domain0 の debianシステムにコピーする。

mkdir /boot/fedora4
mount /dev/hda10 /mnt
cd /mnt/boot
cp vmlinuz-2.6.12.6-xen3_64.1_fc4 /boot/fedora4
cp initrd-2.6.12.6-xen3_64.1_fc4.img /boot/fedora4

次に、 /etc/xen/auto 以下に Fedora Core 4 用に domainU の設定ファイルfedora4.conf を作成する。

name = "fedora4"
kernel = "/boot/fedora4/vmlinuz-2.6.12.6-xen3_64.1_fc4"
ramdisk = "/boot/fedora4/initrd-2.6.12.6-xen3_64.1_fc4.img"
memory = 128
disk = ['phy:/dev/hda10,sda1,w']
root = "/dev/sda1 ro"
ip = "192.168.130.2"
netmask = "255.255.255.0"
gateway = "192.168.130.1"
extra = "console=tty0 selinux=0"

Fedora Core 4システム内の fstab でルートをラベルで指定している場合はそのままで良いのだが、そうでない場合や他のファイルシステムをマウントしている場合は適切に変更の必要がある。

最後に、domainUを作成?する。

xm create -c /etc/xen/auto/fedora4.conf

問題がなければ、

# xm list
Name                              ID Mem(MiB) VCPUs State  Time(s)
Domain-0                           0     1024     2 r-----    40.6
fedora4                            1      128     1 -b----  1353.1

とリストに見える用になる。

まだネットワークの設定はダメダメなので使えていないので、xm console を使った仮想コンソール経由での作業になる。 ただ、Fedora Core 4で 128Mのメモリは少なすぎるのかoom-killerが動いているようである。

まぁ、発注したSATA HDDが来てから AMD64 ベースに切り替えて再度 Xen の環境を整えますかぁね。

2006年6月11日

新しい Athlon64x2 を購入!

寺でプレス発表して禅と引っかけて何だかなと思ったのだが、最近仮想化技術に Xen が面白そうである。

Intel の VT や、AMD Virtualization(AMD SVM)とかを使うと、ゲストOSを修正なしに実行できるようになるらしく、WindowsXPも修正なしに起動できたという報告がある。

いまいち扱いがしづらいP4+P4P800を引退させて、Xen 用に再度組み直すことにした。 で、結局 Athlon64X2 を使うこと、下記の部品を購入して、電源オン。

  1. Athlon64X2 3800+ Box (Socket AM2)
  2. M2NPV-VM
  3. CD1G-D2U667/ELP

動かん。ごにょごにょすると、

  • DDR2 667Mhz Dual-Channelだと起動出来ない
  • DDR2 667Mhz Single-Channelだと起動。でもSingleじゃなぁ、、、
  • DDR2 533Mhz Dual-Channelだと起動!!

仕様がないので、DDR2 533Mhz Dual で使うことで。

手持ちのSATA HDD を使おうかと思ってが、何故か変なエラーが出てる、、、後で買うか。

Xenの雰囲気を味わうためPATAに入れてあった、Debian etch IA32/Fedora Core 4 IA32 で Xen 3.0 上で動かしてみるみようかなぁ。 本運用する場合は、AMD64 上のXENでDomain0/DomainU上で IA32 として使えるかが問題っすね。

まぁ、きょうはこの辺で。

Cocoa Emacs 24.3 構築 (2013/03版)

暫く使っている Cocoa Emacs を更新していなかったので、24.3 に上げてみた。 当てるパッチは inline patch と ポップアップフリーズ対応パッチ くらい。 24.3 には既にフルスクリーン実装が入っているので、よく使われているフルスクリーンパッチは外し...