Jun 14, 2005
onlsbc1, Scientific Linux CERN Release 305 (SL) のインストール
--- SL システム構築 #1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(http://www-online.kek.jp/~inoue/para-CAMAC/
Work/SBC-Linux64.html)
高エネルギー加速器研究機構
素粒子原子核研究所
物理、オンライングループ
井上 栄二
目的
onlsbc1 の2.5"IDEハードディスク#1上にScientific Linux CERN Release
305 (SL)をインストールする。 このシステムは Scientific Linux CERN
Release 305 (SL)を使った CC/NET用ディスクレスクライアントを構築する
ためのベースのシステムとして使用するためのものである。
項目
(1). SLC 3、Release 305 のインストール
(2). インストール後の初期設定
(2-1). ユーザの登録
(2-2). grubメニューの修正
(3). クライアント用カーネルの構築
(3-1). カーネルの設定
(3-2). カーネルの構築
(4). SLC 3、Release 305 のインストール
(5). インストール後の初期設定
(5-1). ユーザの登録
(5-2). grubメニューの修正
(5-3). パッケージの追加
(6). クライアント用カーネルの構築(その2)
(6-1). カーネルの設定
(6-2). カーネルソースのコピー
(6-3). カーネル、およびinitrd の修正
--------------------------------------------------------------------
(1). SLC 3、Release 305 のインストール
/dev/hda6パーティションにファイルシステムを作成する。
[root@onlsbc1 inoue]# /sbin/mke2fs -j /dev/hda6
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1224000 inodes, 2443880 blocks
122194 blocks (5.00%) reserved for the super user
First data block=0
75 block groups
32768 blocks per group, 32768 fragments per group
16320 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@onlsbc1 inoue]#
Scientific Linux CERN 3 (SLC3) のインストーラの新しいバージョンのもの、 Release 304を入手し配置する。
[root@onlsbc1 mnt]# reboot
Broadcast message from root (pts/0) (Thu Jun 9 10:57:15 2005):
The system is going down for reboot NOW!
:
:
ここでインストーラは起動する。
注:
使用言語の問い合わせは無かった。
Keyboard Type
What type of keyboard do you have ?
<=== "jp106" を選択し "ok" を選択して enter を押す。
Installation Method
What type of media contains the packages to be installed ?
<=== "HTTP" を選択し "ok" を選択して enter を押す。
Configure TCP/IP
Please enter the IP configuration for this machine. Each item should be
entered as an IP address in dotted-decimal notation ( for example,
1.2.3.4).
<=== 以下の情報をセットし "ok" を選択して enter を押す。
IP address: 130.87.***.*
Netmask: 255.255.***.*
Default gateway (IP): 130.87.***.*
Primary nameserver: 130.87.***.*
HTTP Setup
Please enter the following information:
o the name or IP number of your server
o the directory on that server containing Scientific Linux CERN for
your architecture
<=== 以下の情報をセットし "ok" を選択して enter を押す。
Web site name: linuxsoft.cern.ch
SL directory: /cern/slc305/i386/
SL
Welcome to SL!
<=== "ok" を選択して enter を押す。
Mouse Selection
Which model mouse is attached to this computer ?
<=== 以下の情報をセットし "ok" を選択して enter を押す。
Logitech - MouseMan Wheel (USB)
[*] Emulate 3 Buttons ?
Installation Type
What type of system would you like to install ?
<=== "CERN Recommended Setup" を選択し "ok" を選択して enter を押す。
Disk Partitioning Setup
Automatic Partitioning sets partitions based on the selected
installation type. You also can customize the partitions once they have
been created.
The manual disk partitioning tool, Disk Durid, allows you to create
partitions in an interactive environment. You can set the file system
types, mount points, partition size, and more.
<=== "Disk Druid" を選択して Enter を押す。
Partitioning
<=== "Device /dev/hda6" を選択し "Edit" を選択して Enter を押す。
Add Partition
<=== "File System Options" を選択して Enter を押す。
File System Options
Please choose how you would like to prepare the file system on this
partition.
<=== "Format as ext3" を選択し "OK" を選択して
Enter を押す。
<=== "マウントポイント: /" を選択し "OK" を選択して Enter を押す。
参考: この時点で以下のように設定したことになる。
Mount Point: /
Type: ext3
Device: /dev/hda6
Size: 9546 MB
<=== "OK" を選択して Enter を押す。
Partitioning Warning
The following warning exist with your requested partition scheme.
You have not specified a swap partition. Although not strictly required
in all cases, it will significantly improve performance for most
installations.
Would you like to continue with your requested partitioning scheme?
<=== "Yes" を選択して Enter を押す。
Format Warning
The following pre-existing partitions have been selected to be formated,
destroying all data.
Select 'Yes' to continue and format these partitions, or 'No' to go back
and change these settings.
/dev/hda6 ext3 /
<=== "Yes" を選択して Enter を押す。
Boot Loader Configuration
Which boot loader would you like to use ?
<=== "Use GRUB Boot Loader" を選択し、"OK"を選択して Enter を押す。
Boot Loader Configuration
A few system will need to pass special options to the kernel at boot
time for the system to function properly. If you need to pass boot
options to the kernel, enter them now. If you don't need any or aren't
sure, leave this blank.
<=== ブランクのままにして "OK" を選択して Enter を押す。
A boot loader password prevents users from passing arbitrary options to
the kernel. For highest security, we recommended setting a password, but
this is not nesessary for more casual users.
<=== GRUBパスワードを使用しないにして "OK" を選択して Enter を押す。
The boot manager Red Hat uses can boot other operating systems as well.
You need to tell me what partitions you would like to be able to boot
and what label you want to use for each of them.
<=== "Scientific Linux CERN /dev/hda6" を指定し "OK" を選択して Enter を
押す。
Where do you want to install the boot loader ?
<=== "/dev/hda6 First sector of boot partition" を指定し "OK" を選択して
Enter を押す。
Network Configuration for eth0
<=== 以下の設定をし、"OK" を選択し Enter を押す。
Network Device: eth0
[*] Activate on boot
IP Address 130.87.***.*
Netmask 255.255.***.*
Miscellaneous Network Settings
<=== 以下の設定をし、"OK" を選択し Enter を押す。
Gateway: 130.87.***.*
Primary DNS: 130.87.***.*
Secondary DNS: 130.87.**.*
Tertiary DNS: 130.87.**.*
Hostname Configuration
If your system is part of a larger network where hostnames are assigned
by DHCP, select automatically via DHCP. Otherwisw, select manually and
enter in a hostname for your system. If you do not, your system will be
known as 'localhost.'
<=== "(*) manually onlsbc1.kek.jp" を設定をし、"OK" を選択し Enter を押す。
Firewall
A firewall can help prevent unauthorized access to your computer from
the outside world. Would you like to enable a firewall ?
<=== "(*) enable firewall" を選択し、"OK" を選択し Enter を押す。
Language Support
Choose additional languages that you would like to use on this system:
<=== 以下のように設定し、"OK" を選択し Enter を押す。
[*] English (USA)
[*] Japanese
Default Language
Choose the default language for this system:
"Japanese" を選択し、"OK" を選択し Enter を押す。
Time Zone Selection
What time zone are you located in ?
<=== "Asia/Tokyo"を選択して "OK" を選択して Enter を押す。
Root Password
Pick a root password. You must type it twice to ensure you know what it
is and didn't make a mistake in typing. Remember that the root password
is a critical part of system security !
Password: ********
Password (confirm): ********
ここでパッケージ情報の読み込みが始まる。
Package Group Selection
Total install size: 6,003M
<=== "Everything"を選択して "OK" を選択して Enter を押す。
Installation to begin
A complete log of your installation will be in /root/install.log after
rebooting your system. You may want to keep this file for later
reference.
<=== "OK" を選択して Enter を押す。
インストールが開始される。
約4時間で終了した。
Video Card Configuration
Select the video card and video RAM for your system.
Video Card: Silicon Motion Lynx (generic
Video RAM: 4096
<=== "OK" を選択して Enter を押す。
Monitor Configuration
Select the monitor for your system. Use the 'Default'
buttom to reset to the probed values.
Monitor: L465
Hsync Rate: 24-81
Vsync Rate: 49-76
<=== "OK" を選択して Enter を押す。
X Customization
Select the color depth and video mode you want
to use for your system.
Color Depth: True Color (24 Bit)
Resolution: 1024x768
Default Login: (*) Graphical
<=== "OK" を選択して Enter を押す。
Complete
Congratulations, your SL installation is complete.
Remove any installation media (diskettes or CD-ROMs) used during
the installation process and press (Enter) to reboot your system.
For information on Errata (updates and bug fixes),
and on automatic system updates visit:
http://cern.ch/linux/updates/
For infomation on using and configuring the system, visit:
http://cern.ch/linux/scientific/docs/
For support information, visit:
http://cern.ch/linux/support/
<=== "OK" を選択して Enter を押す。
インストールは正常に終了した。
注.
Scientific Linux CERN のインストーラは、起動用フロッピーディスク
作成を行わないので、必要ならば後で自分で作成すること。
"OK" を押すとインストーラは再起動する。
2.5"IDEハードディスク#1 の MBR にインストールしてある Fedora Core 1 の
grub が起動する。 この時点では、今回インストールした Scientific Linux
CERN 3 (SLC3) 用の起動項目がメニュー上に用意されていない。 "c"キーを押
してインタラクティブモードにする。 grubコマンドのプロンプトが表示された
ら、以下のように入力して Scientific Linux を立ち上げる。
grub> root (hd0,5)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /boot/vmlinuz-2.4.21-32.0.1.EL.cern ro root=/dev/hda6
[Linux-bzImage, setup=0x1400, size=0x13b31c]
grub> initrd /boot/initrd-2.4.21-32.0.1.EL.cern.img
[Linux-initrd @ 0x12fb7000, 0x2880e bytes]
grub> boot
:
:
ようこそ
システムが使用できるようになるまで、もう少しステップがあります。 Red Hat
セットアップエージェントで、基本的な設定をいくつかご案内していきます。
右下の隅にあるボタン「次へ」をクリックして続けてください。
Open AFS
This is the OpenAFS configuration Window.
There are many AFS cells that you might want to bind to.
Some of most common AFS cells are
Cell Name Lab Site
========== ==========
anl.gov Argonne
cern.ch CERN
desy.de DESY
fnal.gov Fermilab
AFS Cell: cern.ch
v Start AFS on startup
Please Note:
If you have firewall turned on, AFS might not work properly.
You may need either turn your firewall off, or poke the appropriate
holes.
<=== AFS Cell に "cern.ch"と入力し、"「次へ」"ボタンをマウスでクリック
する。
日付と時刻
システム用に日付と時刻を設定して下さい。
ネットワークタイムプロトコル
ネットワークタイムプロトコルを使うとリモートタイムサーバと時間を同期
させることができます。
v ネットワークタイムプロトコルを有効にする。
サーバー: ntp02.local.kek.jp
<=== 上記のように指定し、"「次へ」"ボタンをマウスでクリックする。
CERN customization(s)
For CERN system (or systems being installed on CERN site) we provide a
predefined setup (AFS/Kerberos/time servers etc) customized to fulfill
a specific set of requirements.
You should select this default if your machine is at CERN
● No, I will do setup myself
● Enable automatic system updates
<=== 上記のように指定し、"「次へ」"ボタンをマウスでクリックする。
セットアップを終了
システムが設定され使用できる状態になりました。右下隅にあるボタン「次へ」
をクリックして続けてください。
<=== "「次へ」"ボタンをマウスでクリックする。
設定が完了して、Scientific Linux CERN のシステムが立ち上がった。
画面には xdmがログインプロンプトを表示した。
root のアカウントでログインする。 ok. 正常にログインできた。
(2). インストール後の初期設定
(2-1). ユーザの登録
私のアカウントを作成する。
# useradd inoue
# vigr
注:
Scientific Linux CERN のディフォルトの設定では、su で root になって
もプロンプトはユーザアカウントの時と同じなので紛らわしい。
(2-2). grubメニューの修正
Fedora Core 3 の grub.confファイルに Scientific Linux CERN 3 起動用の
メニューを追加する。
[onlsbc1] / > whoami
root
[onlsbc1] / > df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda6 9621848 6191360 2941712 68% /
none 150868 0 150868 0% /dev/shm
AFS 9000000 0 9000000 0% /afs
[onlsbc1] / > mount -t ext3 /dev/hda1 /mnt
[onlsbc1] / > df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda6 9621848 6191360 2941712 68% /
none 150868 0 150868 0% /dev/shm
AFS 9000000 0 9000000 0% /afs
/dev/hda1 3020140 1632376 1234348 57% /mnt
[onlsbc1] / >
[onlsbc1] / > cd /mnt
[onlsbc1] /mnt >
[onlsbc1] /mnt > cat etc/issue
Fedora Core release 3 (Heidelberg)
Kernel \r on an \m
[onlsbc1] /mnt >
[onlsbc1] /mnt/boot/grub > pwd
/mnt/boot/grub
[onlsbc1] /mnt/boot/grub > ls -l
合計 280
-rw-r--r-- 1 root root 82 12月 27 16:57 device.map
-rw-r--r-- 1 root root 7956 12月 27 16:57 e2fs_stage1_5
-rw-r--r-- 1 root root 7684 12月 27 16:57 fat_stage1_5
-rw-r--r-- 1 root root 6996 12月 27 16:57 ffs_stage1_5
-rw------- 1 root root 1525 5月 11 14:46 grub.conf
-rw-r--r-- 1 root root 7028 12月 27 16:57 iso9660_stage1_5
-rw-r--r-- 1 root root 8448 12月 27 16:57 jfs_stage1_5
lrwxrwxrwx 1 root root 11 12月 27 16:57 menu.lst -> ./grub.conf
-rw-r--r-- 1 root root 7188 12月 27 16:57 minix_stage1_5
-rw-r--r-- 1 root root 9428 12月 27 16:57 reiserfs_stage1_5
-rw-r--r-- 1 root root 3194 10月 27 2004 splash.xpm.gz
-rw-r--r-- 1 root root 512 12月 27 16:57 stage1
-rw-r--r-- 1 root root 103816 12月 27 16:57 stage2
-rw-r--r-- 1 root root 7272 12月 27 16:57 ufs2_stage1_5
-rw-r--r-- 1 root root 6612 12月 27 16:57 vstafs_stage1_5
-rw-r--r-- 1 root root 9308 12月 27 16:57 xfs_stage1_5
[onlsbc1] /mnt/boot/grub >
[onlsbc1] /mnt/boot/grub > vi grub.conf
:
#
title Full: Scientific Linux CERN 3、Release 305 (SLC3) (2.4.21-32.0.1.EL.cern)
root (hd0,5)
kernel /boot/vmlinuz-2.4.21-32.0.1.EL.cern ro root=/dev/hda6
initrd /boot/initrd-2.4.21-32.0.1.EL.cern.img
#
:
"grub.conf" 44L, 1751C 書込み
[onlsbc1] /mnt/boot/grub >
ここで一旦リブートしてみる。
[onlsbc1] /mnt/boot/grub > reboot
Broadcast message from root (pts/2) (Thu Jun 9 17:00:05 2005):
The system is going down for reboot NOW!
:
:
パワーオンの後に表示される grub のメニューに Scientific Linux CERN 3,
Release 305 起動用のメニューが表示された。 このメニューを選択すると正常
にシステムを起動できた。
これで、ディスクレス・クライアント用のカーネル再構築の準備ができた。
(3). クライアント用カーネルの構築
ディスクレス・クライアント用のカーネルを再構築する。
クライアントマシン onlsbc1 の 2.5"IDEハードディスク#2 上にインストールし
た Scientific Linux のシステムはフルインストールしたので、カーネルソース
はすでにインストールされている。
[onlsbc1] / > whoami
root
[onlsbc1] / > yum list installed | grep kernel
kernel-debuginfo-0-2.4.21 100% |=========================| 110 kB 00:01
kernel-debuginfo-0-2.4.21 100% |=========================| 129 kB 00:01
kernel-debuginfo-0-2.4.21 100% |=========================| 56 kB 00:00
kernel-utils-debuginfo-1- 100% |=========================| 5.5 kB 00:00
kernel i686 2.4.21-32.0.1.EL.cern db
kernel-doc i386 2.4.21-32.0.1.EL.cern db
kernel-module-bcm5700-2.4.21-32.0.1.EL.cerni686 7.1.22-1.cern db
kernel-module-bcm5700-2.4.21-32.0.1.EL.cernsmpi686 7.1.22-1.cern db
kernel-module-openafs-2.4.21-32.0.1.EL.cerni686 1.2.11-15.12.SL db
kernel-module-openafs-2.4.21-32.0.1.EL.cernsmpi686 1.2.11-15.12.SL db
kernel-module-xfs-2.4.21-32.0.1.EL.cerni686 1:1.3.3-1.SL db
kernel-module-xfs-2.4.21-32.0.1.EL.cernsmpi686 1:1.3.3-1.SL db
kernel-pcmcia-cs i386 1:3.1.31-13 db
kernel-smp i686 2.4.21-32.0.1.EL.cern db
kernel-source i386 2.4.21-32.0.1.EL.cern db
kernel-utils i386 1:2.4-8.37.12.cern.1 db
openafs-kernel-source i386 1.2.11-15.12.SL db
[onlsbc1] / >
[onlsbc1] / > ls -l /usr/src
合計 12
lrwxr-xr-x 1 root root 27 6月 9 14:22 linux-2.4 -> linux-2.4.
21-32.0.1.EL.cern
drwxr-xr-x 18 root root 4096 6月 9 14:21 linux-2.4.21-32.0.1.EL.
cern
drwxr-xr-x 3 root root 4096 6月 9 15:17 openafs-kernel-1.2.11
drwxr-xr-x 7 root root 4096 6月 9 13:42 redhat
[onlsbc1] / >
このカーネルソースを使って、ディスクレスクライアント用のカーネルを再構築
する。
[onlsbc1] /usr/src/linux-2.4 > pwd
/usr/src/linux-2.4
[onlsbc1] /usr/src/linux-2.4 > ls -la
合計 1168
drwxr-xr-x 18 root root 4096 6月 9 14:21 .
drwxr-xr-x 5 root root 4096 6月 9 15:17 ..
-rw-r--r-- 1 root root 5939 5月 26 19:06 .depend
-rw-r--r-- 1 root root 273076 5月 26 19:06 .hdepend
-rw-r--r-- 1 root root 18691 8月 3 2002 COPYING
-rw-r--r-- 1 root root 29940 5月 26 19:05 COPYING.modules
-rw-r--r-- 1 root root 80764 5月 26 18:51 CREDITS
drwxr-xr-x 32 root root 4096 6月 9 14:19 Documentation
-rw-r--r-- 1 root root 45704 5月 26 18:51 MAINTAINERS
-rw-r--r-- 1 root root 20978 5月 26 19:05 Makefile
-rw-r--r-- 1 root root 14239 8月 3 2002 README
-rw-r--r-- 1 root root 2818 6月 13 2003 REPORTING-BUGS
-rw-r--r-- 1 root root 9528 5月 26 18:51 Rules.make
drwxr-xr-x 19 root root 4096 6月 9 14:20 arch
drwxr-xr-x 2 root root 4096 6月 9 14:20 configs
drwxr-xr-x 2 root root 4096 6月 9 14:20 crypto
drwxr-xr-x 46 root root 4096 6月 9 14:20 drivers
drwxr-xr-x 48 root root 4096 6月 9 14:20 fs
drwxr-xr-x 27 root root 4096 6月 9 14:21 include
drwxr-xr-x 2 root root 4096 6月 9 14:21 init
drwxr-xr-x 2 root root 4096 6月 9 14:21 ipc
drwxr-xr-x 3 root root 4096 6月 9 14:21 kdb
drwxr-xr-x 2 root root 4096 6月 9 14:21 kernel
drwxr-xr-x 4 root root 4096 6月 9 14:21 lib
drwxr-xr-x 2 root root 4096 6月 9 14:21 mm
drwxr-xr-x 32 root root 4096 6月 9 14:21 net
drwxr-xr-x 2 root root 4096 6月 9 14:21 save
drwxr-xr-x 4 root root 4096 6月 9 14:21 scripts
-rw-r--r-- 1 root root 585360 5月 26 19:07 tmp_include_depends
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > cat README
Linux kernel release 2.4.xx
These are the release notes for Linux version 2.4. Read them carefully,
as they tell you what this is all about, explain how to install the
kernel, and what to do if something goes wrong.
WHAT IS LINUX?
Linux is a Unix clone written from scratch by Linus Torvalds with
assistance from a loosely-knit team of hackers across the Net.
It aims towards POSIX compliance.
It has all the features you would expect in a modern fully-fledged
Unix, including true multitasking, virtual memory, shared libraries,
demand loading, shared copy-on-write executables, proper memory
management and TCP/IP networking.
It is distributed under the GNU General Public License - see the
accompanying COPYING file for more details.
ON WHAT HARDWARE DOES IT RUN?
Linux was first developed for 386/486-based PCs. These days it also
runs on ARMs, DEC Alphas, SUN Sparcs, M68000 machines (like Atari and
Amiga), MIPS and PowerPC, and others.
DOCUMENTATION:
- There is a lot of documentation available both in electronic form on
the Internet and in books, both Linux-specific and pertaining to
general UNIX questions. I'd recommend looking into the documentation
subdirectories on any Linux FTP site for the LDP (Linux Documentation
Project) books. This README is not meant to be documentation on the
system: there are much better sources available.
- There are various README files in the Documentation/ subdirectory:
these typically contain kernel-specific installation notes for some
drivers for example. See ./Documentation/00-INDEX for a list of what
is contained in each file. Please read the Changes file, as it
contains information about the problems, which may result by upgrading
your kernel.
- The Documentation/DocBook/ subdirectory contains several guides for
kernel developers and users. These guides can be rendered in a
number of formats: PostScript (.ps), PDF, and HTML, among others.
After installation, "make psdocs", "make pdfdocs", or "make htmldocs"
will render the documentation in the requested format.
INSTALLING the kernel:
- If you install the full sources, put the kernel tarball in a
directory where you have permissions (eg. your home directory) and
unpack it:
gzip -cd linux-2.4.XX.tar.gz | tar xvf -
Replace "XX" with the version number of the latest kernel.
Do NOT use the /usr/src/linux area! This area has a (usually
incomplete) set of kernel headers that are used by the library header
files. They should match the library, and not get messed up by
whatever the kernel-du-jour happens to be.
- You can also upgrade between 2.4.xx releases by patching. Patches are
distributed in the traditional gzip and the new bzip2 format. To
install by patching, get all the newer patch files, enter the
directory in which you unpacked the kernel source and execute:
gzip -cd patchXX.gz | patch -p0
or
bzip2 -dc patchXX.bz2 | patch -p0
(repeat xx for all versions bigger than the version of your current
source tree, _in_order_) and you should be ok. You may want to remove
the backup files (xxx~ or xxx.orig), and make sure that there are no
failed patches (xxx# or xxx.rej). If there are, either you or me has
made a mistake.
Alternatively, the script patch-kernel can be used to automate this
process. It determines the current kernel version and applies any
patches found.
linux/scripts/patch-kernel linux
The first argument in the command above is the location of the
kernel source. Patches are applied from the current directory, but
an alternative directory can be specified as the second argument.
- Make sure you have no stale .o files and dependencies lying around:
cd linux
make mrproper
You should now have the sources correctly installed.
SOFTWARE REQUIREMENTS
Compiling and running the 2.4.xx kernels requires up-to-date
versions of various software packages. Consult
./Documentation/Changes for the minimum version numbers required
and how to get updates for these packages. Beware that using
excessively old versions of these packages can cause indirect
errors that are very difficult to track down, so don't assume that
you can just update packages when obvious problems arise during
build or operation.
CONFIGURING the kernel:
- Do a "make config" to configure the basic kernel. "make config" needs
bash to work: it will search for bash in $BASH, /bin/bash and /bin/sh
(in that order), so one of those must be correct for it to work.
Do not skip this step even if you are only upgrading one minor
version. New configuration options are added in each release, and
odd problems will turn up if the configuration files are not set up
as expected. If you want to carry your existing configuration to a
new version with minimal work, use "make oldconfig", which will
only ask you for the answers to new questions.
- Alternate configuration commands are:
"make menuconfig" Text based color menus, radiolists & dialogs.
"make xconfig" X windows based configuration tool.
"make oldconfig" Default all questions based on the contents of
your existing ./.config file.
NOTES on "make config":
- having unnecessary drivers will make the kernel bigger, and can
under some circumstances lead to problems: probing for a
nonexistent controller card may confuse your other controllers
- compiling the kernel with "Processor type" set higher than 386
will result in a kernel that does NOT work on a 386. The
kernel will detect this on bootup, and give up.
- A kernel with math-emulation compiled in will still use the
coprocessor if one is present: the math emulation will just
never get used in that case. The kernel will be slightly larger,
but will work on different machines regardless of whether they
have a math coprocessor or not.
- the "kernel hacking" configuration details usually result in a
bigger or slower kernel (or both), and can even make the kernel
less stable by configuring some routines to actively try to
break bad code to find kernel problems (kmalloc()). Thus you
should probably answer 'n' to the questions for
"development", "experimental", or "debugging" features.
- Check the top Makefile for further site-dependent configuration
(default SVGA mode etc).
- Finally, do a "make dep" to set up all the dependencies correctly.
COMPILING the kernel:
- Make sure you have gcc 2.95.3 available. gcc 2.91.66 (egcs-1.1.2) may
also work but is not as safe, and *gcc 2.7.2.3 is no longer supported*.
Also remember to upgrade your binutils package (for as/ld/nm and company)
if necessary. For more information, refer to ./Documentation/Changes.
Please note that you can still run a.out user programs with this kernel.
- Do a "make bzImage" to create a compressed kernel image. If you want
to make a boot disk (without root filesystem or LILO), insert a floppy
in your A: drive, and do a "make bzdisk". It is also possible to do
"make install" if you have lilo installed to suit the kernel makefiles,
but you may want to check your particular lilo setup first.
To do the actual install you have to be root, but none of the normal
build should require that. Don't take the name of root in vain.
- In the unlikely event that your system cannot boot bzImage kernels you
can still compile your kernel as zImage. However, since zImage support
will be removed at some point in the future in favor of bzImage we
encourage people having problems with booting bzImage kernels to report
these, with detailed hardware configuration information, to the
linux-kernel mailing list and to H. Peter Anvin .
- If you configured any of the parts of the kernel as `modules', you
will have to do "make modules" followed by "make modules_install".
Read Documentation/modules.txt for more information. For example,
an explanation of how to use the modules is included there.
- Keep a backup kernel handy in case something goes wrong. This is
especially true for the development releases, since each new release
contains new code which has not been debugged. Make sure you keep a
backup of the modules corresponding to that kernel, as well. If you
are installing a new kernel with the same version number as your
working kernel, make a backup of your modules directory before you
do a "make modules_install".
- In order to boot your new kernel, you'll need to copy the kernel
image (found in .../linux/arch/i386/boot/bzImage after compilation)
to the place where your regular bootable kernel is found.
For some, this is on a floppy disk, in which case you can copy the
kernel bzImage file to /dev/fd0 to make a bootable floppy.
If you boot Linux from the hard drive, chances are you use LILO which
uses the kernel image as specified in the file /etc/lilo.conf. The
kernel image file is usually /vmlinuz, /boot/vmlinuz, /bzImage or
/boot/bzImage. To use the new kernel, save a copy of the old image
and copy the new image over the old one. Then, you MUST RERUN LILO
to update the loading map!! If you don't, you won't be able to boot
the new kernel image.
Reinstalling LILO is usually a matter of running /sbin/lilo.
You may wish to edit /etc/lilo.conf to specify an entry for your
old kernel image (say, /vmlinux.old) in case the new one does not
work. See the LILO docs for more information.
After reinstalling LILO, you should be all set. Shutdown the system,
reboot, and enjoy!
If you ever need to change the default root device, video mode,
ramdisk size, etc. in the kernel image, use the 'rdev' program (or
alternatively the LILO boot options when appropriate). No need to
recompile the kernel to change these parameters.
- Reboot with the new kernel and enjoy.
IF SOMETHING GOES WRONG:
- If you have problems that seem to be due to kernel bugs, please check
the file MAINTAINERS to see if there is a particular person associated
with the part of the kernel that you are having trouble with. If there
isn't anyone listed there, then the second best thing is to mail
them to me (torvalds@transmeta.com), and possibly to any other
relevant mailing-list or to the newsgroup. The mailing-lists are
useful especially for SCSI and networking problems, as I can't test
either of those personally anyway.
- In all bug-reports, *please* tell what kernel you are talking about,
how to duplicate the problem, and what your setup is (use your common
sense). If the problem is new, tell me so, and if the problem is
old, please try to tell me when you first noticed it.
- If the bug results in a message like
unable to handle kernel paging request at address C0000010
Oops: 0002
EIP: 0010:XXXXXXXX
eax: xxxxxxxx ebx: xxxxxxxx ecx: xxxxxxxx edx: xxxxxxxx
esi: xxxxxxxx edi: xxxxxxxx ebp: xxxxxxxx
ds: xxxx es: xxxx fs: xxxx gs: xxxx
Pid: xx, process nr: xx
xx xx xx xx xx xx xx xx xx xx
or similar kernel debugging information on your screen or in your
system log, please duplicate it *exactly*. The dump may look
incomprehensible to you, but it does contain information that may
help debugging the problem. The text above the dump is also
important: it tells something about why the kernel dumped code (in
the above example it's due to a bad kernel pointer). More information
on making sense of the dump is in Documentation/oops-tracing.txt
- You can use the "ksymoops" program to make sense of the dump. This
utility can be downloaded from
ftp://ftp..kernel.org/pub/linux/utils/kernel/ksymoops.
Alternately you can do the dump lookup by hand:
- In debugging dumps like the above, it helps enormously if you can
look up what the EIP value means. The hex value as such doesn't help
me or anybody else very much: it will depend on your particular
kernel setup. What you should do is take the hex value from the EIP
line (ignore the "0010:"), and look it up in the kernel namelist to
see which kernel function contains the offending address.
To find out the kernel function name, you'll need to find the system
binary associated with the kernel that exhibited the symptom. This is
the file 'linux/vmlinux'. To extract the namelist and match it against
the EIP from the kernel crash, do:
nm vmlinux | sort | less
This will give you a list of kernel addresses sorted in ascending
order, from which it is simple to find the function that contains the
offending address. Note that the address given by the kernel
debugging messages will not necessarily match exactly with the
function addresses (in fact, that is very unlikely), so you can't
just 'grep' the list: the list will, however, give you the starting
point of each kernel function, so by looking for the function that
has a starting address lower than the one you are searching for but
is followed by a function with a higher address you will find the one
you want. In fact, it may be a good idea to include a bit of
"context" in your problem report, giving a few lines around the
interesting one.
If you for some reason cannot do the above (you have a pre-compiled
kernel image or similar), telling me as much about your setup as
possible will help.
- Alternately, you can use gdb on a running kernel. (read-only; i.e. you
cannot change values or set break points.) To do this, first compile the
kernel with -g; edit arch/i386/Makefile appropriately, then do a "make
clean". You'll also need to enable CONFIG_PROC_FS (via "make config").
After you've rebooted with the new kernel, do "gdb vmlinux /proc/kcore".
You can now use all the usual gdb commands. The command to look up the
point where your system crashed is "l *0xXXXXXXXX". (Replace the XXXes
with the EIP value.)
gdb'ing a non-running kernel currently fails because gdb (wrongly)
disregards the starting offset for which the kernel is compiled.
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > whoami
root
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > pwd
/usr/src/linux-2.4
[onlsbc1] /usr/src/linux-2.4 > ls
COPYING Makefile configs init mm
COPYING.modules README crypto ipc net
CREDITS REPORTING-BUGS drivers kdb save
Documentation Rules.make fs kernel scripts
MAINTAINERS arch include lib tmp_include_depends
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > make mrproper
make[1]: 入ります ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/arch/i386/b
oot'
rm -f tools/build
rm -f setup bootsect zImage compressed/vmlinux.out
rm -f bsetup bbootsect bzImage compressed/bvmlinux.out
make[2]: 入ります ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/arch/i386/b
oot/compressed'
rm -f vmlinux bvmlinux _tmp_*
make[2]: 出ます ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/arch/i386/boo
t/compressed'
make[1]: 出ます ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/arch/i386/boo
t'
find . \( -name '*.[oas]' -o -name core -o -name '.*.flags' \) -type f -print \
| grep -v lxdialog/ | xargs rm -f
rm -f kernel/ksyms.lst include/linux/compile.h vmlinux System.map .tmp* scripts/
mkconfigs kernel/configs.c kernel/configs.o drivers/char/consolemap_deftbl.c dri
vers/video/promcon_tbl.c drivers/char/conmakehash drivers/char/drm/*-mod.c drive
rs/pci/devlist.h drivers/pci/classlist.h drivers/pci/gen-devlist drivers/zorro/d
evlist.h drivers/zorro/gen-devlist drivers/sound/bin2hex drivers/sound/hex2hex d
rivers/atm/fore200e_mkfirm drivers/atm/{pca,sba}*{.bin,.bin1,.bin2} drivers/scsi
/aic7xxx/aicasm/aicasm drivers/scsi/aic7xxx/aicasm/aicasm_gram.c drivers/scsi/ai
c7xxx/aicasm/aicasm_gram.h drivers/scsi/aic7xxx/aicasm/aicasm_macro_gram.c drive
rs/scsi/aic7xxx/aicasm/aicasm_macro_gram.h drivers/scsi/aic7xxx/aicasm/aicasm_ma
cro_scan.c drivers/scsi/aic7xxx/aicasm/aicasm_scan.c drivers/scsi/aic7xxx/aicasm
/aicdb.h drivers/scsi/aic7xxx/aicasm/y.tab.h drivers/scsi/53c700_d.h net/khttpd/
make_times_h net/khttpd/times.h submenu*
rm -rf modules
make -C Documentation/DocBook clean
make[1]: 入ります ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/Documentati
on/DocBook'
rm -f core *~
rm -f wanbook.sgml z8530book.sgml mcabook.sgml videobook.sgml kernel-api.sgml pa
rportbook.sgml kernel-hacking.sgml kernel-locking.sgml via-audio.sgml mousedrive
rs.sgml sis900.sgml deviceiobook.sgml procfs-guide.sgml tulip-user.sgml journal-
api.sgml libata.sgml
rm -f wanbook.dvi z8530book.dvi mcabook.dvi videobook.dvi kernel-api.dvi p
arportbook.dvi kernel-hacking.dvi kernel-locking.dvi via-audio.dvi mousedriv
ers.dvi sis900.dvi deviceiobook.dvi procfs-guide.dvi tulip-user.dvi journal
-api.dvi libata.dvi wanbook.aux z8530book.aux mcabook.aux videobook.aux ke
rnel-api.aux parportbook.aux kernel-hacking.aux kernel-locking.aux via-audio
.aux mousedrivers.aux sis900.aux deviceiobook.aux procfs-guide.aux tulip-us
er.aux journal-api.aux libata.aux wanbook.tex z8530book.tex mcabook.tex vi
deobook.tex kernel-api.tex parportbook.tex kernel-hacking.tex kernel-locking
.tex via-audio.tex mousedrivers.tex sis900.tex deviceiobook.tex procfs-guid
e.tex tulip-user.tex journal-api.tex libata.tex wanbook.log z8530book.log
mcabook.log videobook.log kernel-api.log parportbook.log kernel-hacking.log
kernel-locking.log via-audio.log mousedrivers.log sis900.log deviceiobook.l
og procfs-guide.log tulip-user.log journal-api.log libata.log wanbook.out
z8530book.out mcabook.out videobook.out kernel-api.out parportbook.out kern
el-hacking.out kernel-locking.out via-audio.out mousedrivers.out sis900.out
deviceiobook.out procfs-guide.out tulip-user.out journal-api.out libata.out
rm -f parport-share.png parport-multi.png parport-structure.png parport-shar
e.eps parport-multi.eps parport-structure.eps
rm -f procfs_example.sgml
make[1]: 出ます ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/Documentation
/DocBook'
find . \( -size 0 -o -name .depend \) -type f -print | xargs rm -f
rm -f include/linux/autoconf.h include/linux/version.h tmp* drivers/net/hamradio
/soundmodem/sm_tbl_{afsk1200,afsk2666,fsk9600}.h drivers/net/hamradio/soundmodem
/sm_tbl_{hapn4800,psk4800}.h drivers/net/hamradio/soundmodem/sm_tbl_{afsk2400_7,
afsk2400_8}.h drivers/net/hamradio/soundmodem/gentbl drivers/sound/*_boot.h driv
ers/sound/.*.boot drivers/sound/msndinit.c drivers/sound/msndperm.c drivers/soun
d/pndsperm.c drivers/sound/pndspini.c drivers/atm/fore200e_*_fw.c drivers/atm/.f
ore200e_*.fw .version .config* config.in config.old scripts/tkparse scripts/kcon
fig.tk scripts/kconfig.tmp scripts/lxdialog/*.o scripts/lxdialog/lxdialog .menuc
onfig.log include/asm kdb/gen-kdb_cmds.c .hdepend scripts/mkdep scripts/split-in
clude scripts/docproc /usr/src/linux-2.4.21-32.0.1.EL.cern/include/linux/modvers
ions.h scripts/mkconfigs kernel/configs.c kernel/configs.o kernel.spec
rm -rf include/config /usr/src/linux-2.4.21-32.0.1.EL.cern/include/linux/modules
make -C Documentation/DocBook mrproper
make[1]: 入ります ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/Documentati
on/DocBook'
rm -f core *~
rm -f wanbook.sgml z8530book.sgml mcabook.sgml videobook.sgml kernel-api.sgml pa
rportbook.sgml kernel-hacking.sgml kernel-locking.sgml via-audio.sgml mousedrive
rs.sgml sis900.sgml deviceiobook.sgml procfs-guide.sgml tulip-user.sgml journal-
api.sgml libata.sgml
rm -f wanbook.dvi z8530book.dvi mcabook.dvi videobook.dvi kernel-api.dvi p
arportbook.dvi kernel-hacking.dvi kernel-locking.dvi via-audio.dvi mousedriv
ers.dvi sis900.dvi deviceiobook.dvi procfs-guide.dvi tulip-user.dvi journal
-api.dvi libata.dvi wanbook.aux z8530book.aux mcabook.aux videobook.aux ke
rnel-api.aux parportbook.aux kernel-hacking.aux kernel-locking.aux via-audio
.aux mousedrivers.aux sis900.aux deviceiobook.aux procfs-guide.aux tulip-us
er.aux journal-api.aux libata.aux wanbook.tex z8530book.tex mcabook.tex vi
deobook.tex kernel-api.tex parportbook.tex kernel-hacking.tex kernel-locking
.tex via-audio.tex mousedrivers.tex sis900.tex deviceiobook.tex procfs-guid
e.tex tulip-user.tex journal-api.tex libata.tex wanbook.log z8530book.log
mcabook.log videobook.log kernel-api.log parportbook.log kernel-hacking.log
kernel-locking.log via-audio.log mousedrivers.log sis900.log deviceiobook.l
og procfs-guide.log tulip-user.log journal-api.log libata.log wanbook.out
z8530book.out mcabook.out videobook.out kernel-api.out parportbook.out kern
el-hacking.out kernel-locking.out via-audio.out mousedrivers.out sis900.out
deviceiobook.out procfs-guide.out tulip-user.out journal-api.out libata.out
rm -f parport-share.png parport-multi.png parport-structure.png parport-shar
e.eps parport-multi.eps parport-structure.eps
rm -f procfs_example.sgml
rm -f wanbook.ps z8530book.ps mcabook.ps videobook.ps kernel-api.ps parpor
tbook.ps kernel-hacking.ps kernel-locking.ps via-audio.ps mousedrivers.ps s
is900.ps deviceiobook.ps procfs-guide.ps tulip-user.ps journal-api.ps libat
a.ps wanbook.pdf z8530book.pdf mcabook.pdf videobook.pdf kernel-api.pdf pa
rportbook.pdf kernel-hacking.pdf kernel-locking.pdf via-audio.pdf mousedrive
rs.pdf sis900.pdf deviceiobook.pdf procfs-guide.pdf tulip-user.pdf journal-
api.pdf libata.pdf
rm -f -r wanbook z8530book mcabook videobook kernel-api parportbook kerne
l-hacking kernel-locking via-audio mousedrivers sis900 deviceiobook procfs
-guide tulip-user journal-api libata
rm -f .depend
rm -f /usr/src/linux-2.4.21-32.0.1.EL.cern/scripts/mkdep-docbook
rm -rf DBTOHTML_OUTPUT*
make[1]: 出ます ディレクトリ `/usr/src/linux-2.4.21-32.0.1.EL.cern/Documentation
/DocBook'
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > ls -l /boot
合計 10876
lrwxrwxrwx 1 root root 32 6月 9 16:10 System.map -> System.ma
p-2.4.21-32.0.1.EL.cern
-rw-r--r-- 1 root root 588925 5月 26 19:58 System.map-2.4.21-32.0.
1.EL.cern
-rw-r--r-- 1 root root 616462 5月 26 19:43 System.map-2.4.21-32.0.
1.EL.cernsmp
-rw-r--r-- 1 root root 5824 10月 26 2003 boot.b
-rw-r--r-- 1 root root 612 10月 26 2003 chain.b
-rw-r--r-- 1 root root 48843 5月 26 19:58 config-2.4.21-32.0.1.EL
.cern
-rw-r--r-- 1 root root 48958 5月 26 19:43 config-2.4.21-32.0.1.EL
.cernsmp
drwxr-xr-x 2 root root 4096 6月 9 15:49 grub
-rw-r--r-- 1 root root 165902 6月 9 15:36 initrd-2.4.21-32.0.1.EL
.cern.img
-rw-r--r-- 1 root root 167317 6月 9 15:36 initrd-2.4.21-32.0.1.EL
.cernsmp.img
-rw-r--r-- 1 root root 543 6月 9 11:43 kernel.h
-rw-r--r-- 1 root root 9223 6月 9 2004 message
-rw-r--r-- 1 root root 9223 6月 9 2004 message.ja
-rw-r--r-- 1 root root 640 10月 26 2003 os2_d.b
-rwxr-xr-x 1 root root 3032596 5月 26 19:58 vmlinux-2.4.21-32.0.1.E
L.cern
-rwxr-xr-x 1 root root 3667668 5月 26 19:43 vmlinux-2.4.21-32.0.1.E
L.cernsmp
-rw-r--r-- 1 root root 1296668 5月 26 19:58 vmlinuz-2.4.21-32.0.1.E
L.cern
-rw-r--r-- 1 root root 1408875 5月 26 19:43 vmlinuz-2.4.21-32.0.1.E
L.cernsmp
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > pwd
/usr/src/linux-2.4
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > cp /boot/config-2.4.21-32.0.1.EL.cern .config
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > ls -la
合計 360
drwxr-xr-x 18 root root 4096 6月 10 09:37 .
drwxr-xr-x 5 root root 4096 6月 9 15:17 ..
-rw-r--r-- 1 root root 48843 6月 10 09:37 .config
-rw-r--r-- 1 root root 18691 8月 3 2002 COPYING
-rw-r--r-- 1 root root 29940 5月 26 19:05 COPYING.modules
-rw-r--r-- 1 root root 80764 5月 26 18:51 CREDITS
drwxr-xr-x 32 root root 4096 6月 9 14:19 Documentation
-rw-r--r-- 1 root root 45704 5月 26 18:51 MAINTAINERS
-rw-r--r-- 1 root root 20978 5月 26 19:05 Makefile
-rw-r--r-- 1 root root 14239 8月 3 2002 README
-rw-r--r-- 1 root root 2818 6月 13 2003 REPORTING-BUGS
-rw-r--r-- 1 root root 9528 5月 26 18:51 Rules.make
drwxr-xr-x 19 root root 4096 6月 9 14:20 arch
drwxr-xr-x 2 root root 4096 6月 9 14:20 configs
drwxr-xr-x 2 root root 4096 6月 10 09:34 crypto
drwxr-xr-x 46 root root 4096 6月 10 09:34 drivers
drwxr-xr-x 48 root root 4096 6月 10 09:34 fs
drwxr-xr-x 27 root root 4096 6月 10 09:34 include
drwxr-xr-x 2 root root 4096 6月 9 14:21 init
drwxr-xr-x 2 root root 4096 6月 10 09:34 ipc
drwxr-xr-x 3 root root 4096 6月 10 09:34 kdb
drwxr-xr-x 2 root root 4096 6月 10 09:34 kernel
drwxr-xr-x 4 root root 4096 6月 10 09:34 lib
drwxr-xr-x 2 root root 4096 6月 10 09:34 mm
drwxr-xr-x 32 root root 4096 6月 10 09:34 net
drwxr-xr-x 2 root root 4096 6月 9 14:21 save
drwxr-xr-x 4 root root 4096 6月 10 09:34 scripts
[onlsbc1] /usr/src/linux-2.4 >
(3-1). カーネルの設定
ディスクレスクライアント用のカーネルとして少なくとも設定すべきパラメータ
は以下のとおりである。
・「Code maturity level options」
→「Prompt for development and/or incomplete code/drivers」( Y )
・「Block devices」
→「Loopback device support」( Y )
・「Block devices」
→「Network block device support」( Y )
・「Networking options」
→ 「Unix domain sockets」( Y )
・「Networking options」
→「IP: kernel level autoconfiguration」( Y )
・「Networking options」
→「IP: kernel level autoconfiguration」
→ 「BOOTP support」( Y )
注. bootpを使う場合
・「Networking options」
→「IP: kernel level autoconfiguration」
→ 「RARP support」( Y )
・「Network device support」
→「Ethernet(10 or 100Mbit)」
→「EtherExpressPro/100 support」( Y )
注. クライアントのNICのドライバ
・「Filesystems」
→「Network File Systems」
→「NFS filesystem support」( Y )
・「Filesystems」
→「Network File Systems」
→「Root file system on NFS」 ( Y )
・「Filesystems」
→「Network File Systems」
→ 「NFS server support」
→ 「Provide NFSv3 server support」 ( Y )
参考.
必ずしも必要ではないが、クライアントからNFSでスワッ プを使いたい
場合には、パッチを当てる必要がある。 "Swapping via NFS for Linux"
からパッチを入手して、カーネルソースのディレクトリでパッチを当てる。
参考記事:
http://www.linuxforum.com/linux-network-boot/x542.htmlの
"8.3. Swapping over NFS"
# gunzip -c /usr/src/linux-2.2.14-nfs-swap.diff.gz | patch -p1 -l -s
さらに、
「Code maturity level options」
→「Prompt for development and/or incomplete code/drivers」 ( Y )
「Networking options」
→「Swapping via network sockets (EXPERIMENTAL)」 ( Y )
「Filesystems/Network File Systems」
→「Swapping via NFS (EXPERIMENTAL)」 ( Y )
のカーネル・パラメータを設定する。
注.
このパッチの入手先は以下のサイトである。
Swapping via NFS for Linux: http://nfs-swap.dot-heine.de/
ここでは、NFSスワップは使わないで構築する。
注.
サーバ側のマシンを使ってクライアント用のカーネルを構築する場合には、
ここで、サーバ用の .configファイルをセーブしておくこと。
# cp .config .config-server
今回はクライアントマシンを使ってクライアント用のカーネルを構築するので
.configファイルの扱いは気にする必要はない。
|
無用なトラブルを避けるために、クライアント用のカーネルではモジュールは
使わないで、全てカーネル内に収める。
|
|
再構築したカーネルを /bootディレクトリにコピーする。
[onlsbc1] /usr/src/linux-2.4 > pwd
/usr/src/linux-2.4
[onlsbc1] /usr/src/linux-2.4 > ls -l /usr/src/linux-2.4/arch/i386/boot
合計 1628
-rw-r--r-- 1 root root 2833 8月 6 2001 Makefile
-rwxr-xr-x 1 root root 512 6月 10 11:56 bbootsect
-rw-r--r-- 1 root root 2448 6月 10 11:56 bbootsect.o
-rw-r--r-- 1 root root 8727 6月 10 11:56 bbootsect.s
-rw-r--r-- 1 root root 10623 11月 10 2001 bootsect.S
-rwxr-xr-x 1 root root 4943 6月 10 11:56 bsetup
-rw-r--r-- 1 root root 13868 6月 10 11:56 bsetup.o
-rw-r--r-- 1 root root 53439 6月 10 11:56 bsetup.s
-rw-r--r-- 1 root root 1451954 6月 10 11:57 bzImage
drwxr-xr-x 2 root root 4096 6月 10 11:57 compressed
-rw-r--r-- 1 root root 974 9月 15 2001 install.sh
-rw-r--r-- 1 root root 29207 5月 26 18:51 setup.S
drwxr-xr-x 2 root root 4096 6月 10 11:57 tools
-rw-r--r-- 1 root root 39057 5月 26 18:51 video.S
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > cp /usr/src/linux-2.4/arch/i386/boot/bzImage /boo
t/vmlinuz-2.4.21-32.0.1.EL.cerncustom
[onlsbc1] /usr/src/linux-2.4 >
[onlsbc1] /usr/src/linux-2.4 > cp System.map /boot/System.map-2.4.21-32.0.1.EL.c
erncustom
[onlsbc1] /usr/src/linux-2.4 >
initrd イメージを再構成する。
(4). SLC 3、Release 305 のインストール
最小構成のシステムをインストールする。
[onlsbc1] /home/inoue > whoami
root
[onlsbc1] /home/inoue >
[onlsbc1] /home/inoue > /sbin/fdisk -l /dev/hda
Disk /dev/hda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス ブート 始点 終点 ブロック ID システム
/dev/hda1 * 1 382 3068383+ 83 Linux
/dev/hda2 383 1599 9775552+ 83 Linux
/dev/hda3 1600 1965 2939895 83 Linux
/dev/hda4 1966 12161 81899370 5 拡張領域
/dev/hda5 1966 2331 2939863+ 83 Linux
/dev/hda6 2332 3548 9775521 83 Linux
[onlsbc1] /home/inoue >
[onlsbc1] /home/inoue > df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda6 9621848 6296096 2836976 69% /
none 150868 0 150868 0% /dev/shm
AFS 9000000 0 9000000 0% /afs
[onlsbc1] /home/inoue >
/dev/hda7 パーティションを作成して、そこに最小構成の Scientific Linux
CERN 3 Release 305 をインストールする。
[onlsbc1] /home/inoue > /sbin/fdisk /dev/hda
このディスクのシリンダ数は 12161 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)
コマンド (m でヘルプ): p
Disk /dev/hda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス ブート 始点 終点 ブロック ID システム
/dev/hda1 * 1 382 3068383+ 83 Linux
/dev/hda2 383 1599 9775552+ 83 Linux
/dev/hda3 1600 1965 2939895 83 Linux
/dev/hda4 1966 12161 81899370 5 拡張領域
/dev/hda5 1966 2331 2939863+ 83 Linux
/dev/hda6 2332 3548 9775521 83 Linux
コマンド (m でヘルプ): n
最初 シリンダ (3549-12161, 初期値 3549):
初期値 3549 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (3549-12161, 初期値
12161): +2000M
コマンド (m でヘルプ): p
Disk /dev/hda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス ブート 始点 終点 ブロック ID システム
/dev/hda1 * 1 382 3068383+ 83 Linux
/dev/hda2 383 1599 9775552+ 83 Linux
/dev/hda3 1600 1965 2939895 83 Linux
/dev/hda4 1966 12161 81899370 5 拡張領域
/dev/hda5 1966 2331 2939863+ 83 Linux
/dev/hda6 2332 3548 9775521 83 Linux
/dev/hda7 3549 3792 1959898+ 83 Linux
コマンド (m でヘルプ): w
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソース
がビジー状態です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。
[onlsbc1] /home/inoue >
リブートする。
[onlsbc1] /home/inoue > reboot
Broadcast message from root (pts/0) (Fri Jun 10 17:08:47 2005):
The system is going down for reboot NOW!
:
:
/dev/hda7パーティションにファイルシステムを作成する。
[onlsbc1] /home/inoue > /sbin/mke2fs -j /dev/hda7
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
245280 inodes, 489974 blocks
24498 blocks (5.00%) reserved for the super user
First data block=0
15 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[onlsbc1] /home/inoue >
Scientific Linux CERN 3 (SLC3) のインストーラの新しいバージョンのものを
入手し配置する。
[onlsbc1] /mnt > reboot
Broadcast message from root (pts/0) (Mon Jun 13 08:45:58 2005):
The system is going down for reboot NOW!
:
:
ここでインストーラは起動する。
注:
使用言語の問い合わせは無かった。
Keyboard Type
What type of keyboard do you have ?
<=== "jp106" を選択し "ok" を選択して enter を押す。
Installation Method
What type of media contains the packages to be installed ?
<=== "HTTP" を選択し "ok" を選択して enter を押す。
Configure TCP/IP
Please enter the IP configuration for this machine. Each item should be
entered as an IP address in dotted-decimal notation ( for example,
1.2.3.4).
<=== 以下の情報をセットし "ok" を選択して enter を押す。
IP address: 130.87.***.*
Netmask: 255.255.***.*
Default gateway (IP): 130.87.***.*
Primary nameserver: 130.87.***.*
HTTP Setup
Please enter the following information:
o the name or IP number of your server
o the directory on that server containing Scientific Linux CERN for
your architecture
<=== 以下の情報をセットし "ok" を選択して enter を押す。
Web site name: linuxsoft.cern.ch
SL directory: /cern/slc305/i386/
SL
Welcome to SL!
<=== "ok" を選択して enter を押す。
Mouse Selection
Which model mouse is attached to this computer ?
<=== 以下の情報をセットし "ok" を選択して enter を押す。
Logitech - MouseMan Wheel (USB)
[*] Emulate 3 Buttons ?
Installation Type
What type of system would you like to install ?
<=== "Custom" を選択し "ok" を選択して enter を押す。
Disk Partitioning Setup
Automatic Partitioning sets partitions based on the selected
installation type. You also can customize the partitions once they have
been created.
The manual disk partitioning tool, Disk Durid, allows you to create
partitions in an interactive environment. You can set the file system
types, mount points, partition size, and more.
<=== "Disk Druid" を選択して Enter を押す。
Partitioning
<=== "Device /dev/hda7" を選択し "Edit" を選択して Enter を押す。
Add Partition
<=== "File System Options" を選択して Enter を押す。
File System Options
Please choose how you would like to prepare the file system on this
partition.
<=== "Format as ext3" を選択し "OK" を選択して
Enter を押す。
<=== "マウントポイント: /" を選択し "OK" を選択して Enter を押す。
参考: この時点で以下のように設定したことになる。
Mount Point: /
Type: ext3
Device: /dev/hda7
Size: 1913 MB
<=== "OK" を選択して Enter を押す。
Partitioning Warning
The following warning exist with your requested partition scheme.
You have not specified a swap partition. Although not strictly required
in all cases, it will significantly improve performance for most
installations.
Would you like to continue with your requested partitioning scheme?
<=== "Yes" を選択して Enter を押す。
Format Warning
The following pre-existing partitions have been selected to be formated,
destroying all data.
Select 'Yes' to continue and format these partitions, or 'No' to go back
and change these settings.
/dev/hda7 ext3 /
<=== "Yes" を選択して Enter を押す。
Boot Loader Configuration
Which boot loader would you like to use ?
<=== "Use GRUB Boot Loader" を選択し、"OK"を選択して Enter を押す。
Boot Loader Configuration
A few system will need to pass special options to the kernel at boot
time for the system to function properly. If you need to pass boot
options to the kernel, enter them now. If you don't need any or aren't
sure, leave this blank.
<=== ブランクのままにして "OK" を選択して Enter を押す。
A boot loader password prevents users from passing arbitrary options to
the kernel. For highest security, we recommended setting a password, but
this is not nesessary for more casual users.
<=== GRUBパスワードを使用しないにして "OK" を選択して Enter を押す。
The boot manager Red Hat uses can boot other operating systems as well.
You need to tell me what partitions you would like to be able to boot
and what label you want to use for each of them.
<=== "Scientific Linux CERN /dev/hda7" を指定し "OK" を選択して Enter を
押す。
Where do you want to install the boot loader ?
<=== "/dev/hda7 First sector of boot partition" を指定し "OK" を選択して
Enter を押す。
Network Configuration for eth0
<=== 以下の設定をし、"OK" を選択し Enter を押す。
Network Device: eth0
[*] Activate on boot
IP Address 130.87.***.*
Netmask 255.255.***.*
Miscellaneous Network Settings
<=== 以下の設定をし、"OK" を選択し Enter を押す。
Gateway: 130.87.***.*
Primary DNS: 130.87.***.*
Secondary DNS: 130.87.**.*
Tertiary DNS: 130.87.**.*
Hostname Configuration
If your system is part of a larger network where hostnames are assigned
by DHCP, select automatically via DHCP. Otherwisw, select manually and
enter in a hostname for your system. If you do not, your system will be
known as 'localhost.'
<=== "(*) manually onlsbc1.kek.jp" を設定をし、"OK" を選択し Enter を押す。
Firewall
A firewall can help prevent unauthorized access to your computer from
the outside world. Would you like to enable a firewall ?
<=== "(*) enable firewall" を選択し、"OK" を選択し Enter を押す。
Language Support
Choose additional languages that you would like to use on this system:
<=== 以下のように設定し、"OK" を選択し Enter を押す。
[*] English (USA)
[*] Japanese
Default Language
Choose the default language for this system:
"Japanese" を選択し、"OK" を選択し Enter を押す。
Time Zone Selection
What time zone are you located in ?
<=== "Asia/Tokyo"を選択して "OK" を選択して Enter を押す。
Root Password
Pick a root password. You must type it twice to ensure you know what it
is and didn't make a mistake in typing. Remember that the root password
is a critical part of system security !
Password: ********
Password (confirm): ********
ここでパッケージ情報の読み込みが始まる。
Package Group Selection
Total install size: 697M
<=== 何も選択しないで "OK" を選択して Enter を押す。
Installation to begin
A complete log of your installation will be in /root/install.log after
rebooting your system. You may want to keep this file for later
reference.
<=== "OK" を選択して Enter を押す。
インストールが開始される。
約40分で終了した。
Complete
Congratulations, your SL installation is complete.
Remove any installation media (diskettes or CD-ROMs) used during
the installation process and press (Enter) to reboot your system.
For information on Errata (updates and bug fixes),
and on automatic system updates visit:
http://cern.ch/linux/updates/
For infomation on using and configuring the system, visit:
http://cern.ch/linux/scientific/docs/
For support information, visit:
http://cern.ch/linux/support/
<=== "OK" を選択して Enter を押す。
インストールは正常に終了した。
注.
Scientific Linux CERN のインストーラは、起動用フロッピーディスク
作成を行わないので、必要ならば後で自分で作成すること。
"OK" を押すとインストーラは再起動する。
2.5"IDEハードディスク#2 の MBR にインストールしてある Fedora Core 3 の
grub が起動する。 この時点では、今回インストールした Scientific Linux
CERN 3 (SLC3) 用の起動項目がメニュー上に用意されていない。 "c"キーを押
してインタラクティブモードにする。 grubコマンドのプロンプトが表示された
ら、以下のように入力して Scientific Linux を立ち上げる。
grub> root (hd0,6)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /boot/vmlinuz-2.4.21-32.0.1.EL.cern ro root=/dev/hda7
[Linux-bzImage, setup=0x1400, size=0x13b31c]
grub> initrd /boot/initrd-2.4.21-32.0.1.EL.cern.img
[Linux-initrd @ 0x12fb7000, 0x2880e bytes]
grub> boot
:
:
Scientific Linux CERN のシステムが立ち上がった。 root のアカウントでログ
インする。
onlsun4[35]% ssh root@onlsbc1
Scientific Linux CERN Release 3.0.5 (SL)
root@onlsbc1's password:
[root@onlsbc1 root]#
[root@onlsbc1 root]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 722704 1108372 40% /
none 150868 0 150868 0% /dev/shm
[root@onlsbc1 root]#
ok. 正常にログインできた。
(5). インストール後の初期設定
ユーザのアカウントを登録する。
(5-1). ユーザの登録
toyoのアカウントを作成する。
[root@onlsbc1 root]# useradd toyo
[root@onlsbc1 root]#
[root@onlsbc1 root]# ls -l /etc/shadow
-r-------- 1 root root 877 6月 13 10:10 /etc/shadow
[root@onlsbc1 root]#
[root@onlsbc1 root]# chmod u+w /etc/shadow
[root@onlsbc1 root]# vi /etc/shadow
:
:
[root@onlsbc1 root]# chmod u-w /etc/shadow
[root@onlsbc1 root]# ls -l /etc/shadow
-r-------- 1 root root 909 6月 13 10:11 /etc/shadow
[root@onlsbc1 root]#
toyo のアカウントでログインしてみる。
onlsun4[36]% ssh toyo@onlsbc1
Scientific Linux CERN Release 3.0.5 (SL)
toyo@onlsbc1's password:
[toyo@onlsbc1 toyo]$ ls -la
合計 32
drwx------ 2 toyo toyo 4096 6月 13 10:10 .
drwxr-xr-x 3 root root 4096 6月 13 10:10 ..
-rw-r--r-- 1 toyo toyo 24 6月 13 10:10 .bash_logout
-rw-r--r-- 1 toyo toyo 191 6月 13 10:10 .bash_profile
-rw-r--r-- 1 toyo toyo 124 6月 13 10:10 .bashrc
-rw-r--r-- 1 toyo toyo 5542 6月 13 10:10 .canna
-rw-r--r-- 1 toyo toyo 120 6月 13 10:10 .gtkrc
[toyo@onlsbc1 toyo]$
[toyo@onlsbc1 toyo]$ df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 722752 1108324 40% /
none 150868 0 150868 0% /dev/shm
[toyo@onlsbc1 toyo]$
ok. 正常にログインできた。
(5-2). grubメニューの修正
Fedora Core 3 の grub.confファイルに Scientific Linux CERN 3 起動用の
メニューを追加する。
[root@onlsbc1 toyo]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 722752 1108324 40% /
none 150868 0 150868 0% /dev/shm
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# mount -t ext3 /dev/hda1 /mnt
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 722752 1108324 40% /
none 150868 0 150868 0% /dev/shm
/dev/hda1 3020140 1632376 1234348 57% /mnt
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# cd /mnt
[root@onlsbc1 mnt]# cat etc/issue
Fedora Core release 3 (Heidelberg)
Kernel \r on an \m
[root@onlsbc1 mnt]#
[root@onlsbc1 grub]# pwd
/mnt/boot/grub
[root@onlsbc1 grub]# ls -l
合計 276
-rw-r--r-- 1 root root 82 12月 27 16:57 device.map
-rw-r--r-- 1 root root 7956 12月 27 16:57 e2fs_stage1_5
-rw-r--r-- 1 root root 7684 12月 27 16:57 fat_stage1_5
-rw-r--r-- 1 root root 6996 12月 27 16:57 ffs_stage1_5
-rw------- 1 root root 1751 6月 9 16:58 grub.conf
-rw-r--r-- 1 root root 7028 12月 27 16:57 iso9660_stage1_5
-rw-r--r-- 1 root root 8448 12月 27 16:57 jfs_stage1_5
lrwxrwxrwx 1 root root 11 12月 27 16:57 menu.lst -> ./grub.conf
-rw-r--r-- 1 root root 7188 12月 27 16:57 minix_stage1_5
-rw-r--r-- 1 root root 9428 12月 27 16:57 reiserfs_stage1_5
-rw-r--r-- 1 root root 3194 10月 27 2004 splash.xpm.gz
-rw-r--r-- 1 root root 512 12月 27 16:57 stage1
-rw-r--r-- 1 root root 103816 12月 27 16:57 stage2
-rw-r--r-- 1 root root 7272 12月 27 16:57 ufs2_stage1_5
-rw-r--r-- 1 root root 6612 12月 27 16:57 vstafs_stage1_5
-rw-r--r-- 1 root root 9308 12月 27 16:57 xfs_stage1_5
[root@onlsbc1 grub]#
[root@onlsbc1 grub]# vi grub.conf
:
#
title Minimum: Scientific Linux CERN 3、Release 305 (SLC3) (2.4.21-32.0.1.EL.cer
n)
root (hd0,6)
kernel /boot/vmlinuz-2.4.21-32.0.1.EL.cern ro root=/dev/hda7
initrd /boot/initrd-2.4.21-32.0.1.EL.cern.img
#
:
"grub.conf" 49L, 1980C written
[root@onlsbc1 grub]#
ここで一旦リブートしてみる。
[root@onlsbc1 grub]# reboot
Broadcast message from root (pts/0) (Mon Jun 13 10:20:54 2005):
The system is going down for reboot NOW!
:
:
パワーオンの後に表示される grub のメニューに Minimum: Scientific Linux
CERN 3, Release 305 起動用のメニューが表示された。 このメニューを選択す
ると正常にシステムを起動できた。
これで、ディスクレス・クライアント用のカーネル再構築の準備ができた。
(5-3). パッケージの追加
クライアント用カーネルの再構築に必要なパッケージを追加インストールする。
クライアントマシン onlsbc1 の 2.5"IDEハードディスク#2 上の /dev/hda7パー ティションにインストールした Scientific Linux のシステムは、最小構成の
システムをインストールしたので、カーネルソース等はインストールされていな
い。 ここで追加インストールする。
[root@onlsbc1 toyo]# yum list installed | grep kernel
openafs-kernel-source-0-1 100% |=========================| 8.9 kB 00:00
kernel-debuginfo-0-2.4.21 100% |=========================| 110 kB 00:01
kernel-debuginfo-0-2.4.21 100% |=========================| 129 kB 00:01
kernel-debuginfo-0-2.4.21 100% |=========================| 56 kB 00:00
kernel-utils-debuginfo-1- 100% |=========================| 5.5 kB 00:00
kernel i686 2.4.21-32.0.1.EL.cern db
kernel-pcmcia-cs i386 1:3.1.31-13 db
kernel-utils i386 1:2.4-8.37.12.cern.1 db
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# which gcc
/usr/bin/which: no gcc in (/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/usr/bin:/u
sr/local/bin:/usr/X11R6/bin:/home/toyo/bin)
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# yum list installed | grep gcc
libgcc i386 3.2.3-52 db
[root@onlsbc1 toyo]#
gcc をインストールする。
[root@onlsbc1 toyo]# yum install gcc
Gathering header information file(s) from server(s)
Server: SLC3 extras packages
Server: SLC3 os packages
Server: SLC3 updates packages
Finding updated packages
Downloading needed headers
Resolving dependencies
...Dependencies resolved
I will do the following:
[install: gcc 3.2.3-52.i386]
I will install/upgrade these to satisfy the dependencies:
[deps: glibc-devel 2.3.2-95.33.i386]
[deps: glibc-kernheaders 2.4-8.34.1.i386]
[deps: glibc-headers 2.3.2-95.33.i386]
[deps: cpp 3.2.3-52.i386]
Is this ok [y/N]: y
Downloading Packages
Getting gcc-3.2.3-52.i386.rpm
gcc-3.2.3-52.i386.rpm 100% |=========================| 4.4 MB 00:21
Getting glibc-devel-2.3.2-95.33.i386.rpm
glibc-devel-2.3.2-95.33.i 100% |=========================| 1.9 MB 00:10
Getting glibc-kernheaders-2.4-8.34.1.i386.rpm
glibc-kernheaders-2.4-8.3 100% |=========================| 822 kB 00:05
Getting glibc-headers-2.3.2-95.33.i386.rpm
glibc-headers-2.3.2-95.33 100% |=========================| 518 kB 00:02
Getting cpp-3.2.3-52.i386.rpm
cpp-3.2.3-52.i386.rpm 100% |=========================| 245 kB 00:01
Running test transaction:
Test transaction complete, Success!
cpp 100 % done 1/5
glibc-kernheaders 100 % done 2/5
glibc-headers 100 % done 3/5
glibc-devel 100 % done 4/5
gcc 100 % done 5/5
Installed: gcc 3.2.3-52.i386
Dep Installed: glibc-devel 2.3.2-95.33.i386 glibc-kernheaders 2.4-8.34.1.i386 g
libc-headers 2.3.2-95.33.i386 cpp 3.2.3-52.i386
Transaction(s) Complete
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# which gcc
/usr/bin/gcc
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# gcc -v
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs から spec を読み込み中
コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man --infod
ir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --w
ith-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
スレッドモデル: posix
gcc バージョン 3.2.3 20030502 (Red Hat Linux 3.2.3-52)
[root@onlsbc1 toyo]#
カーネルソースをインストールする。
[root@onlsbc1 toyo]# ls -l /usr/src
合計 0
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# yum install kernel-source
Gathering header information file(s) from server(s)
Server: SLC3 extras packages
Server: SLC3 os packages
Server: SLC3 updates packages
Finding updated packages
Downloading needed headers
Resolving dependencies
Dependencies resolved
I will do the following:
[install: kernel-source 2.4.21-32.0.1.EL.cern.i386]
Is this ok [y/N]: y
Downloading Packages
Getting kernel-source-2.4.21-32.0.1.EL.cern.i386.rpm
kernel-source-2.4.21-32.0 100% |=========================| 42 MB 03:14
Running test transaction:
Test transaction complete, Success!
kernel-source 100 % done 1/1
Installed: kernel-source 2.4.21-32.0.1.EL.cern.i386
Transaction(s) Complete
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# ls -l /usr/src
合計 4
lrwxrwxrwx 1 root root 27 6月 13 11:17 linux-2.4 -> linux-2.4.
21-32.0.1.EL.cern
drwxr-xr-x 18 root root 4096 6月 13 11:16 linux-2.4.21-32.0.1.EL.
cern
[root@onlsbc1 toyo]#
[root@onlsbc1 toyo]# ls -laL /usr/src/linux-2.4
合計 1168
drwxr-xr-x 18 root root 4096 6月 13 11:16 .
drwxr-xr-x 3 root root 4096 6月 13 11:17 ..
-rw-r--r-- 1 root root 5939 5月 26 19:06 .depend
-rw-r--r-- 1 root root 273076 5月 26 19:06 .hdepend
-rw-r--r-- 1 root root 18691 8月 3 2002 COPYING
-rw-r--r-- 1 root root 29940 5月 26 19:05 COPYING.modules
-rw-r--r-- 1 root root 80764 5月 26 18:51 CREDITS
drwxr-xr-x 32 root root 4096 6月 13 11:15 Documentation
-rw-r--r-- 1 root root 45704 5月 26 18:51 MAINTAINERS
-rw-r--r-- 1 root root 20978 5月 26 19:05 Makefile
-rw-r--r-- 1 root root 14239 8月 3 2002 README
-rw-r--r-- 1 root root 2818 6月 13 2003 REPORTING-BUGS
-rw-r--r-- 1 root root 9528 5月 26 18:51 Rules.make
drwxr-xr-x 19 root root 4096 6月 13 11:16 arch
drwxr-xr-x 2 root root 4096 6月 13 11:16 configs
drwxr-xr-x 2 root root 4096 6月 13 11:16 crypto
drwxr-xr-x 46 root root 4096 6月 13 11:16 drivers
drwxr-xr-x 48 root root 4096 6月 13 11:16 fs
drwxr-xr-x 27 root root 4096 6月 13 11:16 include
drwxr-xr-x 2 root root 4096 6月 13 11:16 init
drwxr-xr-x 2 root root 4096 6月 13 11:16 ipc
drwxr-xr-x 3 root root 4096 6月 13 11:16 kdb
drwxr-xr-x 2 root root 4096 6月 13 11:16 kernel
drwxr-xr-x 4 root root 4096 6月 13 11:16 lib
drwxr-xr-x 2 root root 4096 6月 13 11:16 mm
drwxr-xr-x 32 root root 4096 6月 13 11:16 net
drwxr-xr-x 2 root root 4096 6月 13 11:16 save
drwxr-xr-x 4 root root 4096 6月 13 11:16 scripts
-rw-r--r-- 1 root root 585360 5月 26 19:07 tmp_include_depends
[root@onlsbc1 toyo]#
(6). クライアント用カーネルの構築(その2)
ディスクレスシステムのクライアント用カーネルは、/dev/hda6パーティション
にフルインストールしたシステム上で再構築した、カーネルを使用することに
する。 そして、クライアント用のルートファイルシステムには、/dev/hda7
パーティションに最小構成でインストールしたシステムを利用することにする。
[root@onlsbc1 boot]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 1030280 800796 57% /
none 150868 0 150868 0% /dev/shm
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# mount -t ext3 /dev/hda6 /mnt
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 1030280 800796 57% /
none 150868 0 150868 0% /dev/shm
/dev/hda6 9621848 6298064 2835008 69% /mnt
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# pwd
/boot
[root@onlsbc1 boot]# ls -l
合計 5068
lrwxrwxrwx 1 root root 32 6月 13 09:54 System.map -> System.ma
p-2.4.21-32.0.1.EL.cern
-rw-r--r-- 1 root root 588925 5月 26 19:58 System.map-2.4.21-32.0.
1.EL.cern
-rw-r--r-- 1 root root 48843 5月 26 19:58 config-2.4.21-32.0.1.EL
.cern
drwxr-xr-x 2 root root 4096 6月 13 09:38 grub
-rw-r--r-- 1 root root 164971 6月 13 09:18 initrd-2.4.21-32.0.1.EL
.cern.img
-rw-r--r-- 1 root root 543 6月 13 09:18 kernel.h
-rw-r--r-- 1 root root 9223 6月 9 2004 message
-rw-r--r-- 1 root root 9223 6月 9 2004 message.ja
-rwxr-xr-x 1 root root 3032596 5月 26 19:58 vmlinux-2.4.21-32.0.1.E
L.cern
-rw-r--r-- 1 root root 1296668 5月 26 19:58 vmlinuz-2.4.21-32.0.1.E
L.cern
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# ls -lL /mnt/usr/src/linux-2.4/arch/i386/boot
合計 1628
-rw-r--r-- 1 root root 2833 8月 6 2001 Makefile
-rwxr-xr-x 1 root root 512 6月 10 11:56 bbootsect
-rw-r--r-- 1 root root 2448 6月 10 11:56 bbootsect.o
-rw-r--r-- 1 root root 8727 6月 10 11:56 bbootsect.s
-rw-r--r-- 1 root root 10623 11月 10 2001 bootsect.S
-rwxr-xr-x 1 root root 4943 6月 10 11:56 bsetup
-rw-r--r-- 1 root root 13868 6月 10 11:56 bsetup.o
-rw-r--r-- 1 root root 53439 6月 10 11:56 bsetup.s
-rw-r--r-- 1 root root 1451954 6月 10 11:57 bzImage
drwxr-xr-x 2 root root 4096 6月 10 11:57 compressed
-rw-r--r-- 1 root root 974 9月 15 2001 install.sh
-rw-r--r-- 1 root root 29207 5月 26 18:51 setup.S
drwxr-xr-x 2 root root 4096 6月 10 11:57 tools
-rw-r--r-- 1 root root 39057 5月 26 18:51 video.S
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# mv vmlinuz-2.4.21-32.0.1.EL.cern vmlinuz-2.4.21-32.0.1.EL.c
ern-org
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# cp /mnt/usr/src/linux-2.4/arch/i386/boot/bzImage vmlinuz-2.
4.21-32.0.1.EL.cern-DKL
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# ln -s vmlinuz-2.4.21-32.0.1.EL.cern-DKL vmlinuz-2.4.21-32.0
.1.EL.cern
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# ls /mnt/boot
System.map initrd-2.4.21-32.0.1.EL.cernsmp.img
System.map-2.4.21-32.0.1.EL.cern kernel.h
System.map-2.4.21-32.0.1.EL.cerncustom message
System.map-2.4.21-32.0.1.EL.cernsmp message.ja
boot.b os2_d.b
chain.b vmlinux-2.4.21-32.0.1.EL.cern
config-2.4.21-32.0.1.EL.cern vmlinux-2.4.21-32.0.1.EL.cernsmp
config-2.4.21-32.0.1.EL.cernsmp vmlinuz-2.4.21-32.0.1.EL.cern
grub vmlinuz-2.4.21-32.0.1.EL.cerncustom
initrd-2.4.21-32.0.1.EL.cern.img vmlinuz-2.4.21-32.0.1.EL.cernsmp
initrd-2.4.21-32.0.1.EL.cerncustom.img
[root@onlsbc1 boot]# pwd
/boot
[root@onlsbc1 boot]# ls
System.map message
System.map-2.4.21-32.0.1.EL.cern message.ja
config-2.4.21-32.0.1.EL.cern vmlinux-2.4.21-32.0.1.EL.cern
grub vmlinuz-2.4.21-32.0.1.EL.cern
initrd-2.4.21-32.0.1.EL.cern.img vmlinuz-2.4.21-32.0.1.EL.cern-DKL
kernel.h vmlinuz-2.4.21-32.0.1.EL.cern-org
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# cp /mnt/boot/initrd-2.4.21-32.0.1.EL.cerncustom.img initrd-
2.4.21-32.0.1.EL.cern-DKL.img
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# mv initrd-2.4.21-32.0.1.EL.cern.img initrd-2.4.21-32.0.1.EL.cern.img-org
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# ln -s initrd-2.4.21-32.0.1.EL.cern-DKL.img initrd-2.4.21-32
.0.1.EL.cern.img
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# vi grub/grub.conf
:
#
title Minimum: Scientific Linux CERN 3、Release 305 (SLC3) (2.4.21-32.0.1.EL.cer
n)
root (hd0,6)
kernel /boot/vmlinuz-2.4.21-32.0.1.EL.cern ro root=/dev/hda7
initrd /boot/initrd-2.4.21-32.0.1.EL.cern.img
# :
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# ls -l
合計 6660
lrwxrwxrwx 1 root root 32 6月 13 09:54 System.map -> System.ma
p-2.4.21-32.0.1.EL.cern
-rw-r--r-- 1 root root 588925 5月 26 19:58 System.map-2.4.21-32.0.
1.EL.cern
-rw-r--r-- 1 root root 48843 5月 26 19:58 config-2.4.21-32.0.1.EL
.cern
drwxr-xr-x 2 root root 4096 6月 13 09:38 grub
-rw-r--r-- 1 root root 164081 6月 13 16:49 initrd-2.4.21-32.0.1.EL
.cern-DKL.img
lrwxrwxrwx 1 root root 36 6月 13 16:55 initrd-2.4.21-32.0.1.EL
.cern.img -> initrd-2.4.21-32.0.1.EL.cern-DKL.img
-rw-r--r-- 1 root root 164971 6月 13 09:18 initrd-2.4.21-32.0.1.EL
.cern.img-org
-rw-r--r-- 1 root root 543 6月 13 09:18 kernel.h
-rw-r--r-- 1 root root 9223 6月 9 2004 message
-rw-r--r-- 1 root root 9223 6月 9 2004 message.ja
-rwxr-xr-x 1 root root 3032596 5月 26 19:58 vmlinux-2.4.21-32.0.1.E
L.cern
lrwxrwxrwx 1 root root 33 6月 13 14:07 vmlinuz-2.4.21-32.0.1.E
L.cern -> vmlinuz-2.4.21-32.0.1.EL.cern-DKL
-rw-r--r-- 1 root root 1451954 6月 13 14:06 vmlinuz-2.4.21-32.0.1.E
L.cern-DKL
-rw-r--r-- 1 root root 1296668 5月 26 19:58 vmlinuz-2.4.21-32.0.1.E
L.cern-org
[root@onlsbc1 boot]#
[root@onlsbc1 modules]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 1032056 799020 57% /
none 150868 0 150868 0% /dev/shm
/dev/hda6 9621848 6331120 2801952 70% /mnt
[root@onlsbc1 modules]#
[root@onlsbc1 modules]# pwd
/lib/modules
[root@onlsbc1 modules]#
[root@onlsbc1 modules]# ls -l
合計 4
drwxr-xr-x 3 root root 4096 6月 13 09:18 2.4.21-32.0.1.EL.cern
[root@onlsbc1 modules]#
[root@onlsbc1 modules]# ls -l /mnt/lib/modules
合計 12
drwxr-xr-x 3 root root 4096 6月 9 11:44 2.4.21-32.0.1.EL.cern
drwxr-xr-x 4 root root 4096 6月 13 14:46 2.4.21-32.0.1.EL.cerncu
stom
drwxr-xr-x 3 root root 4096 6月 9 11:46 2.4.21-32.0.1.EL.cernsm
p
[root@onlsbc1 modules]#
[root@onlsbc1 modules]# cp -pRd /mnt/lib/modules/2.4.21-32.0.1.EL.cerncustom .
[root@onlsbc1 modules]#
[root@onlsbc1 modules]# ls -l
合計 8
drwxr-xr-x 3 root root 4096 6月 13 09:18 2.4.21-32.0.1.EL.cern
drwxr-xr-x 4 root root 4096 6月 13 14:46 2.4.21-32.0.1.EL.cerncu
stom
[root@onlsbc1 modules]#
リブートしてみる。
[root@onlsbc1 boot]# reboot
Broadcast message from root (pts/0) (Mon Jun 13 17:15:10 2005):
The system is going down for reboot NOW!
:
:
ok. 正常に起動できた。
これで、ディスクレス・クライアント用の機能を持ったカーネルを構築できた。
(6-2). カーネルソースのコピー
最小構成の Scientific Linux のシステムにインストールしてあるカーネルソー
スのディレクトリ下を全て削除する。 その後、フルインストールシステムの
/usr/src下のファイルを全て、最小構成システムの /usr/src 下にコピーする。
[root@onlsbc1 src]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 1067344 763732 59% /
none 150692 0 150692 0% /dev/shm
[root@onlsbc1 src]#
[root@onlsbc1 src]# pwd
/usr/src
[root@onlsbc1 src]#
[root@onlsbc1 src]# ls -l
合計 4
lrwxrwxrwx 1 root root 27 6月 13 11:17 linux-2.4 -> linux-2.4.
21-32.0.1.EL.cern
drwxr-xr-x 18 root root 4096 6月 13 13:46 linux-2.4.21-32.0.1.EL.
cern
[root@onlsbc1 src]#
[root@onlsbc1 src]# rm -rf *
[root@onlsbc1 src]#
[root@onlsbc1 src]# ls -l
合計 0
[root@onlsbc1 src]#
[root@onlsbc1 src]# mount -t ext3 /dev/hda6 /mnt
[root@onlsbc1 src]#
[root@onlsbc1 src]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 855112 975964 47% /
none 150692 0 150692 0% /dev/shm
/dev/hda6 9621848 6334512 2798560 70% /mnt
[root@onlsbc1 src]#
[root@onlsbc1 src]# ls -l /mnt/usr/src
合計 12
lrwxr-xr-x 1 root root 27 6月 9 14:22 linux-2.4 -> linux-2.4.
21-32.0.1.EL.cern
drwxr-xr-x 18 root root 4096 6月 10 17:09 linux-2.4.21-32.0.1.EL.
cern
drwxr-xr-x 3 root root 4096 6月 9 15:17 openafs-kernel-1.2.11
drwxr-xr-x 7 root root 4096 6月 9 13:42 redhat
[root@onlsbc1 src]#
[root@onlsbc1 src]# cp -pRd /mnt/usr/src/* .
[root@onlsbc1 src]#
[root@onlsbc1 src]# ls -l
合計 12
lrwxrwxrwx 1 root root 27 6月 14 10:45 linux-2.4 -> linux-2.4.
21-32.0.1.EL.cern
drwxr-xr-x 18 root root 4096 6月 10 17:09 linux-2.4.21-32.0.1.EL.
cern
drwxr-xr-x 3 root root 4096 6月 9 15:17 openafs-kernel-1.2.11
drwxr-xr-x 7 root root 4096 6月 9 13:42 redhat
[root@onlsbc1 src]#
[root@onlsbc1 src]# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/hda7 1929068 1171280 659796 64% /
none 150692 0 150692 0% /dev/shm
/dev/hda6 9621848 6334512 2798560 70% /mnt
[root@onlsbc1 src]#
[root@onlsbc1 src]# umount /mnt
[root@onlsbc1 src]#
(6-3). カーネル、およびinitrd の修正
nfsrootデバイスを作成し、カーネルにその旨を認識させる。
NFSサーバ上のファイルシステムをルートデバイスとして使用するように設定を
変更する。
参考.
"man initrd" より抜粋。
--->>> 参照開始
:
また、 /linuxrc を用いる事によっても通常時ルートファイルシステムデバ イ
ス を変更することができる。 /linuxrc を用いて、通常時ルートデバイスを変
更するためには、 /proc がマウントされていなければならない。 /proc が マ
ウントされた後、 /linuxrc 実行時に proc ファイル /proc/sys/kernel/real-
root-dev, /proc/sys/kernel/nfs-root-name, /proc/sys/kernel/nfs-root-
addrs に書き込む事によって通常時ルートデバイスを変更する。 / (NFS では
ない)物理的なルートデバイスの場合、 /linuxrc によって新しいルートファイ
ル システムのデバイス番号が /proc/sys/kernel/real-root-dev に書き込まれ
る事によって、ルートデバイスが変更される。 NFS ルートファイルシステムの
場合、 /linuxrc によって NFS の設定が /proc/sys/kernel/nfs-root-name と
/proc/sys/kernel/nfs-root-addrs に書き込まれ、 さ ら に /proc/sys/ker-
nel/real-root-dev に(疑似 NFS デバイスナンバーである) 0xff を書き込むこ
とによってルートデバイスが変更される。例えば、次のシェルコマンドライ ン
は通常時ルートデバイスを /dev/hdb1 に変更するはずである。
echo 0x365 >/proc/sys/kernel/real-root-dev
ま た、NFS の場合、次のようなシェルコマンドラインはローカルネットワーク
の 193.8.232.2 という IP アドレスを持つ NFS サーバの /var/nfsroot NFS
ディレクトリを 193.8.232.7 という IP を持つ idefix という名前のシステム
の通常時ルートデバイスとしてマウントするように変更するはずである。
echo /var/nfsroot >/proc/sys/kernel/nfs-root-name
echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \
>/proc/sys/kernel/nfs-root-addrs
echo 255 >/proc/sys/kernel/real-root-dev
:
<<<--- 参照終了
上で行った作業、
#echo 0x0100 > /proc/sys/kernel/real-root-dev
echo 255 > /proc/sys/kernel/real-root-dev
はルートデバイスの指定をRAMディスクからNFSディスクへの変更である。
[root@onlsbc1 boot]# ls -l /dev/ram0
brw-rw---- 1 root disk 1, 0 9月 3 2004 /dev/ram0
[root@onlsbc1 boot]#
[root@onlsbc1 boot]# ls -l /dev/nfsroot
brw-r--r-- 1 root root 0, 255 6月 14 13:54 /dev/nfsroot
[root@onlsbc1 boot]#
続いて、サーバ側の設定を行う。
---xxxx