FreeBSDで遊ぶ
(ハードとソフトのページ)

powered
HOME
Ethnaのインストール
Pearのインストール
PHP-4.3.10+GD
  インストール

FreeBSD-5.3 SMP
  (Dual-CPU)化
FreeBSD-4.0 SMP
  (Dual-CPU)化
Timerプログラミング
危険なうさぎと遊ぶ
タイムサーバで遊ぶ
Vine2.6 Linux
リンク集

FreeBSD-5.3 SMP(Dual−CPU)化

1)FreeBSD-5.3稼動中PCスペック 2005/04/18

名 称
内 容
備考
CPU PentiumV600MHz×2(Dual)  
RAMメモリ 256MB (DIMM 128MB×2)
CASEケース SVECFD7130-DP 300W 4U FA19インチラック収納
M/B> TYAN製 S1832DL Tiger100
Video ATI 3D Rage Pro Turbo AGP 8MB
SCSI I/F Adaptec2930 20MB/Sec
HDD(RVC 内蔵) IDE(IBM) 15GB(system)×1, 30GB(data)×1
NetWorkCard Intel PILA8460B Management Adaptor
FDD 2モード・ドライブ
メンテナンスKey 108Key
メンテナンス(CRT) VGAモード

2)ちなみにFreeBSD-5.3をインストールしているサーバ関連
 (1)apache+mod_ssl-1.3.33+2.8.22、samba-2.2.12 イントラネットで運用中です


3)FreeBSD Symmetric Multi-Processor Kernl
  (Symmetric Multi-Processor Kernl)

4) FreeBSD-5.3 インストール 19インチラックサーバ
FreeBSD-5.3  内部外観写真公開

 (1)カスタムカーネルの構築とインストール

FreeBSD ハンドブックより
Note: もし, あなたのシステムに/usr/src/sys 以下のディレクトリがなければ, カーネルのソースが インストールされていません. もっとも簡単な方法は (rootで) /stand/sysinstall を用いて以下のようにします. 設定(Configure) を選んでから 配布ファイル(Distribution) を選択し, src の中の sys をインストールしてください. つぎに, i386/confに移動して, GENERIC コンフィグレーションファイルをカーネルに与えたい名前にコピーしてください. たとえば:
  # cd /usr/src/sys/i386/conf
  # cp GENERIC MYKERNEL ← お好きな名称に変更 例:BSD01
慣習として, この名前はすべて大文字でつづられます. もし, いくつかの異なるハードウェアのFreeBSDマシンを扱うなら, この名前にホスト名を含めるとよいでしょう. ここでは, 例として MYKERNEL と呼ぶことにします.
Note: この作業は root権限でおこなう必要があります. そうでなければ, permission deniedというエラーが出ます.
では, MYKERNEL をあなたの好きなエディタで編集してください. もし, システムをインストールしたばかりならば, 利用できるエディタは viだけかもしれません. ここでは使い方 の説明はしませんが, 参考図書にあるような多くの本で詳しく説明 されていますので, そちらを参照してください. FreeBSD にはより簡単なエディタとして ``ee'' があります. 初心者の方であればこちらをエディタに選ぶとよいでしょう. まずファイルの最初の方のコメント行を編集し, あなたのコンフィグ レーションに合せて変更した点などを記述して GENERIC と区別がつくようにしておきましょう.
もし SunOSや他の BSDオペレーティングシステムでカーネルの 再構築をしたことがあれば, このファイルはとても親しみやすいでしょう. しかし, DOSのようなその他の オペレーティングシステムしか知らない人から見れば, GENERIC コンフィグレーションファイルはとても なじみにくいものかもしれません. そのような場合は, コンフィグレーションファイル の節をゆっくりと注意深く読んでください.
Note: 古いバージョンの FreeBSD からアップグレードを おこなう場合, 新しいカーネルソースを得た場所より新しいバージョンの config(8) を取ってくる必要があるかもしれません. これは /usr/src/usr.sbinにあります. したがってこれらのソースをダ ウンロードする必要があります. 次のコマンドを実行する前に (configを)作りインストールをしておいてください.

 (2)編集個所は61行目の様に追加するだけです 以下の1箇所です
    (SMPカーネルを有効にするためには、次の1個所を必要とします)
    FreeBSD-4.XXまでは、GENERIC内に以下の様にコメントアウト
    されていましたが、FreeBSD-5.XXでは
    別ファイルで 「 SMP 」が存在します。
    ただ単にカーネルの 再構築を行っても追加されませんでしたので
    従来の様に追加してみました、また
    options APIC_IOが64行目に「device apic # I/O APIC」が存在しましたので
    以下の行は追加していません。
    #options APIC_IO # Symmetric (APIC) I/O

    1	#
    2	# GENERIC -- Generic kernel configuration file for FreeBSD/i386
    3	#
    4	# For more information on this file, please read the handbook section on
    5	# Kernel Configuration Files:
    6	#
    7	#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
    8	#
    9	# The handbook is also available locally in /usr/share/doc/handbook
   10	# if you've installed the doc distribution, otherwise always see the
   11	# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
   12	# latest information.
   13	#
   14	# An exhaustive list of options and more detailed explanations of the
   15	# device lines is also present in the ../../conf/NOTES and NOTES files.
   16	# If you are in doubt as to the purpose or necessity of a line, check first
   17	# in NOTES.
   18	#
   19	# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.413.2.6.2.2 2004/10/24 18:02:52 scottl Exp $
   20	
   21	machine         i386
   22	cpu             I486_CPU
   23	cpu             I586_CPU
   24	cpu             I686_CPU
   25	ident           BSD01  ← GENERICをBSD01にした。
   26	
   27	# To statically compile in device wiring instead of /boot/device.hints
   28	#hints          "GENERIC.hints"         # Default places to look for devices.
   29	#options        SCHED_ULE               # 5BSD scheduler
   30	options         SCHED_4BSD              # 4BSD scheduler
   31	options         INET                    # InterNETworking
   32	options         INET6                   # IPv6 communications protocols
   33	options         FFS                     # Berkeley Fast Filesystem
   34	options         SOFTUPDATES             # Enable FFS soft updates support
   35	options         UFS_ACL                 # Support for access control lists
   36	options         UFS_DIRHASH             # Improve performance on big directories
   37	options         MD_ROOT                 # MD is a potential root device
   38	options         NFSCLIENT               # Network Filesystem Client
   39	options         NFSSERVER               # Network Filesystem Server
   40	options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
   41	options         MSDOSFS                 # MSDOS Filesystem
   42	options         CD9660                  # ISO 9660 Filesystem
   43	options         PROCFS                  # Process filesystem (requires PSEUDOFS)
   44	options         PSEUDOFS                # Pseudo-filesystem framework
   45	options         GEOM_GPT                # GUID Partition Tables.
   46	options         COMPAT_43               # Compatible with BSD 4.3 [KEEP THIS!]
   47	options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
   48	options         SCSI_DELAY=3000         # Delay (in ms) before probing SCSI
   49	options         KTRACE                  # ktrace(1) support
   50	options         SYSVSHM                 # SYSV-style shared memory
   51	options         SYSVMSG                 # SYSV-style message queues
   52	options         SYSVSEM                 # SYSV-style semaphores
   53	options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
   54	options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
   55	options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
   56	                                        # output.  Adds ~128k to driver.
   57	options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
   58	                                        # output.  Adds ~215k to driver.
   59	options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
   60	
   61	options         SMP                     # Symmetric MultiProcessor Kernel
   62	
   63	
   64	device          apic            # I/O APIC  ← FreeBSD-4.XXでは optionだった
   65	
   66	# Bus support.  Do not remove isa, even if you have no isa slots
   67	device          isa
   68	device          eisa
   69	device          pci


編集し終ったら、次のコマンドによってコンパイル, インストール を行って下さい。
# /usr/sbin/config BSD01
# cd ../compile/BSD01  ← 注意:不明ですがcompileのディレクトリが変わっていますのでBSD01はここに存在します。
# make depend
# make
# make install
 新しいカーネルはルートディレクトリに /kernelという 名前でコピーされ、今までのカーネルは /kernel.old という名前へ変更されます。では、システムをシャットダウン、リブートして新しいカーネルを使って下さい。うまく行かない場合は、この章の終りの 問題が起きた場合には を参照して下さい。この章の新しいカーネルがブートしない場合のリカバリの方法を注意深く読んでおいて下さい。
 (3)FreeBSD-5.3でTOPコマンドで、MAP(Duaul)CPU0(画面-1)、
    CPU1(画面-2)が動作が確認されればOKです。
画面-1
画面-1
画面-2
画面-2