利用VS Code docker 搭建容器开发环境(含WSL2)

2023-05-16

目录

    • 基本软件安装
    • VScode 插件安装
    • 连接WSL2及容器
    • linux代码编译
    • 查看源码,调试linux kernel
    • 总结
    • 补充学习busybox
    • vmware真香

这篇文章的灵感来源,感谢UP,我才有了WSL2 vscode的探索, 大家可以关注下他的视频和github仓库
基本思路两种

  1. docker直接运行linux发行版镜像,将代码转移到镜像中,具体方法参考docker使用,dockercloud和docker hub
  2. WSL2中运行linux发行版,docker for windows是直接支持在WSL2中运行相关docker环境的,所以依托linux发行版再运行docker镜像,在此基础上进行相应开发
    两种思路主要在docker运行的宿主机的不同,具体是内核的差异本人非专业人士不赘述

基本软件安装

详细教程可以参考windows-docker官方文档
WSL 官方文档
尽量使用WSL2, 具体区别查看广泛文档

VScode 插件安装

主要是三款插件docker,remote-container, remote-wsl

连接WSL2及容器

在这里插入图片描述
如何下载镜像,启动镜像这里不再说明,按照docker说明即可
ctrl alt p使用remote container-open folder,即可以在容器中打开我们要调试的文件夹并创建容器
或者点击新建容器也可以进入相应菜单在这里插入图片描述
这时候vscode会在镜像中创建vscode-sever,要等待一段时间,如果安装启动链接有报错,可以在docker CLI对缺少库进行安装
其实镜像刚启动,最后使用相应工具进行update 例如apt-get update
在这里插入图片描述
Vscode首次连接树莓派时出现问题,我既是通过CLI进行相应安装,之后VSCODE才正常连接

linux代码编译

  1. 首先下载后的源码进行代码配置主要有三种 make config/menuconfig/defconfig, 推荐menuconfig。
    运行menuconfig可能出现unable to locate package ncurses-devel,解决办法 install libncurses-dev,可能不同发行版本解决办法不同,我的ubuntu18.04是这样解决的
  2. make即可,具体使用的参数自定,make -j8之类
    等待编译完成
  3. 需提前安装 gcc-4.8 gdb qemu make, gcc版本根据自己要求制定,我这边按照上面那位UP的dockerfile进行了预装,RUN apt-get update \ && apt-get install gcc-4.8 gdb qemu make dos2unix -y \ && apt-get install build-essential kernel-package libncurses5-dev -y \ && ln -sf /usr/bin/gcc-4.8 /usr/bin/gcc \ && ln -sf /usr/bin/qemu-system-x86_64 /usr/bin/qemu

查看源码,调试linux kernel

VSCODE即可进行相关代码阅读,但是宏之类的阅读体验不如sourceinsight, source insight相关内容可以查看UP视频
调试的思路为qemu启动btimage并挂载接口模拟虚拟硬件环境, 启动GDB通过挂载的接口进行调试

qemu-system-x86_64 -kernel ./arch/x86/boot/bzImage -s -S -append "console-ttyS0" -nographic

执行完上面一句后console会进入wait状态,所以要再启动一个teminal进行如下调试
gdb启动后载入vmlinux文件file ./vmlinux, 并remote target:1234,即可调试
具体调试仍在学习中,后续有新的进展,再更新

总结

WSL2和docker, vscode的存在让我们可以轻松的搭建想要软件环境,可以到docker hub中寻找自己想要的镜像。

补充学习busybox

还有位UP的文章,利用busybox启动编译后的镜像,有需要的移步这里

vmware真香

如果你想进行驱动开发,内核开发,建议使用vmware,因为它才是完整的原生linux内核
vmware真香!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用VS Code docker 搭建容器开发环境(含WSL2) 的相关文章

