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
- すでに作成ずみのファイルが有る場合、--config=<ファイル名>で指定する
- lxc-create -n guest --config=config.ivi -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
- weston起動のために、udevをコピーする。
- cp /run/udev/data/c226\:1 /lxc/guest/home/0
- cp /run/udev/data/c13\:* /lxc/guest/home/0
- guest側のweston.serviceを修正する。
以下を追加
ExecStartPre=+/bin/mkdir -p /run/udev/data
ExecStartPre=+/bin/cp /home/0/c13:64 /run/udev/data/
ExecStartPre=+/bin/cp /home/0/c13:65 /run/udev/data/
ExecStartPre=+/bin/cp /home/0/c13:66 /run/udev/data/- ttyをtty3に変更
TTYPath=/dev/tty3
ExecStart=/usr/bin/weston --tty=3 --idle-time=0 --log=/run/platform/display/weston.log
UtmpIdentifier=tty3
3. Guest コンテナを起動する
lxc-startで起動、ログイン
- lxc-start -n guest
- lxc-attach -n guest