2012-09-27 141 views
2

我敢肯定這已被問過,但我不知道要搜索什麼將鉻安裝到Linux磁盤映像?

我想創建一個自定義的Linux映像(用於Raspberry Pi) - 我目前正在操縱.img的文件系統但我發現它並不像在二進制文件中那樣簡單:(如果只是... ...

什麼是在磁盤映像上「預安裝」軟件包的可接受方式,您只能操作文件系統,理想情況下不首先運行它?我最好是啓動,安裝,然後從中創建映像,或者是否有一種方法可以事先以與更改配置設置等相同的方式進行操作?

回答

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的系統,根據您的發行版進行更改。

您可以發現問題連接到互聯網,它可能是由DNS配置造成的。您可以做的最好的事情是將您的/etc/resolv.conf文件複製到遠程文件系統中,因爲此文件通常由dhcp更改並且在chroot環境中爲空。

這是唯一允許您完全訪問您要修改的系統命令行的解決方案。

0

有像Ubuntu定製工具包,允許您創建自己的版本與您自己的軟件包的東西。

Crunchbang甚至有這樣的實用程序,這是我親自選擇用於實驗我的Pi的發行版。

1

這是一個未經測試的想法:

dpkg工具,它可以安裝.deb軟件包,有一個--root選項,可以設置不同的文件系統比當地/路徑。

man page

--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,它應該工作。

+0

這很有用,因爲我們可以從包中提取一切,看看fs在沒有它的情況下應該如何查看 - 這使我們能夠使用上述解決方案將所有內容都放在正確的位置 - 像魔術一樣工作 - 如果我可以接受兩個答案我會:) –

+0

很高興它幫助了一些,感謝upvote。 – pixelistik