--.--.-- スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2007.11.26 Puppy NOPを単独HDDインストールするときのGRUBの設定
さて、実験用のノートパソコンのHDDにPuppyNOPをマルチブートではなく、単独で「質素な」インストールしたのは良いけど起動できないという事態に陥ってしまいました。
たぶん「フル」インストールでも同じだと思います。GRUBをインストールしたのは良いけど、いまいちGRUBの書き方がわからない。
もしかしたら単独インストールの場合はGRUBはいらないのかなとも思ったりして・・・
 
でも、GRUBインストールしないで起動してみたら文字化けだらけでPCが固まったのでこのノートパソコンでは無理であると判断。わけもわからず適当にあーだこーだやってるうちにうっかり起動できるようになってしまったので、理屈はともかく起動した情報だけは記録しておこうかと思います。

まずはGRUBの設定ファイルがどこにあるのか?
File Systemの中の
/initrd/mnt/dev_save/boot/grub/menu.lst
の中にあった。で、その中の
”Other bootable partition config begins”から”Other bootable partition config ends”という文字列の中を

title Puppy NOP Japanese (on /dev/hda1)
rootnoverify (hd0,0)
kernel /puppy301/vmlinuz root=/dev/ram0 loglevel=3 pmedia=idehd psubdir=puppy301
initrd /puppy301/initrd.gz

と書き換え。ついでに、なんとなく囲みの”Other bootable partition”が気に入らなかったので”Linux bootable partition”にしてみた。

・titleは自分の好きなように書いてOKらしい
・rootは一番目のHDDの一番めのパーテーションを起動する場合は(hd0,0)二番目の場合は(hd0,1)というように順番から-1の数字を入れる
・kernelはvmlinuzファイルのある場所を指示する
・rootはよくわからん
・loglevelはよくわからん
・pmediaは起動するドライブを指示する
・psubdirはよくわからん。
・initrdはinitrdファイルのある場所を指示する

こんな感じなのかな・・・難しいなぁ。

ただし、起動はできたけれども日本語化やらアプリのインストールやらの設定ファイルが反映されない。日本語化する前の初期デフォルトのまんま。恐らく
/initrd/mnt/dev_save/puppy301/
の中のpup_301.sfsとzdrv_301.sfsが保存したものではなくデフォルトのままなのかと思って
/initrd/mnt/dev_save/
の中のpup_301.sfsとzdrv_301.sfsを上書き保存し、ついでにpup_save.2fsファイルも
/initrd/mnt/dev_save/puppy301/
の中にコピーしておく。すると、HDDインストールしたときの日本語化していろいろと設定し直した状況で起動できた。
でも、pup_save.2fsだけが設定ファイルでpup_301.sfsとzdrv_301.sfsはどっちも同じものなような気もする。

pup_save.2fsは保存時の512MBのファイルサイズなのでコピー元とあわせると両方で1GBを消費する。これだとコピーするというのは実に無駄なのかもしれない。コピーではなく、移動で良いのかも。ていうか、
/initrd/mnt/dev_save/puppy301/
ディレクトリがいらないのかもしれない。わざわざディレクトリを使わないで
/initrd/mnt/dev_save/
に中身をそのまんま移動しちゃって良いような気がする。

誰か教えてください。


-----------------追記-----------------

その後
/initrd/mnt/dev_save/puppy301
ディレクトリにあるデータを全部
(IDEHD,initrd.gz,pup_301.sfs,pup_save.2fs,vmlinuz,zdrv_301.sfs)
/initrd/mnt/dev_save/
に移動し/puppy301ディレクトリを削除。

GRUBの当該箇所を

title Puppy NOP Japanese (on /dev/hda1)
rootnoverify (hd0,0)
kernel /vmlinuz root=/dev/ram0 loglevel=3 pmedia=idehd
initrd /initrd.gz


と書き換えたところ、これでも起動できました。
つまり、別にPuppy301ディレクトリである必要は無かったということになります。
当然重複させていたpup_save.2fsファイルも一つ無くなりましたからHDDのデータもかなり減らすことができました。

なんか、文字列や文字数が少なくなると意味もなく気分が良いものです。
ただ、もうひとつの疑問符が・・・そもそも単独インストールなら実はGRUBはいらないんじゃないかという。。。

---------------さらに追記-----------------

その後GRUBのパラメータについてちょっとだけ調べたので記録。

・titleはやっぱり自分の好きなように書いてOKらしい
・rootは一番目のHDDの一番めのパーテーションを起動する場合は(hd0,0)二番目の場合は(hd0,1)というように順番から-1の数字を入れる
・kernelはカーネルのある場所を続きの文字列を持って指示する(puppyの場合はvnlinuzの場所のあるところ)
・pmediaはGRUBが探すべきメディア(ドライブ等)を限定して指定し、他メディアを無駄に探させない為の命令
・pdevはGRUBが探すべきパーテーションを限定して指定し、他パーテーションを無駄に探させない為の命令
・psubdirはGRUBが探すべきディレクトリを限定して指定し、他ディレクトリを無駄に探させない為の命令
  (pmedia=idehd pdev1=hda1 psubdir=puppy301 と指示した場合は、IDEのHDDの中のhda1というパーテーションの中のpuppy301ディレクトリを探せと指示するということ)
・loglevelはよくわからん
・initはブートパラメータをハンドリングする基本的な命令
Secret

TrackBackURL
→http://daisuke55.blog93.fc2.com/tb.php/155-f40bbc5b
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。