2018-10-17 18:05:30 Mr0cheng 阅读数 1405

因为要装dpdk,需要uio模块,但是tx2原装的系统没有这个模块,故重新编译内核。

1. 获取TX2 linux内核源码

wget http://developer.download.nvidia.com/embedded/L4T/r28_Release_v1.0/BSP/source_release.tbz2

2. 获取当前系统的配置文件

进入内核目录下,即kernel-4.4/

zcat /proc/config.gz > ./config

因为原装系统没有选择uio,故此时uio模块是被注释的。

vi ./config 	#打开.config文件
:/UIO			#查找UIO,发现#CONFIG_UIO is not set,删除#和is not set 即可
:wq

3. 更新配置

make prepare
make modules_prepare

4. 编译内核

make Image

5. 编译和安装模块

make modules
make modules_install

6. 完成编译

cp ./arch/arm64/boot/Image /boot/Image
reboot now
2018-12-29 10:15:07 weixin_39610043 阅读数 2064

1. 卸载旧版本docker

sudo apt-get remove docker docker-engine docker.io

2. 安装可选内核模块

从 Ubuntu 14.04 开始,一部分内核模块移到了可选内核模块包 ( linux-image-extra-* ) ,以减少内核软件包的体积。正常安装的系统应该会包含可选内核模块包,而一些裁剪后的系统可能会将其精简掉。 AUFS 内核驱动属于可选内核模块的一部分,作为推荐的 Docker 存储层驱动,一般建议安装可选内核模块包以使用 AUFS 。如果没有安装的话可以使用下面的命令安装

sudo apt-get update
sudo apt-get install  linux-image-extra-$(uname -r)  linux-image-extra-virtual

3. 安装Docker CE

由于发现新的安装方法,docker ce不用再装了,直接使用 sudo snap install docker但是该方法只适用于装docker,后面的nvidia-docker2安装会依然显示错误,看个人需求了
安装过程有很多源分为国内和官方,建议国内源,因为官方源国内连不上。

3.1 添加CA证书

由于 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。因此,我们首先需要添加使用HTTPS 传输的软件包以及 CA 证书。

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
3.2 添加

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

国内源

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

官方源

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3.3 添加docker源

国内源

sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

官方源

sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
3.4 安装docker-ce

更新 apt 软件包缓存,并安装 docker-ce

sudo apt-get update
sudo apt-get install docker-ce
3.5 启动测试docker

启动

sudo systemctl enable docker
sudo systemctl start docker

测试docker是否安装成功

sudo docker run hello-world

4 系统设置

创建用户组

sudo groupadd docker

添加用户进入docker组,以便该用户可以使用docker

sudo gpasswd -a ${USER} docker

重启服务

sudo service docker restart

如果设置完成,万一还是需要sudo才能执行docker命令,则执行如下命令

newgrp - docker
sudo usermod -aG docker your_usernames

5 修改docker仓库和存放目录

该步骤可能会出现重启服务失败的可能,如果硬盘够大,网络够好,也可以不设置
打开daemon.json

cd /etc/ 
sudo vim docker/daemon.json 

修改如下,其中https://cwoel6s9.mirror.aliyuncs.com 为从阿里服务器申请的镜像地址,/data/docker 为存放目录

{
    "registry-mirrors": [
        "https://cwoel6s9.mirror.aliyuncs.com"
    ],
    "graph":"/data/docker",
    "storage-driver": "overlay",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}  

重启docker,并使用docker info查看修改信息

systemctl daemon-reload 
systemctl restart docker
docker info

6 nvidia-docker 安装

添加源

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

安装nvidia-docker2软件包并重新加载Docker守护程序配置:

sudo apt-get install nvidia-docker2
sudo pkill -SIGHUP dockerd

安装完成后,当需要使用gpu时,使用nvidia-docker代替docker
ubuntu18.04安装有一些差异,可以使用下面代码安装:

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - && \
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && \
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list && \
sudo apt-get update && \
sudo apt-get install -y nvidia-docker2 && \
sudo pkill -SIGHUP dockerd

7 docker 日常使用

7.1镜像导出与导入
导出docker:
docker save -o java8.tar lwieske/java-8
导入docker:
docker load < java8.tar
7.2 docker使用

建立容器

docker run -it ubuntu:14.04 bash

查看容器

docker ps

建立后台运行容器使用-itd参数,此时再次进入该容器,使用docker ps查看,并执行如下进入容器

docker exec -it 775c7c9ee1e1 bash 

注:当需要使用gpu时,使用nvidia-docker代替docker

本人日常使用deepo镜像,并进行后台运行(-itd),端口映射(-p 4445:6006),本地目录映射至容器-v /data/mengzb/project:/home ,命名容器名称--name py36 ,使用gpu,nvidia-docker

nvidia-docker run -itd --name py36 -p 4444:22 -p 4445:6006 -p 4446:8888 -v /data/mengzb/project:/home ufoym/deepo
docker exec -it py36 bash 
没有更多推荐了,返回首页