V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Tumb1eweed
V2EX  ›  程序员

想请教一下 Linux 内核开发的开发环境是啥样的?

  •  
  •   Tumb1eweed · 2023-05-23 11:54:59 +08:00 · 2870 次点击
    这是一个创建于 575 天前的主题,其中的信息可能已经有所发展或是发生改变。

    搞内核开发的时候是直接在 Linux 电脑上搞嘛,还是在 win 上用 wsl 或者 virtualbox/vmware 呢?云服务器能用来做内核开发吗?

    10 条回复    2023-05-23 19:57:49 +08:00
    LindsayZhou
        1
    LindsayZhou  
       2023-05-23 12:01:17 +08:00
    虽然我不是内核开发,不过根据我的了解,一般是虚拟机吧。
    Linux 上 qemu libvirt 用得多。

    前几天我在问 eBPF 的问题的时候,有人推荐我用 vagrant
    yolee599
        2
    yolee599  
       2023-05-23 12:21:10 +08:00 via Android
    Linux 机器和虚拟机都可以,用虚拟机性能可能不是很好,编译起来速度不行,最好用 Linux 机器
    fuis
        3
    fuis  
       2023-05-23 12:26:35 +08:00
    当然是虚拟机,可以随便折腾
    litguy
        4
    litguy  
       2023-05-23 12:31:54 +08:00
    我们是独立的 NUC/SERVER 跑 linux
    编译和运行都在那个环境
    笔记本 vscode remote 写代码
    Tumb1eweed
        5
    Tumb1eweed  
    OP
       2023-05-23 12:40:59 +08:00
    是在 win 上用虚拟机吗 还是在 linux 上用 qemu 呢
    duke807
        6
    duke807  
       2023-05-23 13:03:32 +08:00 via Android
    主流且专业的开发方式:linux 实体机
    kkocdko
        7
    kkocdko  
       2023-05-23 13:08:35 +08:00
    都可以,都可以,你上述的方法都可以的。你爱选哪个选哪个。

    我的方案是本机 Fedora Linux ,VSCode + Clangd 智能提示,qemu-kvm 运行内核,GDB 调试。但是我并没有从事内核开发,只是偶尔碰到问题需要看看内核。我个人觉得你用我的方案然后本机 Linux 换成 Windows 下的 WSL2 应该就挺好了。
    liu1297528606
        8
    liu1297528606  
       2023-05-23 15:25:58 +08:00 via Android
    source insight ,无敌是多么寂寞
    GeekGao
        9
    GeekGao  
       2023-05-23 15:29:13 +08:00
    daveh
        10
    daveh  
       2023-05-23 19:57:49 +08:00 via iPhone
    Linux 桌面+CLion ,或者 WSL+CLion 都可以,CLion 支持 Makefile 工程,写完代码直接快捷键就能编译,另外 kernel 代码的特点是宏多,哪个宏有效无效一目了然。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 15:18 · PVG 23:18 · LAX 07:18 · JFK 10:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.