Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
anbox
提交
51840062
A
anbox
项目概览
openeuler
/
anbox
通知
24
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
anbox
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
51840062
编写于
5月 25, 2018
作者:
S
Simon Fels
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
container: update to LXC 3.0
上级
a0cebef9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
21 deletion
+20
-21
snap/snapcraft.yaml
snap/snapcraft.yaml
+2
-2
src/anbox/container/lxc_container.cpp
src/anbox/container/lxc_container.cpp
+18
-19
未找到文件。
snap/snapcraft.yaml
浏览文件 @
51840062
...
...
@@ -102,7 +102,7 @@ parts:
lxc
:
source
:
https://github.com/lxc/lxc
source-type
:
git
source-tag
:
lxc-
2.0.7
source-tag
:
lxc-
3.0.0
build-packages
:
-
libapparmor-dev
-
libcap-dev
...
...
@@ -129,7 +129,7 @@ parts:
snap/anbox/current/libexec
:
libexec
prime
:
-
lib/liblxc.so.1
-
lib/liblxc.so.1.
2
.0
-
lib/liblxc.so.1.
4
.0
-
libexec/lxc/lxc-monitord
-
bin/lxc-start
-
bin/lxc-stop
...
...
src/anbox/container/lxc_container.cpp
浏览文件 @
51840062
...
...
@@ -74,19 +74,19 @@ void LxcContainer::setup_id_map() {
const
auto
base_id
=
unprivileged_uid
;
const
auto
max_id
=
65536
;
set_config_item
(
"lxc.id
_
map"
,
utils
::
string_format
(
"u 0 %d %d"
,
base_id
,
creds_
.
uid
()
-
1
));
set_config_item
(
"lxc.id
_
map"
,
utils
::
string_format
(
"g 0 %d %d"
,
base_id
,
creds_
.
gid
()
-
1
));
set_config_item
(
"lxc.idmap"
,
utils
::
string_format
(
"u 0 %d %d"
,
base_id
,
creds_
.
uid
()
-
1
));
set_config_item
(
"lxc.idmap"
,
utils
::
string_format
(
"g 0 %d %d"
,
base_id
,
creds_
.
gid
()
-
1
));
// We need to bind the user id for the one running the client side
// process as he is the owner of various socket files we bind mount
// into the container.
set_config_item
(
"lxc.id
_
map"
,
utils
::
string_format
(
"u %d %d 1"
,
android_system_uid
,
creds_
.
uid
()));
set_config_item
(
"lxc.id
_
map"
,
utils
::
string_format
(
"g %d %d 1"
,
android_system_uid
,
creds_
.
gid
()));
set_config_item
(
"lxc.idmap"
,
utils
::
string_format
(
"u %d %d 1"
,
android_system_uid
,
creds_
.
uid
()));
set_config_item
(
"lxc.idmap"
,
utils
::
string_format
(
"g %d %d 1"
,
android_system_uid
,
creds_
.
gid
()));
set_config_item
(
"lxc.id
_
map"
,
utils
::
string_format
(
"u %d %d %d"
,
android_system_uid
+
1
,
set_config_item
(
"lxc.idmap"
,
utils
::
string_format
(
"u %d %d %d"
,
android_system_uid
+
1
,
base_id
+
android_system_uid
+
1
,
max_id
-
creds_
.
uid
()
-
1
));
set_config_item
(
"lxc.id
_
map"
,
utils
::
string_format
(
"g %d %d %d"
,
android_system_uid
+
1
,
set_config_item
(
"lxc.idmap"
,
utils
::
string_format
(
"g %d %d %d"
,
android_system_uid
+
1
,
base_id
+
android_system_uid
+
1
,
max_id
-
creds_
.
gid
()
-
1
));
}
...
...
@@ -97,9 +97,9 @@ void LxcContainer::setup_network() {
return
;
}
set_config_item
(
"lxc.net
work
.type"
,
"veth"
);
set_config_item
(
"lxc.net
work
.flags"
,
"up"
);
set_config_item
(
"lxc.net
work
.link"
,
"anbox0"
);
set_config_item
(
"lxc.net
.0
.type"
,
"veth"
);
set_config_item
(
"lxc.net
.0
.flags"
,
"up"
);
set_config_item
(
"lxc.net
.0
.link"
,
"anbox0"
);
// Instead of relying on DHCP we will give Android a static IP configuration
// for the virtual ethernet interface LXC creates for us. This will be bridged
...
...
@@ -245,33 +245,32 @@ void LxcContainer::start(const Configuration &configuration) {
set_config_item
(
"lxc.mount.auto"
,
"proc:mixed sys:mixed cgroup:mixed"
);
set_config_item
(
"lxc.autodev"
,
"1"
);
set_config_item
(
"lxc.pt
s
"
,
"1024"
);
set_config_item
(
"lxc.tty"
,
"0"
);
set_config_item
(
"lxc.utsname"
,
"anbox"
);
set_config_item
(
"lxc.pt
y.max
"
,
"1024"
);
set_config_item
(
"lxc.tty
.max
"
,
"0"
);
set_config_item
(
"lxc.uts
.
name"
,
"anbox"
);
set_config_item
(
"lxc.group.devices.deny"
,
""
);
set_config_item
(
"lxc.group.devices.allow"
,
""
);
// We can't move bind-mounts, so don't use /dev/lxc/
set_config_item
(
"lxc.
devtty
dir"
,
""
);
set_config_item
(
"lxc.
tty.
dir"
,
""
);
set_config_item
(
"lxc.environment"
,
"PATH=/system/bin:/system/sbin:/system/xbin"
);
set_config_item
(
"lxc.init_cmd"
,
"/anbox-init.sh"
);
set_config_item
(
"lxc.rootfs.backend"
,
"dir"
);
set_config_item
(
"lxc.init.cmd"
,
"/anbox-init.sh"
);
const
auto
rootfs_path
=
SystemConfiguration
::
instance
().
rootfs_dir
();
DEBUG
(
"Using rootfs path %s"
,
rootfs_path
);
set_config_item
(
"lxc.rootfs"
,
rootfs_path
);
set_config_item
(
"lxc.rootfs
.path
"
,
rootfs_path
);
set_config_item
(
"lxc.loglevel"
,
"0"
);
set_config_item
(
"lxc.log
.
level"
,
"0"
);
const
auto
log_path
=
SystemConfiguration
::
instance
().
log_dir
();
set_config_item
(
"lxc.logfile"
,
utils
::
string_format
(
"%s/container.log"
,
log_path
).
c_str
());
set_config_item
(
"lxc.log
.
file"
,
utils
::
string_format
(
"%s/container.log"
,
log_path
).
c_str
());
setup_network
();
set_config_item
(
"lxc.a
a_
profile"
,
"anbox-container"
);
set_config_item
(
"lxc.a
pparmor.
profile"
,
"anbox-container"
);
if
(
!
privileged_
)
setup_id_map
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录