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-get仅适用于基于 Debian 的系统,请根据您的发行版进行更改。

您可能会发现连接到 Internet 的问题,这可能是由 DNS 配置引起的。您可以做的最好的事情是将您的/etc/resolv.conf文件复制到远程文件系统中,因为该文件通常被更改dhcp并且在 chroot 环境中它是空的。

这是唯一能让您完全访问您尝试修改的系统的命令行的解决方案。

于 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 回答