外付けのUSBハードディスクへのFullインストール

パピーリナックスを初めて使う方もご利用ください

モデレータ: 暇人, YoN, nyu

返信する
puppy初心者
記事: 6
登録日時: 09/11/01(日) 09:49

外付けのUSBハードディスクへのFullインストール

投稿記事 by puppy初心者 »

puppy linux の初心者です。

少し古い puppy-2.17.1-jp-IME が必要になり、外付けの USBハードディスクに
インストールしたのですが、起動時に、カーネルパニックが起こり、起動出来ません。
puppy-4.1.1-jp では、USBハードディスクにインストールして、起動出来ていました。
状況は下記の通りです。正常に起動するには、どうすればよいか、ご教授お願い致します。

1、 USBハードディスクの sda1 に 18.5GB を割り当て、ext3 でフォーマットし、
sda2 に 500MB を割り当て、スワップ領域としています。

2、 Fullインストールしたいのですが、パピーをインストールするパーティションの確認
ダイアログで OKボタンをクリックすると、おかしなことに、Frugal か Full を選択する
ダイアログが現れず、直ちに、CD からハードディスクへの複写が始まります。
複写が終わると、「ENTERキーを押せ」との伝言が画面に現れるので、ENTERキーを押すと、
ユニバーサルインストーラは終了して、GRUB のインストールダイアログに進みません。

3、 GRUB が未だインストールされていないので、Grub ブートローダ設定を起動して、
sda の MBR に grub をインストールしました。

4、 これで、sda1 に puppy-2.17.1-jp がインストールされ、sda の MBR に
grub がインストールされたと考えています。

5、 menu.lst の関係する行は、下記のように編集しています。
title Puppy_Linux
root (hd0,0)
kernel /vmlinuz root=/dev/sda1 ro vga=normal pmedia=usbhd
initrd /initrd.gz

6、 カーネルパニックで停止した時の端末画面の最後付近の画面は下記のようになっています。
Creating unionfs on(/initrd)/pup_new(to become '/')---
BusyBox v1.01 (2006.08.20-09:28toooo)multi-call binary

Usage: init

Init is the parent of all processes.

Kernel Panic - not Syncing: No init found. Try passing init= option to kernel

7、 linuxrcスクリプト(/sbin/init のシンボリックリンク)の最後の行の
exec chroot . sh -c "exec /bin/busybox init" <dev/console >dev/console 2>&1
までは、問題なく進んでいるようです。この行を実行した後、どこへ行くのか、初心者の私には
分かりませんが、そこでパニックを起こしているようです。
  
puppy初心者
記事: 6
登録日時: 09/11/01(日) 09:49

Re: 外付けのUSBハードディスクへのFullインストール

投稿記事 by puppy初心者 »

ブートの仕組みについて、よく理解していないままに、menu.lst をいろいろ書き換えて
みると、下記の四つの内、test1,test2,test3 では起動し、test4 ではカーネルパニック
を起こして起動しない結果が得られました。
Linux では、test4 の書式が一般的と思うのですが、なぜ、puppy ではカーネルパニック
を起こすのでしょうか?
test1,test2,test3 では起動はしていますが、なぜこの様に書くと起動するのでしょうか?
果たして、Fullインストールされているかどうか調べる方法はないのでしょうか?
以上、ご教授宜しくお願い致します。

1、 test1
title Puppy_test1
rootnoverify (hd0,0)
makeactive
chainloader +1

2、 test2
title Puppy_test2
root (hd0,0)
chainloader +1

3、 test3
title Puppy_test3
root (hd0,0)
kernel /vmlinuz root=/dev/ram0 vga=normal pmedia=usbhd
initrd /initrd.gz

4、 test4
title Puppy_test4
root (hd0,0)
kernel /vmlinuz root=/dev/sda1 vga=normal pmedia=usbhd
initrd /initrd.gz
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: 外付けのUSBハードディスクへのFullインストール

投稿記事 by みのむし »

>kernel /vmlinuz root=/dev/ram0 vga=normal pmedia=usbhd

Puppyはメモリ上で起動するのだから、こうなるのが正解ですが、

>4、 test4
>title Puppy_test4
>root (hd0,0)
>kernel /vmlinuz root=/dev/sda1 vga=normal pmedia=usbhd
>initrd /initrd.gz

普通のディストリビューションのような方法が使えても良さそうですが、...
(/dev/sda1→内蔵HDD→IDE HDDなので)
「pmedia=usbhd」はおかしい。削除してください。

Linux 書き散らし: Puppy Linux 4.00日本語版インストール
http://living-on-the-linux.cocolog-nift ... x-400.html
より、一部抜粋。
-------
title Puppy Linux 400 full install in hda5
root(hd0,4)
kernel /boot/vmlinuz root=/dev/hda5 pmedia=idehd

