開発者ブログより 091031
Posted: 09/12/02(水) 20:20
Quirky idea #1 works
Quirkyのアイデア#その1 は機能します
私は既に一回小さなテストを済ませており、現在はWoof内部のスクリプトを執筆中です。'4quirkybuild'、Quirkyをフル・ビルドするためのものです。
かなり以前、私はRaffyさんとこのアイデアについて話し合ったことがあったと思います。ウェル、それは手短なものでした。
最新版のパピーは三つのファイルを持っています。vmlinuz、initrd.gz、pup-xxx.sfs です。
「initramfs」、古い名前で言えば「initial ramdisk」、は initrd.gz です。(起動過程の最初に)カーネルである vmlinuz がロードされ、その次にミニ・リナックス・ワーキング環境である、この「initramfs」がロードされます。 これがパピー関連のファイルを見つけるためにドライブを検索します。pup-xxx.sfs(そして多分 'pupsave'、'zdrv' とエクストラSFSファイル群) が見つかれば、その後レイヤー(多層化)・ファイルシステムが構築され、そしてこのレイヤー・ファイルシステム内部に移行する 'switch_root' スクリプトが実行されます。
パピーは initrd.gz の内部に pup-xxx.sfs を含む形でビルドすることが可能であり、これはパピーが関連ファイルはどこにあるのか探す必要がないという意味でグッドです。しかしながら全てをRAMにロードする必要がありますので、起動がスローになります。
これはまた、起動設定をシンプルにします。特にネットワーク経由の場合、そこにはファイルは二つしか要りません。
現在、Quirkyのアイデアは更に一歩前進したものです。カーネルであるvmlinuzは、initrd.gzと共にコンパイルし、その内部に置くことが可能です。そう、もし我々がpup-xxx.sfsをinitrdの内部で構築して、そしてカーネルは内部に置く形でinitrdと共にコンパイルすれば....最後にはたった一つのファイルになります!
更に更に、カーネル2.6.30ではLZMA圧縮が導入されています。これはカーネルのサイズを減少させますが、しかし私達はプレーンなgzip圧縮のpup-xxx.sfsへの適用を保持することも可能です(挙動はより速くなる)。ですが、私はLZMA圧縮をSFSファイルに適用したからといって、それほど違いがあるとは考えていません。
とにかく私はパピー4.3.1のペットパッケージ群をベースにして、'quirky000'をクリエイトするテストビルドをしてみました。これは(巨大に見える)一つのカーネルであり、上記で私が説明したように、この内部にはinitrdとpup-xxx.sfsがあります。
私はこれをUSBフラッシュドライブに置き、'syslinux.cfg' ファイルをちょうどこのように編集しました:
default quirky000 pmedia=usbflash
....実際にはpmediaパラメータは必要ないですが。
イエス、イッツ、ワーク! 全てをRAMにロードするので起動はちょっと遅いですが、これこそ私がQuirkyで目指す方向性です -- RAMオンリーで動くディストロ。
ああ、これは楽しい!
この「アイデア#その1」はネットワーク経由で起動させたい人にとって極めて有効になるであろうと私は考えます。
2009年十月三十一日パピーリナックス開発者ブログより抜粋、翻訳
http://bkhome.org/blog/?viewDetailed=01186
Quirkyのアイデア#その1 は機能します
私は既に一回小さなテストを済ませており、現在はWoof内部のスクリプトを執筆中です。'4quirkybuild'、Quirkyをフル・ビルドするためのものです。
かなり以前、私はRaffyさんとこのアイデアについて話し合ったことがあったと思います。ウェル、それは手短なものでした。
最新版のパピーは三つのファイルを持っています。vmlinuz、initrd.gz、pup-xxx.sfs です。
「initramfs」、古い名前で言えば「initial ramdisk」、は initrd.gz です。(起動過程の最初に)カーネルである vmlinuz がロードされ、その次にミニ・リナックス・ワーキング環境である、この「initramfs」がロードされます。 これがパピー関連のファイルを見つけるためにドライブを検索します。pup-xxx.sfs(そして多分 'pupsave'、'zdrv' とエクストラSFSファイル群) が見つかれば、その後レイヤー(多層化)・ファイルシステムが構築され、そしてこのレイヤー・ファイルシステム内部に移行する 'switch_root' スクリプトが実行されます。
パピーは initrd.gz の内部に pup-xxx.sfs を含む形でビルドすることが可能であり、これはパピーが関連ファイルはどこにあるのか探す必要がないという意味でグッドです。しかしながら全てをRAMにロードする必要がありますので、起動がスローになります。
これはまた、起動設定をシンプルにします。特にネットワーク経由の場合、そこにはファイルは二つしか要りません。
現在、Quirkyのアイデアは更に一歩前進したものです。カーネルであるvmlinuzは、initrd.gzと共にコンパイルし、その内部に置くことが可能です。そう、もし我々がpup-xxx.sfsをinitrdの内部で構築して、そしてカーネルは内部に置く形でinitrdと共にコンパイルすれば....最後にはたった一つのファイルになります!
更に更に、カーネル2.6.30ではLZMA圧縮が導入されています。これはカーネルのサイズを減少させますが、しかし私達はプレーンなgzip圧縮のpup-xxx.sfsへの適用を保持することも可能です(挙動はより速くなる)。ですが、私はLZMA圧縮をSFSファイルに適用したからといって、それほど違いがあるとは考えていません。
とにかく私はパピー4.3.1のペットパッケージ群をベースにして、'quirky000'をクリエイトするテストビルドをしてみました。これは(巨大に見える)一つのカーネルであり、上記で私が説明したように、この内部にはinitrdとpup-xxx.sfsがあります。
私はこれをUSBフラッシュドライブに置き、'syslinux.cfg' ファイルをちょうどこのように編集しました:
default quirky000 pmedia=usbflash
....実際にはpmediaパラメータは必要ないですが。
イエス、イッツ、ワーク! 全てをRAMにロードするので起動はちょっと遅いですが、これこそ私がQuirkyで目指す方向性です -- RAMオンリーで動くディストロ。
ああ、これは楽しい!
この「アイデア#その1」はネットワーク経由で起動させたい人にとって極めて有効になるであろうと私は考えます。
2009年十月三十一日パピーリナックス開発者ブログより抜粋、翻訳
http://bkhome.org/blog/?viewDetailed=01186