PC-UNIX Tips

二つのホームディレクトリ間でファイルの一貫性制御を行う
Ctrl key と CapsLock key を入れ換える
FreeBSD で SoundBlaster を使うための設定
XF86Config の設定
マルチブートの設定
論理パーティションからの Linux のブート
大容量 HDD のトラブル
JDK for FreeBSD
SONY CD-ROM Diskman PRD-650

PC-UNIX のページに戻る


二つのホームディレクトリ間でファイルの一貫性制御を行う

ノートパソコンに PC-UNIX を入れると通常使っているホームディレクトリ(の 一部)をコピーして使うのが便利であるが, この時この二つのホームディレク トリの間で一貫性の制御を行うのが大変になる. このために開発されたのが, syncdir である.


Ctrl key と CapsLock key を入れ換える

FreeBSD の場合

  1. /usr/share/syscons/keymaps/us.iso.kbd を copy して, 以下 の 2 行を入れ換え, us.isox.kbd を作る. scan code も変えるのを 忘れないように.
      029   lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
      058   clock  clock  clock  clock  clock  clock  clock  clock   O
    
  2. /etc/rc.confkeymap で us.isox を指定.
    keymap="us.isox"	# keymap in /usr/share/syscons/keymaps/* (or NO).
    

Linux の場合

/usr/lib/kbd/keytables/us.map.gz/usr/lib/kbd/keytables/usx.map.gz にコピーし,
keycode  29 = Control
keycode  58 = Caps_Lock
を入れ換え
keycode  29 = Caps_Lock
keycode  58 = Control
とする. そして, /etc/sysconfig/keyboard を以下のように書き換 える.
KEYTABLE="/usr/lib/kbd/keytables/usx.map"
RedHat 5.2 では上記のファイルは /usr/lib/kbd/keymaps/i386/qwerty/us.map.gz となっている. また, KEYTABLE には usx だけで良いようだ. 変更後 loadkeys usx を行う. Kondara-1.2 (RedHat 6.0 以降?)では KEYTABLEus_Ctrl_CAPS を指定する. 変更後 loadkeys us_Ctrl_CAPS を行う.

XFree86 の場合

console で入れ換えた場合, /etc/XF86Config を以下のように指定 すれば良い.
Section "Keyboard"
    Protocol	"Standard"
    AutoRepeat	500 5
    XkbDisable
    XkbKeymap	"xfree86(us)"
EndSection
あるいは, 次のように指定してもできる.
Section "Keyboard"
    Protocol	"Standard"
    AutoRepeat	500 5
    XkbRules	"xfree86"
    XkbModel	"pc101"
    XkbLayout	"us"
    XkbOptions	"ctrl:swapcaps"
EndSection
が, この設定は % XF86Setup の Keyboard section でも行える. ま た, 次の Accelerated-X の場合の方法でもできる(この方法は殆んど全ての X Server でできるはず).

Accelerated-X の場合

以下のファイル
! Swap Caps_Lock and Control_L
!
remove Lock = Caps_Lock
remove Control = Control_L
keysym Control_L = Caps_Lock
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
を, 例えば .xmodmap とし,
% xmodmap .xmodmap
とする. .xinitrc に書くと便利.


FreeBSD で SoundBlaster を使うための設定

kernel configuration file (例えば /usr/src/sys/i386/conf/PAO) に以下
#
# Audio drivers: `snd', `sb', `pas', `gus', `pca'
#
# snd: Voxware sound support code
# sb: SoundBlaster PCM - SoundBlaster, SB Pro, SB16, ProAudioSpectrum
# opl: Yamaha OPL-2 and OPL-3 FM - SB, SB Pro, SB 16, ProAudioSpectrum
# 
# The i386/isa/sound/sound.doc has more information.

# Controls all sound devices
controller	snd0
device sb0      at isa? port 0x220 irq 5 conflicts drq 1 vector sbintr
device opl0     at isa? port 0x388
を追加し(必要であれば IRQ, DRQ を変更し), kernel reconfiguration を行う.
# config PAO
# cd ../../compile/PAO
# make depend && make install
この後, device を作成し, reboot を行う.
# cd /dev
# ./MAKEDEV snd0
# reboot


XF86Config の設定

