diary/Kojima/2009-03-03
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[diary/Kojima]]
・P-Plamo の内部構造(その2)
P-Plamo で使用している initrd.gz は isolinux/initrd.gz で...
参考のために,このファイルの中身は DVD イメージの initram...
isolinux/initrd.gz は,initramfs/ ディレクトリで
find . | cpio -ov -Hnewc | gzip > isolinux/initrd.gz
して作成しています.
カーネル 2.4 時代の initrd.gz は,あらかじめ ext2 等の形...
ファイルシステムを ramdisk 上に展開する形式でしたが,2.6...
あるディレクトリ以下を cpio + gzip で圧縮した initramfs ...
initramfs 形式だと,サイズ固定のファイルシステムをあらか...
必要がなくなった分,作成の手間は減りました.なお,従来の...
形式もそのまま利用できますし,ファイルシステムイメージを...
オプションは initrd=... のままで、形式の違いはカーネルが...
initramfs ディレクトリには init スクリプトと以下のような...
% ls -F initramfs/
bin/ dev/ init* loop/ new_root/ put_old/
cdrom/ etc/ lib/ lost+found/ proc/ sys/
この init スクリプトが DVD メディアを探してマウントしたり,
そこにある squash-fs イメージをマウントしたりして環境を整...
P-Plamo の最も重要なファイルです.このファイルの処理につ...
bin ディレクトリには init スクリプトが使用するコマンドを...
% ls -F bin/
busybox* cut@ insmod@ lsmod@ pivot_root@ swit...
cat@ df@ ln@ mkdir@ rm@ umou...
chroot@ dmesg@ losetup@ modprobe@ sh@
cp@ grep@ ls@ mount@ sleep@
上記のように initramfs では,static link した busybox の...
残りのコマンドは busybox へのシンボリックリンクになってい...
busybox には上記以外のコマンド(applet)も組み込んでいます...
リンクは必要なものしか作っていないので,init の機能を拡張...
必要なコマンドが busybox に入っていないかを調べてみてくだ...
dev ディレクトリにはブロックデバイスを中心に,各種デバイ...
収めています.
% ls -F dev
console hda7 hdb9 mtdblock0 ptyp8 sda sdc1 s...
fb0 hda8 hdc mtdblock1 ptyp9 sda1 sdc2 s...
fb1 hda9 hdd mtdblock2 ram sda2 sdc3 s...
...
hda6 hdb8 mtd3 ptyp7 scd7 sdc sde t...
initramfs の段階では udev が動いていないので,DVD や USB
メモリをマウントする際に必要になりそうなデバイスファイル...
これらのデバイスファイルが有効なのは initramfs の中だけで...
が動き出せば、必要に応じたデバイスファイルが新たに作成さ...
lib ディレクトリの下には modules ディレクトリがあり,
そこに initramfs の動作に必要なモジュールドライバを集めて...
% ls -F lib/modules/
aufs.ko ide-cd_mod.ko nls_ascii.ko nls_euc-jp.ko ...
cdrom.ko loop.ko nls_cp437.ko nls_iso8859-1.ko ...
fat.ko msdos.ko nls_cp932.ko sg.ko ...
ここに収めたモジュールドライバは DVD/USB メモリをマウント...
squash-fs を loopback でマウントするために必要なもののみ...
これら以外のモジュールドライバは squshfs 内の /lib/module...
から読み込まれます.
etc ディレクトリには,P-Plamo 用に修正が必要な設定ファイ...
収めています.
% ls -F etc
Xsession* csh.login inittab rc.M.modifie...
Xsetup* cups/ passwd rc.S.modified*
caps2ctr_config fstab rc.4.modified* shadow
これらのファイルは squash-fs 上で置きかえてもいいのですが,
squash-fs は作成にかなり時間がかかる(数時間のオーダー)の...
試行錯誤的な修正には向かないため,修正が必要なファイルは
とりあえずここから union mount したディレクトリにコピーして
試してみるようにしています.そのため,このディレクトリの...
適宜変更されたり,追加,削除されたりするのでご注意くださ...
残りのディレクトリは DVD/USB メモリをマウントしたり,proc...
をマウントするための場所として用意しており,中身はありま...
これらのデバイスファイルや各種コマンドが有効なのは initra...
squash-fs 上の実際のルートファイルシステムに切り替わると ...
上のデータは全て削除され、利用できなくなります。
#comment
終了行:
[[diary/Kojima]]
・P-Plamo の内部構造(その2)
P-Plamo で使用している initrd.gz は isolinux/initrd.gz で...
参考のために,このファイルの中身は DVD イメージの initram...
isolinux/initrd.gz は,initramfs/ ディレクトリで
find . | cpio -ov -Hnewc | gzip > isolinux/initrd.gz
して作成しています.
カーネル 2.4 時代の initrd.gz は,あらかじめ ext2 等の形...
ファイルシステムを ramdisk 上に展開する形式でしたが,2.6...
あるディレクトリ以下を cpio + gzip で圧縮した initramfs ...
initramfs 形式だと,サイズ固定のファイルシステムをあらか...
必要がなくなった分,作成の手間は減りました.なお,従来の...
形式もそのまま利用できますし,ファイルシステムイメージを...
オプションは initrd=... のままで、形式の違いはカーネルが...
initramfs ディレクトリには init スクリプトと以下のような...
% ls -F initramfs/
bin/ dev/ init* loop/ new_root/ put_old/
cdrom/ etc/ lib/ lost+found/ proc/ sys/
この init スクリプトが DVD メディアを探してマウントしたり,
そこにある squash-fs イメージをマウントしたりして環境を整...
P-Plamo の最も重要なファイルです.このファイルの処理につ...
bin ディレクトリには init スクリプトが使用するコマンドを...
% ls -F bin/
busybox* cut@ insmod@ lsmod@ pivot_root@ swit...
cat@ df@ ln@ mkdir@ rm@ umou...
chroot@ dmesg@ losetup@ modprobe@ sh@
cp@ grep@ ls@ mount@ sleep@
上記のように initramfs では,static link した busybox の...
残りのコマンドは busybox へのシンボリックリンクになってい...
busybox には上記以外のコマンド(applet)も組み込んでいます...
リンクは必要なものしか作っていないので,init の機能を拡張...
必要なコマンドが busybox に入っていないかを調べてみてくだ...
dev ディレクトリにはブロックデバイスを中心に,各種デバイ...
収めています.
% ls -F dev
console hda7 hdb9 mtdblock0 ptyp8 sda sdc1 s...
fb0 hda8 hdc mtdblock1 ptyp9 sda1 sdc2 s...
fb1 hda9 hdd mtdblock2 ram sda2 sdc3 s...
...
hda6 hdb8 mtd3 ptyp7 scd7 sdc sde t...
initramfs の段階では udev が動いていないので,DVD や USB
メモリをマウントする際に必要になりそうなデバイスファイル...
これらのデバイスファイルが有効なのは initramfs の中だけで...
が動き出せば、必要に応じたデバイスファイルが新たに作成さ...
lib ディレクトリの下には modules ディレクトリがあり,
そこに initramfs の動作に必要なモジュールドライバを集めて...
% ls -F lib/modules/
aufs.ko ide-cd_mod.ko nls_ascii.ko nls_euc-jp.ko ...
cdrom.ko loop.ko nls_cp437.ko nls_iso8859-1.ko ...
fat.ko msdos.ko nls_cp932.ko sg.ko ...
ここに収めたモジュールドライバは DVD/USB メモリをマウント...
squash-fs を loopback でマウントするために必要なもののみ...
これら以外のモジュールドライバは squshfs 内の /lib/module...
から読み込まれます.
etc ディレクトリには,P-Plamo 用に修正が必要な設定ファイ...
収めています.
% ls -F etc
Xsession* csh.login inittab rc.M.modifie...
Xsetup* cups/ passwd rc.S.modified*
caps2ctr_config fstab rc.4.modified* shadow
これらのファイルは squash-fs 上で置きかえてもいいのですが,
squash-fs は作成にかなり時間がかかる(数時間のオーダー)の...
試行錯誤的な修正には向かないため,修正が必要なファイルは
とりあえずここから union mount したディレクトリにコピーして
試してみるようにしています.そのため,このディレクトリの...
適宜変更されたり,追加,削除されたりするのでご注意くださ...
残りのディレクトリは DVD/USB メモリをマウントしたり,proc...
をマウントするための場所として用意しており,中身はありま...
これらのデバイスファイルや各種コマンドが有効なのは initra...
squash-fs 上の実際のルートファイルシステムに切り替わると ...
上のデータは全て削除され、利用できなくなります。
#comment
ページ名: