[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:29022] Re: mount usb root-fs



冨岡です@簡易なテスト結果です。

From: KOJIMA Mitsuhiro <kojima@xxxxxxxxxxx>
Subject: [plamo:29004] Re: mount usb root-fs
Date: Sat, 08 Mar 2008 16:37:21 +0900 (JST)

> initrd のデメリットとしては,カーネルを再構築した際には initrd も再構築
> しないといけない,というあたりだけど,昨今だと自前でカーネルビルドする
> 人は少数派だし,mkinitrd みたいなスクリプトも用意されているので,デメリッ
> トよりはメリットの方が大きい,という感じだと思います.

Fedora Core 5 の mkinitrd-5.0.32-1.i386.rpm を利用してテストしてみました。

USB デバイスは Cruzer mini 256MB に Plamo-4.22 の a をインストールした
だけです ( USB HDD は持っていません ) 。

テストマシン 
  mother board : GigaByte GA_8IG1000-G
  cpu :  Intel(R) Celeron(R) CPU 2.80GHz (P4-Prescott-Celeron D 2.8G)
では、起動できました。

テストマシン 
  mother board : Biostar U8668-D v7.x (Ver 7.5 より前)
    (CHIPSET : VIA P4M266A / VT8237 (VT8235))
  cpu : Intel(R) Celeron(R) CPU 2.40GHz
では、起動しませんでした。


mkinitrd で作成した initrd.img からの変更点。
------------------------------------
initrd.img 内の lib/ 以下に 

-rw-r--r--    1 root     root        39172  3月 14日  15:35 ehci-hcd.ko
-r--r--r--    1 root     root        35425  3月 14日  15:35 libusual.ko
-rw-r--r--    1 root     root        25784  3月 14日  15:35 ohci-hcd.ko
-rw-r--r--    1 root     root        41123  3月 14日  15:35 sg.ko
-rw-r--r--    1 root     root        30209  3月 14日  15:35 uhci-hcd.ko
-rw-r--r--    1 root     root        85740  3月 14日  15:35 usb-storage.ko
-rw-r--r--    1 root     root       151963  3月 14日  15:35 usbcore.ko

を追加。

initrd.img 内の init は

#!/bin/nash

mount -t proc /proc /proc
setquiet
echo Mounting proc filesystem
echo Mounting sysfs filesystem
mount -t sysfs /sys /sys
echo Creating /dev
mount -o mode=0755 -t tmpfs /dev /dev
mkdir /dev/pts
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
mkdir /dev/shm
mkdir /dev/mapper
echo Creating initial device nodes
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
mknod /dev/systty c 4 0
mknod /dev/tty c 5 0
mknod /dev/console c 5 1
mknod /dev/ptmx c 5 2
mknod /dev/rtc c 10 135
mknod /dev/tty0 c 4 0
mknod /dev/tty1 c 4 1
mknod /dev/tty2 c 4 2
mknod /dev/tty3 c 4 3
mknod /dev/tty4 c 4 4
mknod /dev/tty5 c 4 5
mknod /dev/tty6 c 4 6
mknod /dev/tty7 c 4 7
mknod /dev/tty8 c 4 8
mknod /dev/tty9 c 4 9
mknod /dev/tty10 c 4 10
mknod /dev/tty11 c 4 11
mknod /dev/tty12 c 4 12
mknod /dev/ttyS0 c 4 64
mknod /dev/ttyS1 c 4 65
mknod /dev/ttyS2 c 4 66
mknod /dev/ttyS3 c 4 67
echo Setting up hotplug.
hotplug
echo Creating block device nodes.
mkblkdevs

echo "Loading usbcore.ko module"
insmod /lib/usbcore.ko
echo "Loading libusual.ko module"
insmod /lib/libusual.ko
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko
echo "Loading sd_mod.ko module"
insmod /lib/sd_mod.ko
echo "Loading sg.ko module"
insmod /lib/sg.ko
echo "Loading ehci-hcd.ko module"
insmod /lib/ehci-hcd.ko
echo "Loading ohci-hcd.ko module"
insmod /lib/ohci-hcd.ko
echo "Loading uhci-hcd.ko module"
insmod /lib/uhci-hcd.ko
echo "Loading usb-storage.ko module"
insmod /lib/usb-storage.ko
sleep 10 

mkblkdevs
#resume /dev/sda1
echo Creating root device.
#mkrootdev -t ext3 -o defaults,ro /dev/sda2
mkrootdev -t ext3 -o defaults,ro /dev/sda1
echo Mounting root filesystem.
mount /sysroot
echo Setting up other filesystems.
setuproot
echo Switching to new root and running init.
switchroot

に変更。

(grub.conf の確認、変更)
grub のインストールは Plamo インストール時には行わないで
Plamo-4.03 環境から grub-install で行なったので grub.conf を
/etc/ 以下にコピー  ( grub-install を利用しないで grub のコマンドライ
ンからインストールした方が悩まなくて良いかも? ) 。

# Plamo のインストーラ自体は initrd 仕様なので、こちらを改造して? … 
# が本筋の様には感じました。

# 参考文献 : 「 自分で作る Linux OS 」 日経BP社


参考までに以下に initrd.img 内の tree 構成を示しておきます。
---------------------
xxx/initrdtmp
|-- [       4096]  bin
|   |-- [     419400]  insmod
|   |-- [         10]  modprobe -> /sbin/nash
|   `-- [    1353084]  nash
|-- [       4096]  dev
|   |-- [          0]  console
|   |-- [       4096]  mapper
|   |-- [          0]  null
|   |-- [          0]  ptmx
|   |-- [          4]  ram -> ram1
|   |-- [          0]  ram0
|   |-- [          0]  ram1
|   |-- [          0]  rtc
|   |-- [          0]  systty
|   |-- [          0]  tty
|   |-- [          0]  tty0
|   |-- [          0]  tty1
|   |-- [          0]  tty10
|   |-- [          0]  tty11
|   |-- [          0]  tty12
|   |-- [          0]  tty2
|   |-- [          0]  tty3
|   |-- [          0]  tty4
|   |-- [          0]  tty5
|   |-- [          0]  tty6
|   |-- [          0]  tty7
|   |-- [          0]  tty8
|   |-- [          0]  tty9
|   |-- [          0]  ttyS0
|   |-- [          0]  ttyS1
|   |-- [          0]  ttyS2
|   |-- [          0]  ttyS3
|   `-- [          0]  zero
|-- [       4096]  etc
|-- [       1865]  init
|-- [       1195]  init.org
|-- [       4096]  lib
|   |-- [      39172]  ehci-hcd.ko
|   |-- [      35425]  libusual.ko
|   |-- [      25784]  ohci-hcd.ko
|   |-- [      41123]  sg.ko
|   |-- [      30209]  uhci-hcd.ko
|   |-- [      85740]  usb-storage.ko
|   `-- [     151963]  usbcore.ko
|-- [       4096]  proc
|-- [          3]  sbin -> bin
|-- [       4096]  sys
`-- [       4096]  sysroot

9 directories, 39 files


---------
とみおか



Follow-Ups
[plamo:29023] Re: mount usb root-fs, Mikio Tomioka
References
[plamo:28999] Re: mount usb root-fs, cho
[plamo:29003] Re: mount usb root-fs, kinneko
[plamo:29004] Re: mount usb root-fs, KOJIMA Mitsuhiro

[検索ページ] [メール一覧]
Plamo ML 公開システム