とりあえず、これで終わり。initrdの定義がないのがなんとも不思議。
(↑initrd行は削除する)

※Puppyの initrd (の働き/使われ方)は他のディストリビューションとは一部異なる。
よって、USB HDDから起動するには一工夫必要。IDE HDD(内蔵HDD)から起動するのは簡単。
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
puppy初心者
記事: 6
登録日時: 09/11/01(日) 09:49

Re: 外付けのUSBハードディスクへのFullインストール

投稿記事 by puppy初心者 »

みのむし 様

ご返事を頂き有難う御座います。

>Puppyはメモリ上で起動するのだから、こうなるのが正解ですが

ブートの仕組みについては、よく理解できていないのですが、root= は「/」の場所を指し示して
いると思っています。Fullインストールしたのだから、「/」は外付けUSBハードディスクの sda1
になるのではないのでしょうか?それで、root=/dev/sda1 としています。
他のバージョンのpuppy-4.1.1 では、root=/dev/sda1 で起動出来ています。

>/dev/sda1→内蔵HDD→IDE HDDなので

外付けusbハードディスクにインストール中は、外付けUSBハードディスクは、/dev/sdc と見えて
いますが、USB起動時には、/dev/sda と見えます。したがって、root=/dev/sda1 として
います。現に、puppy-4.1.1 では、root=/dev/sda1 で起動出来ています。
root=/dev/sdc1 とすると起動出来ません。unknown-block となってしまいます。

>「pmedia=usbhd」はおかしい。削除してください。

pmedia=usbhd を削除して
kernel /vmlinuz root=/dev/sda1 vga=normal
としても、結果は同じで、起動できません。

気になっている点は、本当に、Fullインストール出来ているのかどうかです。
Fullインストールした場合、usbハードディスクのルートディレクトリには、どのような
ファイルとかディレクトリがあればよいのでしょうか?
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: 外付けのUSBハードディスクへのFullインストール

投稿記事 by みのむし »

>外付けusbハードディスクにインストール中は、外付けUSBハードディスクは、/dev/sdc と見えて
>いますが、USB起動時には、/dev/sda と見えます。したがって、root=/dev/sda1 として
>います。現に、puppy-4.1.1 では、root=/dev/sda1 で起動出来ています。
>root=/dev/sdc1 とすると起動出来ません。unknown-block となってしまいます。

puppy-4.3.1JPのカーネルバージョンは 2.6.30.5 です。

「root=/dev/sdb1」としてみては?
但し、USB HDD用のデバイスドライバが無いので起動出来ません。
(そのためには initrd が必要ですが、作成するのは難しい...)

(以下の対応は初心者の域を越えています。正式に対応されるまで待っては?
あるいは、外付け USB HDDにFrugalインストールしてみるとか、PCのメモリサイズにもよりますが...)

私は、puppy-4.1.1用(フルインストール)の initrd.gz があれば作成出来ます。
メールに添付して送ってください。
E-mail: 7459oujq@jcom.home.ne.jp

puppy-4.3.1JP HDDデバイス名推定)
 /dev/sda…内蔵 HDD
 /dev/sdb…外付け USB HDD

puppy-4.1.1のカーネルバージョンは?

コード: 全て選択

# uname -r
>気になっている点は、本当に、Fullインストール出来ているのかどうかです。
>Fullインストールした場合、usbハードディスクのルートディレクトリには、どのような
>ファイルとかディレクトリがあればよいのでしょうか?

Puppyの実行時の/と同じディレクトリ構造です。
因みに、私の環境(4.3.1JP Final相当)で実行すると、

コード: 全て選択

# cd /
# ls -l
total 60
drwxr-xr-x  2 root root   150 2007-10-22 19:16 bin
drwxr-xr-x 12 root root  4096 2009-11-11 10:28 dev
drwxr-xr-x 36 root root  4096 2009-11-11 10:48 etc
drwxr-xr-x 15 root root  4096 2009-10-29 09:46 initrd
drwxr-xr-x  8 root root  4096 2009-09-30 10:30 lib
drwx------  2 root root 16384 2009-10-29 09:46 lost+found
drwxr-xr-x 25 root root  4096 2009-11-11 19:28 mnt
drwxr-xr-x 10 root root  4096 2009-09-30 10:07 opt
dr-xr-xr-x 99 root root     0 2009-11-11 19:28 proc
drwxr-xr-x 48 root root  4096 2009-11-11 10:31 root
drwxr-xr-x  2 root root  4096 2009-09-30 10:29 sbin
drwxr-xr-x 12 root root     0 2009-11-11 19:28 sys
drwxrwxrwt  3 root root   440 2009-11-11 10:31 tmp
drwxr-xr-x 33 root root  4096 2009-02-19 12:41 usr
drwxr-xr-x 23 root root  4096 2009-10-29 18:47 var
puppy-4.3.1JP 外付け USB HDD用 initrd.gz の作成手順)
 作成するためには、別(Puppyで無い)のLinux環境が必要です。
・カーネルソースの準備
・カーネルの再構築
・vmlinuz、initrd.gz の作成
・ファイルシステムへの組み込み
・起動確認

但し、私は puppy-4.3.1JP上で、puppy-4.1.1の initrd.gz を基にして作業します。
・puppy-4.1.1の initrd.gzの解凍・展開
・puppy-4.3.1JPのドライバの組み込み他
・initrd.gzの作成

再インストールファイルリスト
initrd.gz
vmlinuz
lib-modules-2.6.30.5.tgz
(↑puppy-4.3.1JP起動後、/lib/modules/2.6.30.5 を置換するためのファイル)
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
アバター
シノバー
記事: 3328
登録日時: 09/03/21(土) 00:05
連絡する:

Re: 外付けのUSBハードディスクへのFullインストール

投稿記事 by シノバー »

puppy初心者 さんが書きました:少し古い puppy-2.17.1-jp-IME が必要になり、外付けの USBハードディスクにインストールしたのですが、起動時に、カーネルパニックが起こり、起動出来ません。
...
2、 Fullインストールしたいのですが、パピーをインストールするパーティションの確認ダイアログで OKボタンをクリックすると、おかしなことに、Frugal か Full を選択する
ダイアログが現れず
古いバージョンについて確認してませんが、少なくとも 4.30JPのユニバーサルインストーラでは、外付けハードディスクへのFullインストールはサポートしていません。

Fullインストールにする必要はありますか?
走れパピー(新ブログ)https://shinobar.net/linux/blog
New Downloads https://shinobar.net/puppy/
puppy初心者
記事: 6
登録日時: 09/11/01(日) 09:49

Re: 外付けのUSBハードディスクへのFullインストール

投稿記事 by puppy初心者 »

みのむし 様
シノバー 様

ご返事を頂き有難う御座います。

----- みのむし 様

一番最初の投稿に述べているように、少し古い puppy-2.17.1-jp-IME を外付けの
USBハードディスクに、Fullインストールした環境が必要なのです。
話を広げると、ややこしくなってしまうので、話題は
puppy-2.17.1-jp-IME の外付けUSBハードディスクへのFullインストールする方法について
だけに絞らせて下さい。

>「root=/dev/sdb1」としてみては?

kernel /vmlinuz ro root=/dev/sdb1 vga=normal
に変更しても、Unable to mount root fs on unknown-block(0,0) との伝言が出て
起動できません(root=/dev/sdc1 とした場合と同じ)。

>Puppyの実行時の/と同じディレクトリ構造です。

usbハードディスクのルートディレクトリには、下記のファイルとかディレクトリがあります。
どうやら Fullインストールにはなっていないようです。
シノバー 様によると 4.30JPのユニバーサルインストーラでは、外付けハードディスクへの
Fullインストールはサポートしていないようです。それより古い puppy-2.17.1 では
Fullインストールはサポートしていない可能性が大ですね。

boot
extlinux.conf
extlinux.sys
initrd.gz
lost+found
pup_217.sfs
vmlinuz
zdrv_217.sfs

----- シノバー 様

ご教授頂き有難う御座います。
puppy-2.17.1 では、Fullインストールはサポートしていない可能性が大ですね。
puppy-2.17.1-jp-IME の外付けUSBハードディスクへのFullインストールは諦めることに
します。
アバター
みのむし
記事: 1164
登録日時: 08/09/10(水) 13:56
お住まい: 福岡市中央区草香江1-2-40-101号
連絡する:

Re: 外付けのUSBハードディスクへのFullインストール

投稿記事 by みのむし »

>一番最初の投稿に述べているように、少し古い puppy-2.17.1-jp-IME を外付けの
>USBハードディスクに、Fullインストールした環境が必要なのです。

2.17.1-jp-IMEを起動して

コード: 全て選択

# cd /
# ls -l
ここに出て来たディレクトリを手動でUSB HDDにコピーしてやればいいのですが、
initrd.gz を何らかの手段で作成しなければなりません。
私はFedora上で試してみようと思います。
なかなか難しい...

 Puppy 2.17.1-JP-IME 外付け USB HDDへのFrugalインストール&起動

 やっと、うまく行くようになりましたので報告します。
以下の4点をクリアーして解決しました。

・Frugalインストール先
 /直下
 サブディレクトリを作成して、そこにインストールしても認識されない。

・個人保存ファイル
 ライブCDから起動して、個人保存ファイル pup_save.2fs を作成しようとしましたが、
 一筋縄では作成出来ませんでした。
 また、Frugalインストール先のパーティションが ext3 なので
  pup_save.2fs → pup_save.3fs
 に個人保存ファイルのファイルシステムを ext3 に変更しました。

