2

これは以前に尋ねられたことがあると思いますが、何を検索すればよいかわかりません。

カスタムLinuxイメージ(Raspberry Pi用)を作成しようとしています-現在.imgのファイルシステムを操作していますが、バイナリをドロップするほど単純ではないことがわかりました:(もし...

ファイルシステムを操作することしかできず、理想的には最初に実行しないパッケージをディスクイメージに「プレインストール」するために受け入れられている方法は何ですか?起動してインストールし、そこからイメージを作成するのが最善ですか、それとも構成設定などを変更するのと同じ方法で事前に作成する方法はありますか?

4

3 に答える 3

2

通常、ディスクイメージの何かを変更する必要がある場合は、次のようにします。

sudo mount --bind /proc /mnt/disk_image/proc
sudo mount --bind /sys /mnt/disk_image/sys
sudo mount --bind /dev /mnt/disk_image/dev

このフォルダは起動プロセス中に作成されるため、これらのアクションが必要です。これらをシステムイメージにマウントすると、フルブートがエミュレートされます。次に、chroot安全にそれを行うことができます:

sudo chroot /mnt/disk_image

これで、chroot環境でコマンドを発行できるようになりました。

sudo apt-get install chromium

もちろん、/mnt/disk_imageファイルシステムをマウントしたパスに変更してください。apt-getDebianベースのシステムでのみ動作します。ディストリビューションに応じて変更してください。

インターネットへの接続に問題があり、DNS構成が原因である可能性があります。このファイルは通常によって変更され、chroot環境では空であるため、実行できる最善の方法/etc/resolv.confは、リモートファイルシステムにファイルをコピーすることです。dhcp

これは、変更しようとしているシステムのコマンドラインへのフルアクセスを提供する唯一のソリューションです。

于 2012-09-27T12:19:51.540 に答える
1

これはテストされていないアイデアです:

dpkg.debパッケージをインストールできるツールには、ローカルパス--rootとは異なるファイルシステムを設定できるオプションがあります。/

マニュアルページから:

   --instdir=dir
          Change default installation directory which refers to the
          directory where packages are to be installed. instdir  is
          also  the  directory  passed  to chroot(2) before running
          package’s installation  scripts,  which  means  that  the
          scripts see instdir as a root directory.  (Defaults to /)

   --root=dir
          Changing root changes instdir  to  dir  and  admindir  to
          dir/var/lib/dpkg.

イメージをマウントし、そのマウントポイントをとして渡すと--root、機能するはずです。

于 2012-09-27T10:59:07.057 に答える
0

Ubuntu Customization Kitのように、独自のパッケージを使用して独自のバージョンのディストリビューションを作成できるものがあります。

Crunchbangには、このようなユーティリティもあります。これは、Piを試すために私が個人的に選択したディストリビューションです。

于 2012-09-27T10:36:35.960 に答える