随机推荐

  • Ubuntu18.04下安装深度学习框架Pytorch(GPU加速)

    前面我们已经在windows10环境下成功安装了CPU版本的Pytorch 推荐的是利用Anaconda安装 经过接近一天的奋战 xff0c 博主成功在linux系统安装GPU加速的pytorch xff0c 博主使用的发行版是Ubuntu
  • Transformers 如何保存并加载模型

    由于自己经常忘记如何保存Transformers中的模型 xff0c 故在此纪录一下官方提供的例子 output model file span class token operator 61 span span class token s
  • opencv编译出了个跟CUDA相关的错,取消WITH_CUDA就ok了

    sudo cmake gui
  • 使用Navicat打开加密SQLite数据库

    1 在Nuget搜索并安装SQLitePCLRaw bundle e sqlcipher 2 打开项目所在路径 xff0c 按照下面的路径找到e sqlcipher dll文件 3 打开Navicat 的安装目录 xff0c 该目录下有个s
  • xrdp 远程登录需要输入很多次密码

    本人环境为 Ubuntu 20 04 文章目录 问题描述解决方案解决 色彩管理设备 34 color managed device 34 弹窗解决 刷新系统软件源需要认证 34 refresh the system repositories
  • Xrdp 体验优化 减少/解决画面卡顿

    参考链接 xff1a Default TCP send buffer size too low 1483 调整 Xrdp 配置参数 编辑 etc xrdp xrdp ini tcp send buffer bytes 61 4194304
  • 安装debian8操作系统

    安装参考文档 xff1a https wenku baidu com view 0b5b506f0912a21614792995 html 注意 xff1a 步骤可以参考具体配置看需求 修改IP dedian操作系统的IP文件在 etc n
  • 驱动——LED灯循环闪烁

    使用结构体形式对寄存器地址进行映射 xff0c 实现3盏LED灯的循环点亮 1 创建LED灯点亮所需要的GPIO寄存器的结构体 xff0c 并对寄存器地址进行宏定义 2 通过ioremap函数将物理地址映射为虚拟地址 void iorema
  • ubuntu CA安装 证书申请

    1 安装 xff1a apt get install openssl 2 修改配置文件 xff1a 注意不同于网上 xff0c 位置在 xff1a usr lib ssl openssl cnf xff0c 将以下项改为自己的位置 dir
  • URL后面#号的问题

    一 的涵义 代表网页中的一个位置 其右面的字符 xff0c 就是该位置的标识符 比如 xff0c http www example com index html print 就代表网页index html的print位置 浏览器读取这个UR
  • Swift-UIView的创建和使用

    创建 View let view1 61 UIView let view2 61 UIView frame CGRectMake 20 120 100 100 let view3 61 UIView frame CGRectMake 40
  • kali 运行apktool 报错解决方法

    问题描述 xff1a 系统 xff1a kali 1 9 apktool d 123 apk test Input file 123 apk was not found or was not readable 问题解决方法 xff1a 方法
  • pip安装换清华源

    用python的pip安装时有些包安装的太慢了 解决的方法是 xff1a 换成清华源 pip install 要安装的包 i https pypi tuna tsinghua edu cn simple 或者直接替换下载源设置清华源 pip
  • 操作无法完成,因为该文件已在system中打开

    根据提示 xff0c 我们主要的任务是在system xff08 系统 xff09 中将这个文件关闭 1 打开 任务管理器 方法一 xff1a 快捷键 xff1a ctrl 43 shift 43 esc 方法二 xff1a 右击任务栏底部
  • 在CentOS7上安装和配置Node.js

    本文介绍如何在CSDN云主机实例上搭建Node js环境 Node js 是一个基于 Chrome 的 JavaScript 运行时环境构建的开源平台 xff0c 可帮助开发人员构建快速且可扩展的网络应用程序 它在 V8 引擎上运行 xff
  • C++ 输出cout

    span class token macro property span class token directive hash span span class token directive keyword include span spa
  • k8s集群部署单节点gitlab

    k8s集群部署单节点gitlab k8s集群部署单节点gitlab前言gitlab redis yamlgitlab postgresql yamlgitlab server yaml安装结果 k8s集群部署单节点gitlab 前言 前提准
  • win10下Anaconda的安装和配置

    第一步 xff0c 下载anaconda 这是anaconda官网地址 xff0c 点击下载即可 xff1a anaconda官网 第二步 xff1a 安装anaconda 点击下载好的 exe安装包 xff0c 双击安装即可 xff1a
  • pip指定包安装目录

    文章目录 pip install t target dir pandas 设置 pip 默认安装路径 找到 Anaconda home envs py36 Lib site py USER SITE span class token ope
  • 利用VS Code docker 搭建容器开发环境(含WSL2)

    目录 基本软件安装VScode 插件安装连接WSL2及容器linux代码编译查看源码 xff0c 调试linux kernel总结补充学习busyboxvmware真香 这篇文章的灵感来源 感谢UP xff0c 我才有了WSL2 vscod