・スワップ領域
 外付け USB HDDにスワップ領域を作成しましたが、初期化は Fedora 11上で実行しました。

・grub.conf
 GRUBは 外付け USB HDD のMBRにインストールしましたが、
 その際、GRUB用のパーティションを作成し、grub.conf はそこに格納しています。

 私の環境の grub.conf 設定例)
 title Puppy 2.17.1-JP-IME #5
 root (hd0,4)
 kernel /vmlinuz root=/dev/ram0 pdev=sdb5
 initrd /initrd.gz

◎Puppy 2.17.1-JP-IME 外付け USB HDDへのFullインストール&起動について
 Puppy 2.17.1-JP-IMEのカーネルは 2.6.21.7 です。
 このカーネルに近いディストリビューションを探して、それをインストールして起動して
 initrd を作成し、それを参考に Puppy 2.17.1-JP-IME用の initrd を作成すれば...

◎Puppy 4.3.1JP-RC2 外付け USB HDDへのFullインストール&起動について
 ようやく、起動に成功しました。
 (大変敷居が高かった。要は initrd の作成です。私は Fedora 11 で作成したものを修正しました)

 ・外付け USB HDDへのFullインストール
  pup_431JP.sfs を別の所にリネーム(pup_test.sfs)してコピーし、

 ・Puppy 4.3.1JPを起動して、pup_test.sfsをクリックしてマウントして

 ・外付け USB HDDのパーティション#8 をマウントして、そこにコピー。
  (これで、Fullインストールは完了)

 ・(GRUB起動用ファイル vmlinuz、initrd.img の準備)
  vmlinuz ← Fedora 11 の vmlinuz(k2.6.30.9-96)
  initrd.img ← 同上用
  Fedora 11を起動して、「カーネル 2.6.30.9-96 の再構築」を行った後再起動し、

コード: 全て選択

# depmod -a
# mkinitrd -f /boot/initrd-2.6.30.9-96.img 2.6.30.9-96
  /lib/modules/2.6.30.9-96 を外付け USB HDD #8/lib/modules へコピー
  /boot/vmlinuz-2.6.30.9-96 (→ vmlinuz) を外付け USB HDD #8/boot へコピー
  /boot/initrd-2.6.30.9-96.img (→ initrd.img) を外付け USB HDD #8/boot へコピーして修正
  /etc/fstab を外付け USB HDD #8/etc へコピーして修正

コード: 全て選択

# cat fstab
LABEL=pup431JP  /               ext3    defaults        1 1
tmpfs           /dev/shm        tmpfs   defaults        0 0
devpts          /dev/pts        devpts  gid=5,mode=620  0 0
sysfs           /sys            sysfs   defaults        0 0
proc            /proc           proc    defaults        0 0
LABEL=SWAP      swap            swap    defaults        0 0
 ・GRUB設定ファイル grub.conf への登録

コード: 全て選択

title	Puppy 4.3.1JP Final Full Install #8
root (hd0,7)
kernel /boot/vmlinuz root=LABEL=pup431JP
initrd /boot/initrd.img
  これでコンソールまで起動出来ましたが、Xは起動出来ませんでした(xorg.conf /dev/mouse→/dev/mice)。
  色々、やっている中に何とかXが起動出来、その後モジュールのロードが
  うまく行っていないことが分かったので...

コード: 全て選択

# cd /lib/modules/2.6.30.9-96
# rm -f modules.dep*
# depmod -a
# modprobe usbhid
(↑外付けUSB光学マウスドライバ usbhid のロード)
# modprobe tg3
(↑DELL studio 1536 内蔵有線LANデバイスドライバ tg3 のロード)
# iwconfig
(この後、「ネットワーク接続設定」を行ってインターネット接続OK)
 ・Puppy 4.3.1JP Fullインストール環境の整備
  現在の環境(Frugalインストールした Puppy 4.3.1JP)で、それぞれのディレクトリを上書きコピー
  但し、
   /root は元のディレクトリを削除して、再コピー
   /usr/bin/mozilla → firefox

 ・Puppy 4.3.1JP Fullインストール環境での検証

コード: 全て選択

# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root             30233896   5832660  22865424  21% /
/dev                    966024         8    966016   1% /dev
shmfs                   478956         0    478956   0% /dev/shm
# cd /etc/rc.d
# cat PUPSTATE
PUPMODE=2
ATADRIVES='sda sdb '
PUP_HOME='/'
みのむし
Notebook PC HP G62
CPU: Intel(R) Core(TM)i5 M450 @ 2.40GHz
MEM: 4GB
Puppy Linux Quickset 5.1.1 JP
PC内蔵無線LANデバイス RTL8171(r8192se_pci)
返信する