立创泰山派tspi-训练营笔记-WSL2使用Docker编译泰山派tspi的SDK(Win11)

本文是在使用WSL2编译立创泰山派SDK时的一些笔记,也整合了网上很多大佬解决WSL2安装Docker,以及repo等方法。

关于如何下载WSL2可以参考我的另一个博客:立创泰山派tspi-Windows11安装与配置WSL2用于Linux开发

本文的系统为Windows11 - Microsoft Windows [版本 10.0.22621.3007]专业版

编译流程参考泰山派官方文档:https://lceda001.feishu.cn/wiki/Da5owUV4dipiqUkZycbcxckinvc

(1)创建Docker镜像

  • 新建一个目录,并进入(名字自己起)

    mkdir dockerfile/
    cd dockerfile/
    
  • 创建一个文件,并编辑

    vim dockerfile
    
  • 插入以下内容:

    # 设置基础镜像为Ubuntu 18.04
    FROM ubuntu:18.04
    
    # 设置作者信息
    MAINTAINER lckfb "service@lckfb.com"
    
    # 设置环境变量,用于非交互式安装
    ENV DEBIAN_FRONTEND=noninteractive
    
    # 备份源列表文件
    RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
    
    # 将源列表中的 http://.*ubuntu.com 替换为 http://repo.huaweicloud.com
    RUN sed -i 's@http://.*ubuntu.com@http://repo.huaweicloud.com@g' /etc/apt/sources.list
    
    # 更新包列表
    RUN apt update
    
    # 安装基本的编译工具和依赖
    RUN apt install -y build-essential crossbuild-essential-arm64 \
            bash-completion vim sudo locales time rsync bc python
    
    # 安装其他依赖包,这里编译android11sdk需要的环境
    RUN apt install -y repo git ssh libssl-dev liblz4-tool lib32stdc++6 \
            expect patchelf chrpath gawk texinfo diffstat binfmt-support \
            qemu-user-static live-build bison flex fakeroot cmake \
            unzip device-tree-compiler python-pip ncurses-dev python-pyelftools \
            subversion asciidoc w3m dblatex graphviz python-matplotlib cpio \
            libparse-yapp-perl default-jre patchutils swig expect-dev u-boot-tools
    
    RUN apt install -y bear
    
    # 再次更新包列表并安装任何未安装的依赖
    RUN apt update && apt install -y -f
    
    # 生成本地化语言支持
    RUN locale-gen en_US.UTF-8
    ENV LANG en_US.UTF-8
    
    # 创建开发板用户
    RUN useradd -c 'lckfb user' -m -d /home/lckfb -s /bin/bash lckfb
    
    # sudo免密登录
    RUN sed -i -e '/\%sudo/ c \%sudo ALL=(ALL) NOPASSWD: ALL' /etc/sudoers
    RUN usermod -a -G sudo lckfb
    
    USER lckfb
    #设置docker工作目录为/home/lckfb
    WORKDIR /home/lckfb
    
    #容器使用这个内核方法
    #docker run --privileged --mount type=bind,source=/home/LCKFB_RK3566/ROCKCHIP_ANDROID11.0_SDK_RELEASE/ROCKCHIP_ANDROID11.0_SDK_RELEASE,target=/home/lckfb/android11 --name="lckfb_android11_sdk" -h lckfb -it lckfb_android11_sdk_cmp
    
  • 同样在刚才的dockerfile/目录下,执行以下命令:

    docker build -t lckfb_xly .
    # lckfb_xly - 镜像名字
    

    此过程需要一段时间,请耐心等待

  • 查看建立的镜像

    docker images
    

(2)基于镜像创建容器

先在自己的家目录创建一个存放SDK的空目录:

cd ~
mkdir tspi_linux_repo_sdk/

然后创建容器

docker run --privileged --mount type=bind,source=/home/cheng/tspi_linux_repo_sdk,target=/home/lckfb --name="lckfb_xly_container" -h lckfb -it lckfb_xly

注意:

source=是我们要挂载的路径,就是刚才创建用来存放SDK的目录,这里需要更换成你自己的路径

target=挂载到容器内用户目录的名称

这使得容器内的应用程序可以访问并操作宿主机上的该目录。

name=是我们指定的一个名字

-h lckfb容器主机名字

使用名为lckfb_xly的镜像来创建容器,之前docker build创建镜像时命名的

创建完成后,可以查看:

docker ps -a 
docker start lckfb_xly_container  #启动容器
docker attach lckfb_xly_container #附加到正在运行的名为lckfb_xly_container的容器的终端上,以便与容器进行交互

退出:

exit

(3)下载SDK并解压

使用百度网盘或者夸克云盘在第05章.【立创·泰山派】系统SDK - 飞书云文档 (feishu.cn)下载tspi_linux_sdk_repo_20240131.tar.gzbuildroot_dl_4c7c9df616fb.tar.gz

前者是需要编译的SDK,后者是buildroot相关库(是防止你的网络比较差很有可能编译的时候自动下载失败报错,帮你下载好的库)。

  • 将这两个文件移动到我们刚才创建的文件夹tspi_linux_repo_sdk/,记得换成你自己下载的路径哦,这时候我们WSL2用户的便捷性就体现出来了,可以直接进入windows盘里面移动拷贝文件。(当然如果你是虚拟机也没关系,自己安装平时传文件的方式就好)

    mv /mnt/c/resource/JLC-lspi-Linux/tspi_linux_sdk_repo_20240131.tar.gz ~/tspi_linux_repo_sdk/	
    mv /mnt/c/resource/JLC-lspi-Linux/buildroot_dl_4c7c9df616fb.tar.g
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值