[systemd-devel] install Fedora systemd-nspawn container on btrfs
Lennart Poettering
lennart at poettering.net
Thu Apr 23 04:50:56 PDT 2015
On Thu, 23.04.15 13:45, arnaud gaboury (arnaud.gaboury at gmail.com) wrote:
> Not sure what I did wrong, but I can't install/boot my nspawn container.
> Here is my setup:
>
> Archlinux box- updated
>
> 1- created 3 btrfs subvol on /dev/sdb1 (SSD). The goal is to manage
> snapshots easily.
> no nested subvol.
> ------------------------------------------
> # btrfs subvolume list .
> ID 266 gen 39 top level 5 path rootvol
> ID 268 gen 41 top level 5 path var
> ID 269 gen 42 top level 5 path etc
> # btrfs filesystem show
> Label: 'poppy-root' uuid: ef1b44cd-e7b0-4166-b933-e7d4d20a1171
> Total devices 1 FS bytes used 64.00KiB
> devid 1 size 80.00GiB used 12.00MiB path /dev/sdb1
> --------------------------------------------------
>
> 2 - mount btrfs subvol
> -------------------------------------------------------------------
> # mount -t btrfs -o subvol=rootvol /dev/sdb1 /var/lib/machines/enl
> # mkdir /var/lib/machines/enl/var
> # mkdir /var/lib/machines/enl/etc
> # mount -t btrfs -o subvol=etc /dev/sdb1 /var/lib/machines/enl/etc
> # mount -t btrfs -o subvol=var /dev/sdb1 /var/lib/machines/enl/var
> --------------------------------------------------------------------
THis isn't really how one would normally use subvolumes. No need to
mount each subvolume explicitly, they are just special directories...
>
> 3- install fedora minimal and boot it
> -------------------------------------------------
> # machinectl pull-raw --verify=no
> http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/22/Cloud/Images/x86_64/Fedora-Cloud-Base-22_Beta-20150415-x86_64.raw.xz
> $ tar ....
> # systemd-nspawn -M Fedora-Cloud-Base-22_Beta-20150415.x86_64.raw
> Spawning container Fedora-Cloud-Base-22_Beta-20150415.x86_64.raw on
> /var/lib/machines/Fedora-Cloud-Base-22_Beta-20150415.x86_64.raw.
> Press ^] three times within 1s to kill container.
> [root at Fedora-Cloud-Base-22_Beta-20150415 ~]#
> ------------------------------------------------------------
>
> 4- install Fedora on /var/lib/machines/enl
> --------------------------------------------------------------
> [root at Fedora-Cloud-Base-22_Beta-20150415 ~]# dnf -y --releasever=22
> --nogpg --installroot=/var/lib/machines/MyContainer --disablerepo='*'
> --enablerepo=fedora install systemd passwd dnf fedora-release-server
> vim-minimal
> ..........................
> INSTALL
> ...........................
> Complete!
> ----------------------------------------------------------
Hmm? With this command you installed another fedora inside the raw
fedora image you downloaded. You now have three linuxes, installed
within each other...
Pick one:
a) download the raw image and use that, but it will be a loopback file
with its own file system inside
or:
b) do the dnf/yum install root thing, and install it into a directory
tree.
Do either of those in the host, not in the container.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list