以下の Laptop では 800x600 での表示を確認している.
IBM TP560E
XFree86 3.3 以降を用い, この XF86Config を用い, startx -- -bpp 16 で立ちあげると 800x600 で 64K 色表示可能. またこの時 XAA (XFree86 Acceleration Architecture) も使用可能である. ちなみ に E のつかない TP560 ではこの XF86Config を用いる.
IBM TP535
XFree86 3.2 以降を用い, この XF86Config を用いる. 256 色以外は試し ていないが, 800x600 で表示可能.
Panasonic Let's Note AL-N2
Accelerated X 3.1 LT 以降を用いると 800x600 で 64K 色表示可能. ビ デオチップは NeoMagic 2093 で V-RAM は 1.1MB, また Monitor は SingleFrequency (800x600 @ 56Hz) 等を選べば良い. (Accelerated X 3.1 の場合, LX_3100.003 の update をしないと BIOS セットアップでビデオ設定のテキスト拡張 表示を有効にする必要がある. update した場合も, hibernation から醒 めた時に, 同様に画面が右によることがある. この時は, 一度 ++ で console にすると元に戻る. また, XFree86 3.3.2 以降(?)では, フォントが .gz で提供されるが, Accelerated X 3.1 では .Z しかサポートされていないため変 換し mkfontdir する必要がある.) XFree86 では NeoMagic 対応の XF86_SVGA を用いる. ただしアクセラレートは出来ない. また, XF86_VGA16 を用い, 800x600 で 16 色表示可能という報告(VAIO 505 の例)もあ る. Red Hat も Neomagic 用の X サーバを出している. こちらはアクセラレートが出来る. もうすぐソースも公開するとのこと. このサーバ(libc5 の方)を FreeBSD で使う場合は, まずこのパッチ/sys/i386/linux の directory で当て, linux_mod.o を install する. 詳しくは このページを参照.
% (cd /sys/i386/linux; patch -s < linux.patch)
% (cd /usr/src/lkm/linux; make install)
次に必要なデバイスを作成する.
% mkdir /compat/linux/dev
% cd /compat/linux/dev
% ln -s /dev/console tty0
% ln -s /dev/ttyv0 tty1
% ln -s /dev/ttyv1 tty2
% ln -s /dev/ttyv2 tty3
% ln -s /dev/ttyv3 tty4
% ln -s /dev/sysmouse mouse
附属の XF86Config の Keyboard, Pointer を多少修正(修正箇所, 修正したもの)し, /usr/X11R6/bin/X のリンクを張り替える. ただ virtual console のサポートはまだである. が, 特に 64K 色表示では Accelerated X の方が全然速い.
DEC HiNote Ultra II
XFree86 で この XF86Configを用い, 800x600 で表示が可能.


マルチブートの設定

FreeBSD の Boot Easy, Linux の LILO の他に, OS Boot Select, Boot Selector, MBM, GNU GRUB がある.


論理パーティションからの Linux のブート

拡張パーティションに LILO を install し, そこから起動.


大容量の HDD のトラブル

大容量の HDD を用いると Boot Easy, LILO などで起動できなくなることがあ る. 原因の一つは disk geometry が DOS, Linux, FreeBSD それぞれで違って いることである. そこでまず, FreeBSD の tools にある pfdisk を 用い Cylinders/Heads/Sectors を調べる. FreeBSD の場合は FreeBSD の fdisk を用い, geometry を上記のものに変更する. LILO の場合は, /etc/lilo.conf にその設定を記述する. LILO に知らせるために disk option を追加し, kernel に知らせるために append parameter を指定 する.
boot=/dev/hda3
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
disk=/dev/hda
        bios = 0x80
        sectors = 63
        heads = 240
        cylinders = 838
image=/boot/vmlinuz-2.0.34-0.6
        append = "hd=838,240,63"
        label=linux
        root=/dev/hda5
        read-only


JDK for FreeBSD

JDK for FreeBSD はここから 手に入る. JDK-1.1.5 以降は Motif のライブラリが link されているため Motif なしに appletviewer を実行することができる. が, kinput2 を走らせ ていると何故かコアダンプしてしまう.


SONY CD-ROM Diskman PRD-650

CD-ROM の電源を入れるタイミングが重要である. 通常のように CD-ROM の電 源を入れたままでは, SCSI カードは認識されても, CD-ROM が認識されない. SCSI カードが認識された時に電源を入れると
pccardd[44]: Card "Adaptec, Inc."("APA-1460 SCSI Host Adapter") [Version 0.01] [^?] matched "Adaptec, Inc\." ("APA-1460.*") [(null)] [(null)] 
/kernel: aic0 waiting for scsi devices to settle
/kernel: (aic0:3:0): "SONY Discman PRD-650 1.00" type 5 removable SCSI 2
/kernel: cd0(aic0:3:0): CD-ROM cd present [400000 x 2048 byte records]
と認識され,
# mount -t cd9660 /dev/cd0a /cdrom
と mount できる.


Osamu Tatebe <tatebe@etl.go.jp>
Last modified: Thu Jan 17 12:59:36 JST 2002