これは私の現在のパーティション構造です。
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に変更することをお勧めします。他のものよりも「手動操作」に柔軟性があり、どちらも目的の形式にハッキングするための優れた文書を提供します。
答え2
主な問題(読み取り専用Linuxシステムの作成)のための完全な解決策ではないかもしれませんが、以下を使用してナビゲートできます。ワンチョン。インストールガイドを確認できますここしかし、自動翻訳があまり良くないので、今では完全な翻訳を上げる時間がありません。要約すると、次のようになります。
1) 必要な依存関係をインストールします。
sudo aptitude install aufs-modules-`uname-r` aufs-tools
2) インストールパッケージからここ、配布バージョンが存在する場合。
3)デフォルトでは、Letheはすべてのパーティションを固定しますが、設定ファイルを編集して変更できます(リンクされた設定ガイドを参照)。
4)このパッケージをインストールすると、GRUBメニューにカーネルラインが追加され、システムが静止aufs = tmpfs
状態で起動します(すべての変更は再起動時に削除されます)。システムを変更するには、e
GRUBメニューが表示されたらキーを押してこの行を削除するか、システムから削除してGRUBを更新してください。
答え3
この抜粋は以下から抜粋されました/etc/initramfs-tools/scripts/init-bottom/__rootaufs
。
# This is a simple overview of the steps needed to use aufs on the root file system and see the /rw and /ro branches. # initramfs init-botton script # move the root file system to aufs/unionfs readonly /ro # root is mounted on ${rootmnt} # create tmpfs on /rw # create a aufs using /ro and /rw # put some files on the tmpfs to fix mtab and fstab # move aufs to rootmnt to finish the init process. # No changes to the root file system are made by this script. # # Why! # This will allow you to use a usb flash drive and control what is written to the drive. # no need to rebuild the squashfs file just to add a program. # boot to single user mode. The system works the way you expect. boot aufs=tmpfs and no changes are written to the flash. # run ubuntu on an eeePC . # Install # Install ubuntu 8.04 Hardy. Hardy has aufs installed by default # apt-get update # apt-get dist-upgrade # apt-get install aufs-tools # echo aufs >> /etc/initramfs-tools/modules # put this file in /etc/initramfs-tools/scripts/init-bottom/rootaufs # chmod 0755 rootaufs # # clean up menu.lst # update-grub # update-initramfs -u # vi /boot/grub/menu.lst # add aufs=tmpfs to the default entry. # do not add this line to single user mode. # boot to single user mode in order to install software. # note: if your home account is on the root file system, your files are in ram and not saved. #