1. host environmentを作る
- meta-container-host をgit clone します
- meta-virtualization, meta-container-host をbblayer.confに追加します。
- BBLAYERS =+ "\
${METADIR}/external/meta-virtualization \
${METADIR}/meta-container-host \
${METADIR}/meta-container-host/boardspecific/meta-container-renesas \
"
- BBLAYERS =+ "\
- local.confに追加
- DISTRO_FEATURES_append = " virtualization"
IMAGE_INSTALL_append = " lxc nano lxc-networking"
- DISTRO_FEATURES_append = " virtualization"
- もしくは下記を参照
https://jira.automotivelinux.org/browse/SPEC-2875?focusedCommentId=22410&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-22410 - rootfsを構築します。
- bitbake agl-demo-platform
2. Guest environmentを作る
- 1. で作成したhost のrootfsにゲスト用ディレクトリを作成する
- mkdir -p /lxc/guest
- mkdir -p /lxc/cluster
- 各ディレクトリにguest用にビルドしたrootfsを展開する
- tar xf *****.tar.bz2 -C <SD>/lxc/guest
- hostを起動、ログインの後に、下記コマンドでlxcからコンテナを作成する
- lxc-create -n <Name> -t none
- 例) lxc-create -n guest -t none
- 例) lxc-create -n cluster -t none
- lxc-create -n <Name> -t none
- /var/lib/lxc/ にディレクトリとconfigファイルが作成される。各configを書き換える(要見直し)
#lxc.net.0.type = empty
lxc.net.0.type = veth
lxc.net.0.flags = up
lxc.net.0.link = lxcbr0
lxc.net.0.hwaddr = fe:0d:e4:0:xx:xx
#lxc.net.0.veth.mode = bridge
lxc.net.0.ipv4.address = 10.0.3.10/24
...
lxc.cgroup.devices.allow = c 116:* rwm
lxc.cgroup.devices.allow = c 13:* rwm
lxc.cgroup.devices.allow = c 226:* rwm
lxc.mount.entry = /dev/snd dev/snd none bind,optional,create=dir
...
lxc.mount.entry = /sys/fs/smackfs sys/fs/smackfs none bind 0 0
lxc.mount.entry = /etc/smack etc/smack none bind,optional,create=dir