chrootでビルド環境の作成

chrootで綺麗なビルド環境を作る方法。ビルド程度ならLXCを使う必要もない。

RHELを意図していますが、用意できないのでCent OSでやる。 Cent OS 7の環境を作ります。

インストールするときにCDのどこからrootfsを持ってくるのかよくわからなかったのでLiveOSのrootfsを使います。*1

カレントディレクトリ以下にCentOSのイメージがあって、カレントディレクトリ以下に欲しい環境を作ります。 root権限が必要です。

Create a rootfs environment for chroot building.

これで最小構成のOSのrootfsが5分ぐらいでできます。これだとgccすら入っていなく、足りないパッケージがあると思うので適宜追加していくという寸法です。

$ ls rootfs
bin   dev  firmware  lib    lost+found  mnt      opt   root  sbin  sys  usr
boot  etc  home      lib64  media       modules  proc  run   srv   tmp  var

rootfs/usr/local/src以下などにソースコードを配置して、同様にchrootでビルドスクリプトを実行すれば綺麗な環境でビルドができます。

作りおきせずにビルドの度に環境つくるのもありなのかな?テストのほうが時間がかかるので、rootfsを作る時間は大して影響はない。


2016-02-10

もっと簡単な方法がありました。

fj.hatenablog.jp

*1:ご存知の方がいたら教えてください。