カーネルの再構築

まず最新のカーネルへのパッチをあてます。 たとえば 2.0.34 を 2.0.35 にするには patch-2.0.35.gz を次のようにあてます。

cd /usr/src
zcat patch-2.0.35.gz | patch -p0
mv linux-2.0.34 linux-2.0.35
ln -sf linux-2.0.35 linux

古いコンパイラ gcc 2.7.x を使うならこのままでかまいませんが, 新しいコンパイラ gcc 2.8.x や egcs 1.1 を使うなら, さらに linux-2.0.x patches to compile with egcs 1.1 or gcc 2.8.x をよく読んで,そこから得られるパッチをあてます。

cd /usr/src/linux
patch <linux-2.0.x.patch

次のような手順でカーネルを再構築します。 make xconfig は X Window 上の GUI 型の設定プログラムです。 これを使うためには Tcl/Tk をインストールしておく必要があります。

cd /usr/src/linux
make mrproper
make xconfig
make dep ; make clean
make zlilo  ←これが本体のコンパイル
make modules
make modules_install

自宅の K5 マシン(okuhome)の場合

CD-ROM が Sony CDU31A です。 起動時パラメータが必要ですので, /etc/lilo.conf には次のように書いておきます。

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/hda
#compact        # faster, but won't work on all systems.
delay = 50
vga = normal    # force sane state
# ramdisk = 0     # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /vmlinuz
  append="cdu31a=0x0340,0"
  root = /dev/hda2
  label = linux
  read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# Linux bootable partition config begins
image = /vmlinuz.old
  root = /dev/hda2
  label = old
  read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# DOS bootable partition config begins
other = /dev/hda1
  label = win
  table = /dev/hda
# DOS bootable partition config ends

パラレルポート ZIP とプリンタが同時につながっていますので, プリンタも ZIP もモジュールとして組み込みます。

make xconfig の設定一覧です(省略したものは n です)。

Code maturity level options
  Prompt for development and/or incomplete code/drivers: n
Loadable module support
  Enable loadable module support: y
  Set version information on all symbols for modules: n
  Kernel daemon support: y
General setup
  Kernel math emulation: n
  Networking support: y
  Limit memory to low 16MB: n
  PCI bios support: y
  System V IPC: y
  Kernel support for a.out binaries: y
  Kernel support for ELF binaries: y
  Compile kernel as ELF - if your GCC is ELF-GCC: y
  Processor type: Pentium
Floppy, IDE, and other block devices
  Normal floppy disk support: y
  Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support: y
  Use old disk-only driver on primary interface: n
  Include IDE/ATAPI CDROM support: y
  Include IDE/ATAPI TAPE support: n
  Include IDE/ATAPI FLOPPY support (new): n
  SCSI emulation support: n
  Support removable IDE interfaces (PCMCIA): n
  CMD640 chipset bugfix/support: y
  CMD640 enhanced support: n
  RZ1000 chipset bugfix/support: y
  Intel 82371 PIIX (Triton I/II) DMA support: y
  Other IDE chipset support: n
  Loopback device support: n
  Multiple devices driver support: n
  RAM disk support: n
  XT harddisk support: n
  Parallel port IDE device support: n
Networking options
  Network firewalls: n
  Network aliasing: n
  TCP/IP networking: y
  IP: forwarding/gatewaying: n
  IP: multicasting: n
  IP: syn cookies: n
  IP: accounting: n
  IP: optimize as router not host: n
  IP: tunneling: n
  IP: PC/TCP compatibility mode: n
  IP: Reverse ARP: n
  IP: Disable Path MTU Discovery (normally enabled): n
  IP: Drop source routed frames: y
  IP: Allow large windows (not recommended if <16Mb of memory): y
  The IPX protocol: n
  Appletalk DDP: n
  Amateur Radio AX.25 Level 2: n
  Kernel/User network link driver: n
SCSI support
  SCSI support: y
  SCSI disk support: y
  SCSI tape support: y
  SCSI CD-ROM support: y
  SCSI generic support: y
  Probe all LUNs on each SCSI device: n
  Verbose SCSI error reporting (kernel size += 12K): n
SCSI low-level drivers
  Adaptec AHA152X/2825 support: y
  IOMEGA Parallel Port ZIP drive SCSI support: m
