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.cgroup.devices.allow = c 116:* rwm lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir lxc.mount.entry = /sys/fs/smackfs sys/fs/smackfs none bind 0 0 |
---|
- 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