---
title: 编译准备
description: "Kbox云手机容器支持在openEuler 22.03 LTS SP1（内核版本5.10.0-136.12.0）操作系统下进行内核源码的编译。在编译开始前，请正确配置服务器的网络环境、软件源、同步服务器系统时间，以便下载相关的编译依赖包。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpskbox_20_0143.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/armnative/kunpengcpskbox_20_0143.html
indexId: f50c9a89db7276f741d0c790bdf83fb85500462dcb730aa342f1dd29be5f601a78
---
# 编译准备

Kbox云手机容器支持在openEuler 22.03 LTS SP1（内核版本5.10.0-136.12.0）操作系统下进行内核源码的编译。在编译开始前，请正确配置服务器的网络环境、软件源、同步服务器系统时间，以便下载相关的编译依赖包。

openEuler操作系统的安装请参考openEuler官方网站：openEuler 22.03 LTS SP1 安装指导(https://docs.openeuler.org/zh/docs/22.03_LTS_SP1/docs/Installation/安装在服务器.html)。


编译时请使用root账号登录和操作。

1. 禁用警告“your kernel does not support swap memory limit...”。

  a. 打开“/etc/default/grub”文件。

```
vim /etc/default/grub
```


  b. 按“i”进入编辑模式，在文件中修改参数“GRUB_CMDLINE_LINUX”的值为如下。
    1 GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
如果文件中“GRUB_CMDLINE_LINUX”已有参数，请在末尾追加上述设置值。


2. 禁用SELinux。

  a. 打开“/etc/selinux/config”文件，若没有该文件就创建后再进行编辑。

```
vim /etc/selinux/config
```


  b. 按“i”进入编辑模式，在文件中修改参数“SELINUX”的值为“disabled”。
    1 SELINUX=disabled

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
3. 启动多路Kbox容器时，主机侧文件访问量大，需调整用户可创建的inotify instances的上限。

  a. 打开“/etc/sysctl.conf”文件。

```
vim /etc/sysctl.conf
```


  b. 按“i”进入编辑模式，在文件末尾添加“fs.inotify.max_user_instances”参数的值。
    1 fs.inotify.max_user_instances=8192

  c. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
4. 更新引导项。

```
grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg
```


5. 安装基础依赖包。

```
yum install -y make dpkg dpkg-devel openssl openssl-devel ncurses ncurses-devel bison flex bc libdrm build elfutils-libelf-devel patch gcc
```


  如果安装过程中有获取包失败的情况，请根据提示中的网址，手动获取安装包进行安装，安装成功后，继续安装尚未安装的依赖包。

6. 安装Docker组件与lxcfs，如已自定义安装Docker与lxcfs，可跳过此步骤。
  使用如下命令安装Docker与lxcfs，并启动lxcfs服务，设置lxcfs为开机自启动。

```
yum install -y docker lxc lxcfs lxcfs-tools
systemctl start lxcfs && systemctl enable lxcfs
```


  如遇到lxcfs启动报错，请尝试重启服务，或者联系技术支持工程师协助解决。

7. 更新linux-firmware。若用户已升级过固件，可跳过此步骤。
  请参见软件环境中的下载链接，下载linux-firmware-20210919.tar.gz文件。

  将下载后的安装包上传至服务器，以“/root”
  路径为例，并解压。

```
cd
~
&& tar -xvpf linux-firmware-20210919.tar.gz
```


  解压后，“root”
  路径下会多出一个“linux-firmware-20210919”
  文件夹，将firmware拷贝Linux标准固件目录下。

```
cp -ar linux-firmware-20210919/*gpu /usr/lib/firmware/
```


8. 重启系统，使上述配置生效。

```
reboot
```


  该步骤可以暂缓执行，待完成章节编译及安装内核后一并重启生效。