Network device support
  Network device support: y
  Dummy net driver support: m
  EQL (serial line load balancing) support: n
  PLIP (parallel port) support: m
  PPP (point-to-point) support: m
  SLIP (serial line) support: n
  Radio network interfaces: n
  Ethernet (10 or 100Mbit): y
  3COM ISA, EISA and PCI cards: y
  3c590/3c900 series (592/595/597/900/905) "Vortex/Boomerang" support: y
ISDN subsystem
  ISDN support: n
CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
  Support non-SCSI/IDE/ATAPI CDROM drives: y
  Sony CDU31A/CDU33A CDROM support: y
Filesystems
  Quota support: n
  Minix fs support: y
  Extended fs support: n
  Second extended fs support: y
  xiafs filesystem support: n
  Native language support (Unicode, codepages): y
  ISO9660 cdrom filesystem support: y
  DOS FAT fs support: y
  MSDOS fs support: y
  umsdos: Unix like fs on top of std MSDOS FAT fs: n
  VFAT (Windows-95) fs support: y
  Codepage 437: y
  NLS ISO 8859-1: y
  /proc filesystem support: y
  NFS filesystem support: m
  SMB filesystem support (to mount WFW shares etc..): n
  OS/2 HPFS filesystem support (read only): n
  System V and Coherent filesystem support: n
  UFS filesystem support (read only): n
Character devices
  Standard/generic serial support: y
  Parallel printer support: m
  Mouse Support (not serial mice): y
  PS/2 mouse (aka "auxiliary device") support: y
  Advanced Power Management BIOS support: n
  Watchdog Timer Support: n
  Enhanced Real Time Clock Support: n
Sound
  Sound card support: y
  Sound Blaster (SB, SBPro, SB16, clones) support: y
  /dev/dsp and /dev/audio support: y
  I/O base for SB Check from manual of the card: 220
  Sound Blaster IRQ Check from manual of the card: 7
  Sound Blaster DMA 0, 1 or 3: 1
  Sound Blaster 16 bit DMA (...): 5
  MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card: 0
  SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16: -1
Kernel hacking
  Kernel profiling support: n

これで Save and exit します。

パラレルポート ZIP ディスクを使うときは

# insmod ppa
# mount /dev/sdb4 /zip
とし,プリンタを使うときは
# umount /zip
# rmmod ppa
# insmod lp
とします。

研究室の 6x86 マシン okumura(仮称)の場合

SCSI アダプタは Tekram DC390(T) を使っています。 Slackware 3.4(kerner 2.0.30)ではこれはサポートされていませんでしたので, Tekram から取ってくる必要がありましたが, 今(kernel 2.0.34)ではサポートされています。 make xconfig では次のようにします。

  PCI bios support: n
  SCSI support: y
  SCSI disk support: y
  SCSI tape support: y
  SCSI CD-ROM support: y
  SCSI generic support: y
  Tekram DC-390(T) SCSI support: y
  AM53/79C974 PCI SCSI support: n

研究室の 486DX2 マシン okux の場合

準備中

ノートパソコン okunote の場合

東芝Satellite 110CSというやや古いPentiumノートです。 メモリが16Mしかありませんが, Xウィンドウもいちおう快適に使えています。

  APM (Advanced Power Management) BIOS support: y

1週間ほど使わないと時計が大幅に狂うことがありますが, これは時計用のバッテリの特性からこうなるそうです。 サスペンドした状態で一昼夜ほど放っておけばいいそうです。 時計が狂ったときは,Linux の特性上,CMOS 時計と Linux の時計が一致しなくなります。 date で時計を合わせたら

# clock -w
で CMOS に書き込む必要があります。

ネットワークは PCMCIA カード(Megahertz のモデム共用のもの)を使っています。 カーネルのバージョンを上げた場合は, PCMCIA-HOWTO を見て hyper.stanford.edu の /pub/pcmcia ディレクトリまたは SunSITE の /pub/Linux/kernel/pcmcia から pcmcia-cs-3.0.?.tar.gz をいただいてきて,/pub/src で展開し,

make config
make all
make install
します。 カーネルにネットワークカードの設定をする必要はありません。 DHCPクライアント もインストールしておきます。

大学の Pentium 2 マシンの場合

メモリが 96M もあるので, /etc/lilo.conf に次のように書いておきます。

....
image = /vmlinuz
  append = "mem=96M"
  ....

リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp

Copyright (c) 1998 Haruhiko Okumura. Last modified: Mon Nov 16 15:40:49 1998