これは私の現在のパーティション構造です。
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 127428 0 127428 0% /lib/init/rw
udev 122976 96 122880 1% /dev
tmpfs 127428 0 127428 0% /dev/shm
rootfs 127428 11008 116420 9% /
/dev/sda1 1827534 933144 800029 54% /ro
rootfs.tmpfs 127428 11008 116420 9% /rw
rootfs.aufs 127428 11008 116420 9% /
私はまったく同じか、少なくとも彼に近い別のシステムを構築したいと思います。別のディスクは次のとおりですdf
。
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda3 678551 594050 84501 88% /
tmpfs 124004 0 124004 0% /lib/init/rw
udev 10240 520 9720 6% /dev
tmpfs 124004 4 124000 1% /dev/shm
/dev/hda1 19515 15940 3575 82% /boot
/dev/hda2 253807 7002 246805 3% /var/log_compressed
tmpfs 124004 0 124004 0% /tmp
tmpfs 124004 3552 120452 3% /var/log
tmpfs 124004 0 124004 0% /var/tmp
tmpfs 124004 20 123984 1% /var/run
tmpfs 124004 0 124004 0% /var/lock
tmpfs 124004 0 124004 0% /var/spool
私はたくさん読んだが、unoinfsまたはinitramfsを使って設定する方法がわかりません。
助けと説明をいただきありがとうございます。私はたくさん読んだが、unoinfsやinitramfsを介してこれを行う方法がわかりません。
ベストアンサー1
どの魔女ディストリビューションを使用しているのかわかりません。 Gentooでは、独自のinitramfs初期化スクリプトを書くのに慣れています。 Initramfsは、ルートパーティションとswitch_rootを実際のルートファイルシステムにマウントし、実際のinitを実行して引き継ぐために必要なツールのみがインストールされている小さなルートファイルシステムです。
ro ルートシステムの場合は、以下を使用することをお勧めします。カボチャのファイルシステム。メインラインカーネルを完全にサポートするため、システムの速度が速くなります。 RAMオーバーレイの場合は、次のものを使用できます。一時ファイルシステム、カーネルでもサポートされています。
その後、これを単一のファイルシステムに「統合」する必要があります。私は使うオブ。メインラインカーネルはこれをサポートしておらず、ディストリビューションのカーネルパッチがそれをサポートしていない場合は、直接パッチする必要があります。 (シングルフェデレーションFSはメインラインではサポートされていません)
おそらく自分で書く方が良いでしょう。 (私はdracutとgenkernelを試しましたが、私の場合を処理するために必要なモジュールを提供していません)
- ディレクトリの作成(私は使用します
/usr/src/initramfs
) ダウンロード静的通話中のボックス上記のディレクトリに移動します。これは、fsck、マウントなどに必要なすべてのlinux_utilsを提供する静的シェルです。
mkdir /usr/src/initramfs/{bin,dev,lib,mnt,sbin,tmp,etc,proc,sys}
インフラのため- /usr/src/initramfs/initスクリプトを生成し、その中にすべてのコマンドを入れて、パーティションマウント、roファイルシステム、およびrw上書きを実行します。
- roとrwを次に統合します。aufs マウント構文。
- 新しく作成されたルートディレクトリと不要になったアイテムに
--move
マウントポイントを転送することを忘れないでください。umount
exec switch_root /sbin/init
ロードされたinitramfsのすべての内容を消去(削除)してルートに切り替えて起動を続行します。- カーネルにコンパイルできませんが、まだ必要なカーネルモジュールがある場合(例:オブ):次の場所にコピーしてください。
/usr/src/initramfs/lib
/usr/src/initramfs
gz、xz、cpio、または必要なものを使用して圧縮アーカイブを作成できます。- 生成されたアーカイブを/bootディレクトリに配置し、grubを編集してinitrdにロードします。
システムがカスタムイメージから起動するようにするには、独自のカーネルもコンパイルします。 (実際には難しくありません): Gentooカーネルドキュメント。ソースをインストールする必要がある場合は、コマンドをパッケージマネージャに置き換えます。ほとんどのディストリビューションはカーネルソースパッケージを提供します。
これを達成するためにディストリビューションを変更したい場合は、GentooまたはArchに変更することをお勧めします。他のものよりも「手動操作」に柔軟性があり、どちらも目的の形式にハッキングするための優れた文書を提供します。