私はカスタムピッキングパッケージでLinuxイメージを作成しようとしています。
私がやろうとしているのは、私がXOラップトップで使用するパッケージを手作業で作成することです。必要なパッケージをすべてビルドしてフラッシュするだけでは、実際のXOハードウェアでパッケージのコンパイルにはかなり時間がかかるXOへのイメージは、私は時間とスペースを節約することができます。
私がいくつかのパッケージをインストールしようとしたとき、proc、sys、devディレクトリがないために設定に失敗しました。それで、私は他の場所から私は自分のchroot環境にHost proc、...ディレクトリを "マウント"する必要があることを学びました。
私は2つの構文を見ましたが、どちらを使用すればよいかわかりません。
ホストマシンの場合:
mount --bind /proc <chroot dir>/proc
そして別の構文(chroot環境で):
mount -t proc none /proc
どちらを使用すればいいですか、そしてその違いは何ですか?
/proc
と/sys
については、どちらの方法を使ってもいいと思います。どちらも特別なファイルシステムであるため、何度でも再作成できます(バインドマウント方式ではホストシステムとまったく同じマウントを使用し、他の方式では新しいマウントを使用します)。私は常にガイドで推奨されているバインドマウントを見てきたので、それを使うことにします。私の知る限りでは、本当の意味での違いはありません。
ただし、/dev
は通常、udevによって管理されるtmpfsマウントであるため、実際にはホストマシンと同じファイルシステムである必要があります。つまり、バインドマウント方法を使用する必要があります。
このchrootがしばらくの間続くことになるならば、あなたは物事を単純化するためにホストシステムの/etc/fstab
にこれらのエントリーを入れることができます。
Arch Linux Wiki は以下のコマンドを提案します。
cd /mnt/Arch # or where you are preparing the chroot dir
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
彼らが私のために働いたことを確認することができます。
Gentooハンドブック は、/ procと/ devを再マウントするためにこれら2つのコマンドを明確に示しています。私はそれらを数回使ったことがあります。
mount -t proc none /mnt/chroot/proc
mount -o bind /dev /mnt/chroot/dev
/ sysは単なる普通のフォルダなので、ハードリンクを張ることができるはずです。
ln /sys /mnt/chroot/sys
Arch Linuxがスクリプトを作成した Arch-chroot ;この人気のある質問に注目する価値があるかもしれません。 Arch-install-scripts-15-1-any.pkg.tar.xz
をダウンロード
これはArch-LinuxとManjaroの両方で、関連するさまざまな問題の面倒を見てくれます。おそらく、ParabolaのようなArch - 派生物も同様に互換性があります。
単純な標準のchroot
をManjaroの二次インストールに追加すると、実行することができなくなります。
pacman --sync linux
(システムクラッシュ後の銀の弾丸)、その行を
Arch-chroot /run/media/*YOURSELF*/manja-disk2
次の方法でArch-derivateの二次インストールを修正することができます。
pacman --sync linux
魔法のように。 bashスクリプトArch-chroot
は、/dev /sys /proc
およびその他多くの面倒を見ます。これらは標準のchroot
によって残されています。