中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

编译准备

Kbox云手机容器支持在Ubuntu 20.04.3(内核版本5.4.0-81-generic)操作系统下进行内核源码的编译。在编译开始前,请正确配置服务器的网络环境、软件源、同步服务器系统时间,以便下载相关的编译依赖包。

  1. 编译时请使用root账号登录和操作。
  2. 禁用警告“your kernel does not support swap memory limit...”
    1. 打开“/etc/default/grub”文件。
      1
      vim /etc/default/grub
      
    2. “i”进入编辑模式,在文件中修改参数“GRUB_CMDLINE_LINUX”的值为如下。
      GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  3. 禁用SELinux。
    1. 打开“/etc/selinux/config”文件,若没有该文件就创建后再进行编辑。
      1
      vim /etc/selinux/config
      
    2. “i”进入编辑模式,在文件中修改参数“SELINUX”的值为“disabled”。
      SELINUX=disabled
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  4. 启动多路Kbox容器时,主机侧文件访问量大,需调整用户可创建的inotify instances的上限。
    1. 打开“/etc/sysctl.conf”文件。
      1
      vim /etc/sysctl.conf
      
    2. “i”进入编辑模式,在文件中添加“fs.inotify.max_user_instances”参数的值。
      fs.inotify.max_user_instances=8192
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  5. 更新引导项并重启系统,使上述配置生效。
    1
    2
    update-grub2
    reboot
    

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

  6. 安装基础依赖包。
    1
    apt install -y build-essential dpkg dpkg-dev libncurses5-dev openssl libssl-dev libpciaccess0 pkg-config bison flex libelf-dev libdrm-amdgpu1 xserver-xorg-video-amdgpu lxc
    

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

  7. 安装Docker组件。若用户已自定义安装Docker,可跳过此步骤。

    请参见软件环境中的下载链接,下载Docker静态安装包,以docker-19.03.15.tgz为例。

    1. 将下载的安装包上传至服务器,以“/root”路径为例,并解压。
      1
      2
      cd ~ 
      tar xvpf docker-19.03.15.tgz
      
    2. 解压后,root路径下会多出一个“docker”文件夹,将“docker”文件夹中所有内容拷贝至“/usr/bin”文件夹下。
      1
      cp -p docker/* /usr/bin
      
    3. 整段执行如下命令,配置docker.service文件。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      cat >/usr/lib/systemd/system/docker.service <<EOF
      [Unit]
      Description=Docker Application Container Engine
      Documentation=http://docs.docker.com
      After=network.target docker.socket
      [Service]
      Type=notify
      EnvironmentFile=-/run/flannel/docker
      WorkingDirectory=/usr/local/bin
      ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock --selinux-enabled=false --log-opt max-size=1g
      ExecReload=/bin/kill -s HUP $MAINPID
      # Having non-zero Limit*s causes performance problems due to accounting overhead
      # in the kernel. We recommend using cgroups to do container-local accounting.
      LimitNOFILE=infinity
      LimitNPROC=infinity
      LimitCORE=infinity
      # Uncomment TasksMax if your systemd version supports it.
      # Only systemd 226 and above support this version.
      #TasksMax=infinity
      TimeoutStartSec=0
      # set delegate yes so that systemd does not reset the cgroups of docker containers
      Delegate=yes
      # kill only the docker process, not all processes in the cgroup
      KillMode=process
      Restart=on-failure
      [Install]
      WantedBy=multi-user.target
      EOF
      

      拷贝上述代码时请注意粘贴在终端的样式,参考样式如下图:

    4. 启动Docker服务并设置开机启动Docker服务。
      1
      2
      3
      systemctl daemon-reload
      systemctl restart docker
      systemctl enable docker
      

      每次重启服务器后,如果Docker未自启动成功,需要执行上述三条命令。

  8. 更新linux-firmware。若用户已升级过固件,可跳过此步骤。

    请参见软件环境中的下载链接,下载linux-firmware-20210919.tar.gz文件。

    将下载后的安装包上传至服务器,以“/root”路径为例,并解压。
    1
    2
    cd ~ 
    tar -xvpf linux-firmware-20210919.tar.gz
    
    解压后,“root”路径下会多出一个“linux-firmware-20210919”文件夹,将firmware拷贝Linux标准固件目录下。
    1
    cp -ar linux-firmware-20210919/*gpu    /usr/lib/firmware/
    
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词