eth と それに対する module が 想定するものと 逆に なる場合が有ります。 通常 /etc/modules.conf に alias で 設定する事に依り 割り付けられる 事が 有ります
いずれも 抜粋ですが
問題なく動作しているように 見えるのですが?
# mount /dev/sda7 /mnt/ # cat /mnt/etc/slackware-version Slackware 9.1.0 # cat /etc/modules.conf /* 抜粋 これは過去の 例を 引用して 運用 */ alias eth0 eepro100 alias eth1 8139too Mon Feb 16 23:20:32 JST 2004
問題なく動作しているように 見えるのですが? dhcp ですので 起動時 ケー ブルが 接続されていない と警告を 受けるのは eth1 側
lx:~# mount /dev/hda10 /mnt/ lx:~# cd /mnt/etc/ lx:/mnt/etc# cat redhat-release Red Hat Linux release 9 (Shrike) lx:/mnt/etc# cat modules.conf alias eth0 e100 alias eth1 8139too alias scsi_hostadapter sym53c8xx alias usb-controller usb-uhci lx:/mnt/etc# cat modules.conf~ alias eth0 e100 alias eth1 8139too alias scsi_hostadapter sym53c8xx
問題なく動作しているように 見えるのですが? dhcp ですので 起動時 ケー ブルが 接続されていない と警告を 受けるのは eth0 側
lx:~# mount /dev/hda11 /mnt/ lx:~# cd /mnt/etc/ lx:/mnt/etc# cat vine-release Vine Linux 4.1 (Cos d'Estournel) lx:/mnt/etc# cat modprobe.conf alias eth0 8139too alias eth1 e100 alias scsi_hostadapter sym53c8xx alias usb-controller uhci-hcd lx:/mnt/etc# cat modprobe.conf~ alias eth0 8139too alias eth1 e100 alias scsi_hostadapter sym53c8xx
少し 別の場所になりますが
lx:~# mount /dev/sda6 /mnt/ lx:/mnt/etc# cat debian_version 3.0 lx:/mnt/etc# cat modules # /etc/modules: kernel modules to load at boot time. # # This file should contain the names of kernel modules that are # to be loaded at boot time, one per line. Comments begin with # a "#", and everything on the line after them are ignored. unix af_packet eepro100
近頃のものは eepro100 よりは e100 が 良いのかもしれません。 それはと もかく。今回は e100 を kernel に 組み込むことで 対処 する事にします。但 しこれは 根本的な対処ではありません。kernel に e100 を 組み込むとこれが eth0 に 割り振りをしてくれるだろうという 希望です。
一連の作業を 行います。
lx:~# cd /usr/src/linux-2.4.31/ lx:/usr/src/linux-2.4.31# make menuconfig rm -f include/asm ( cd include ; ln -sf asm-i386 asm) make -C scripts/lxdialog all make[1]: Entering directory `/usr/src/linux-2.4.31/scripts/lxdialog' make[1]: Leaving directory `/usr/src/linux-2.4.31/scripts/lxdialog' /bin/sh scripts/Menuconfig arch/i386/config.in Using defaults found in .config Preparing scripts: functions, parsing................................ ..................................................done. Saving your kernel configuration... *** End of Linux kernel configuration. *** Check the top-level Makefile for additional configuration. *** Next, you must run 'make dep'. /* 設定を 保存して make dep && make clean && make bzImage を 行います */ lx:/usr/src/linux-2.4.31# make dep && make clean && make bzImage ... objcopy -O binary -R .note -R .comment -S compressed/bvmlinux compressed/bvmlinux.out tools/build -b bbootsect bsetup compressed/bvmlinux.out CURRENT > bzImage Root device is (3, 7) Boot sector 512 bytes. Setup is 4767 bytes. System is 1022 kB warning: kernel is too big for standalone boot from floppy make[1]: Leaving directory `/usr/src/linux-2.4.31/arch/i386/boot' /* このくらいの事を いわれても 問題は無いでしょう 続けて modules を 作成します */ lx:/usr/src/linux-2.4.31# cd /lib/modules lx:/lib/modules# ls 2.4.31-plamo/ org_2.4.31-plamo/ lx:/lib/modules# mv 2.4.31-plamo/ 1st-2.4.31-plamo/ lx:/lib/modules# cd - /usr/src/linux-2.4.31 /* 作業を開始します */ lx:/usr/src/linux-2.4.31# make modules && make modules_install ... cd /lib/modules/2.4.31-plamo; \ mkdir -p pcmcia; \ find kernel -path '*/pcmcia/*' -name '*.o' | xargs -i -r ln -sf ../{} pcmcia if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.4.31-plamo; fi /* 後の処理をします */ lx:/usr/src/linux-2.4.31# ls /lib/modules/ 1st-2.4.31-plamo/ 2.4.31-plamo/ org_2.4.31-plamo/ lx:/usr/src/linux-2.4.31# cd /lib/modules/ lx:/lib/modules# mv 1st-2.4.31-plamo/ second-2.4.31-plamo/ lx:/lib/modules# ls 2.4.31-plamo/ org_2.4.31-plamo/ second-2.4.31-plamo/ lx:/lib/modules# cd - /usr/src/linux-2.4.31 /* kernel の 入れ換えを 行います */ lx:/usr/src/linux-2.4.31# ls -l arch/i386/boot/bzImage -rw-r--r-- 1 root root 1052988 Nov 16 00:16 arch/i386/boot/bzImage lx:/usr/src/linux-2.4.31# cd / lx:/# mv vmlinuz-2.4.31 001_vmlinuz-2.4.31 lx:/# cp /usr/src/linux-2.4.31/arch/i386/boot/bzImage vmlinuz-2.4.31 /* System.map の 入れ換えを 行います */ lx:/# cd /boot/ lx:/boot# mv System.map-2.4.31 001_System.map-2.4.31 lx:/boot# cp /usr/src/linux-2.4.31/System.map System.map-2.4.31 /* modules.conf から eth0,1 の alias 削除 */ lx:/boot# cd /etc/ lx:/etc# ls -l modules.conf -rw-r--r-- 1 root root 2300 Nov 14 10:32 modules.conf lx:/etc# cp modules.conf 0008_20071114_modules.conf_alias-eth lx:/etc# cp 0001_backup/0007_20050119_modules.conf_org modules.conf lx:/etc# mv 0008_20071114_modules.conf_alias-eth 0001_backup/ /* alias 追記する 前の ものに 戻したということ */
これで 一連の作業は完了した理由です 再起動して 確認しましょう。
再起動 した後の状態を確認
lx:/var/data/www/apache2/logs# shutdown -r now lx:~# lsmod Module Size Used by Not tainted autofs4 8052 0 (unused) nfsd 66448 1 (autoclean) lockd 45008 1 (autoclean) [nfsd] sunrpc 64608 1 (autoclean) [nfsd lockd] 8139too 13832 0 (unused) mii 2208 0 [8139too] crc32 2880 0 [8139too] keybdev 1796 0 (unused) mousedev 3860 0 (unused) input 3328 0 [keybdev mousedev] usb-uhci 21456 0 (unused) usbcore 58060 1 [usb-uhci]
当然だわさ と いうが また運用中に 問題が 発生するかもしれないが
lx:/var/data/www/apache2/logs# ifconfig eth0 Link encap:Ethernet HWaddr 00:D0:B7:29:65:7F inet addr:192.168.0.5 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:224 errors:0 dropped:0 overruns:0 frame:0 TX packets:348 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:33718 (32.9 Kb) TX bytes:31277 (30.5 Kb) Interrupt:11 Base address:0x2800 Memory:41200000-41200038 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:143 errors:0 dropped:0 overruns:0 frame:0 TX packets:143 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:9261 (9.0 Kb) TX bytes:9261 (9.0 Kb)
この 状態で いつも 起動すれば 問題は 無いのですが 当分これにて 運用を します。
これは /etc/modules.conf の aliasにて eth0 と eth1 を 規定したつもりですが eth0 予定外の 割り当て 例です。予定どおりのも のも 記載してあります。
これは eth0 と eth1 について 調査した断片 の 資料ですので 役に立ちませぬ。 e100 でも eepro100 でも お好きな方 を 選択すれば 良いと思います
にゃんたろう 拝!
2007年11月19日 (月) 22:47:09 JST 作成