GitPackagingSbuildBtrfs » Historique » Version 4
Version 3 (Daniel Dehennin, 16/01/2012 14:10) → Version 4/7 (Daniel Dehennin, 10/05/2012 17:04)
{{include(eole:GitPackagingSbuildCommon)}}
h3. Un volume logique pour tous les chroots
Ce volume contiendra les chroots des différents systèmes pour lesquels
vous ferez des compilation.
Un snapshot sera créé avant chaque build et détruit après, cela permet
de gagner le temps du debootstrap.
<pre>
system@build:~$ buildd@build:~$ sudo apt-get install btrfs-tools
system@build:~$ buildd@build:~$ sudo lvcreate -L20g -n schroot ${YOUR_VG}
system@build:~$ buildd@build:~$ sudo mkfs.btrfs -L schroot -m0 /dev/${YOUR_VG}/schroot
system@build:~$ buildd@build:~$ sudo mkdir -p /srv/chroot
system@build:~$ buildd@build:~$ sudo /bin/sh -c "echo /dev/${YOUR_VG}/schroot /srv/chroot btrfs rw,noatime 0 3 >> /etc/fstab"
system@build:~$ buildd@build:~$ sudo mount /srv/chroot
</pre>
h3. Création d’un sous volume par chroot
Il est nécessaire de mettre en place un sous volume par distribution/architecture
<pre>
system@buildd:~$ buildd@buildd:~$ sudo btrfs subvolume create /srv/chroot/${dist}-${arch}-sbuild
</pre>
h3. Installation du système de base
{{include(eole:GitPackagingCreateSchroot)}}
h3. Adaptation de schroot pour @btrfs@
Nous devons ensuite adapter la configuration de @schroot@ à
l’utilisation des snapshot @btrfs@ :
<pre>
system@build:~$ buildd@build:~$ sudo mkdir -p /srv/chroot/snapshots
system@build:~$ buildd@build:~$ sudo sed -i -e "s,type=directory,type=btrfs-snapshot,; /directory=/ d" \
-e "/type=/ialiases=eole-2.3,eole-2.3-dev,eole-2.3-proposed,eole-2.3-security" \
/etc/schroot/chroot.d/$dist-$arch-sbuild*
buildd@build:~$ sudo /bin/sh -c "cat >> `expr /etc/schroot/chroot.d/$dist-$arch-sbuild*` <<EOT
btrfs-source-subvolume=/srv/chroot/$dist-$arch-sbuild
btrfs-snapshot-directory=/srv/chroot/snapshots
EOT
"
</pre>
{{include(eole:GitPackagingWebographie)}}
h3. Un volume logique pour tous les chroots
Ce volume contiendra les chroots des différents systèmes pour lesquels
vous ferez des compilation.
Un snapshot sera créé avant chaque build et détruit après, cela permet
de gagner le temps du debootstrap.
<pre>
system@build:~$ buildd@build:~$ sudo apt-get install btrfs-tools
system@build:~$ buildd@build:~$ sudo lvcreate -L20g -n schroot ${YOUR_VG}
system@build:~$ buildd@build:~$ sudo mkfs.btrfs -L schroot -m0 /dev/${YOUR_VG}/schroot
system@build:~$ buildd@build:~$ sudo mkdir -p /srv/chroot
system@build:~$ buildd@build:~$ sudo /bin/sh -c "echo /dev/${YOUR_VG}/schroot /srv/chroot btrfs rw,noatime 0 3 >> /etc/fstab"
system@build:~$ buildd@build:~$ sudo mount /srv/chroot
</pre>
h3. Création d’un sous volume par chroot
Il est nécessaire de mettre en place un sous volume par distribution/architecture
<pre>
system@buildd:~$ buildd@buildd:~$ sudo btrfs subvolume create /srv/chroot/${dist}-${arch}-sbuild
</pre>
h3. Installation du système de base
{{include(eole:GitPackagingCreateSchroot)}}
h3. Adaptation de schroot pour @btrfs@
Nous devons ensuite adapter la configuration de @schroot@ à
l’utilisation des snapshot @btrfs@ :
<pre>
system@build:~$ buildd@build:~$ sudo mkdir -p /srv/chroot/snapshots
system@build:~$ buildd@build:~$ sudo sed -i -e "s,type=directory,type=btrfs-snapshot,; /directory=/ d" \
-e "/type=/ialiases=eole-2.3,eole-2.3-dev,eole-2.3-proposed,eole-2.3-security" \
/etc/schroot/chroot.d/$dist-$arch-sbuild*
buildd@build:~$ sudo /bin/sh -c "cat >> `expr /etc/schroot/chroot.d/$dist-$arch-sbuild*` <<EOT
btrfs-source-subvolume=/srv/chroot/$dist-$arch-sbuild
btrfs-snapshot-directory=/srv/chroot/snapshots
EOT
"
</pre>
{{include(eole:GitPackagingWebographie)}}