通过 VMware 交叉编译 Linux 内核并进行调试

发布于 2024-07-25 06:00:40 字数 444 浏览 14 评论 0原文

我正在考虑在 vmware VM 下进行一些 Linux 内核和设备驱动程序开发以进行测试(Ubuntu 9.04 作为 vmware server 2.0 下的来宾),同时在 Ubuntu 8.04 主机上进行编译。

我不想在虚拟机下进行编译而影响性能。

我知道内核显然没有链接到其自身之外的任何内容,因此在这方面不应该有任何问题,但是

  1. 在执行此操作时是否需要注意任何特殊的陷阱?
  2. 除了在内核崩溃时仍然可以运行计算机之外,此设置还有其他好处吗?
  3. 有使用这种设置的指南吗?

编辑

我见过很多关于在主机上使用 GDB 通过 Workstation 6.0 在 VMware 中进行远程调试的参考。 有谁知道这是否适用于任何免费版本的 VMWare,例如 Server 2.0。

I'm considering doing some Linux kernel and device driver development under a vmware VM for testing ( Ubuntu 9.04 as a guest under vmware server 2.0 ) while doing the compiles on the Ubuntu 8.04 host.

I don't want to take the performance hit of doing the compiles under the VM.

I know that the kernel obviously doesn't link to anything outside itself so there shouldn't be any problems in that regard, but

  1. are there any special gotcha's I need to watch out for when doing this?
  2. beyond still having a running computer when the kernel crashes are there any other benefits to this setup?
  3. Are there any guides to using this kind of setup?

Edit

I've seen numerous references to remote debugging in VMware via Workstation 6.0 using GDB on the host. Does anyone know if this works with any of the free versions of VMWare such as Server 2.0.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

幸福丶如此 2024-08-01 06:00:40

我不确定ubuntu的事情。 鉴于您没有进行真正的交叉编译(即 x86->arm),我会考虑使用 make-kpkg 包。 这应该会生成一个可安装的 .deb
与您的系统的内核一起存档。 这对我在 Debian 上有用,也可能对你有用
在Ubuntu上。

有关 make-kpkg 的更多信息:
http://www.debianhelp.co.uk/kernel2.6.htm

  1. 我不知道有什么问题。 但基本上这取决于你使用什么样的内核部分
    正在与. 您需要的硬件/驱动程序越特殊,虚拟机就越有可能无法为您工作。

  2. 可能更快的启动,我最喜欢的是可以对紧急消息进行屏幕截图(剪切和粘贴)。

    可能更快的启动,

  3. 尝试浏览 vmware 社区。 该线程看起来非常有前途,尽管它讨论了
    MacOS 主题:
    http://communities.vmware.com/thread/185781

I'm not sure about ubuntu thing. Given that you are not doing a real cross compilation (i.e. x86->arm), I would consider using make-kpkg package. This should produce an installable .deb
archive with kernel for your system. this would work for me on debian, it might for for you
on ubuntu.

more about make-kpkg:
http://www.debianhelp.co.uk/kernel2.6.htm

  1. I'm not aware of any gotchas. But basically it depends what kind of kernel part you
    are working with. The more special HW/driver you need, the more likely VM won't work for you.

  2. probably faster boots and my favorite is the possibility to take screenshot (cut'n'paste) of panic message.

  3. try to browse to vmware communities. this thread looks very promising, although it dicusses
    topic for MacOS:
    http://communities.vmware.com/thread/185781

墨洒年华 2024-08-01 06:00:40

无论如何,编译、编辑、编译都非常快,每次修改驱动程序时都不需要重新编译整个内核。

在崩溃之前,您可能会遇到死锁、资源使用不当导致模块不可移动、内存泄漏等......即使您的计算机没有崩溃,所有类型的事情都需要重新启动,所以是的,这可能是一个好主意。

问题可能以安装步骤和模块依赖项生成的形式出现,因为您不想在主机中安装驱动程序,而是在目标计算机中安装。

Compiling, editing, compiling is quite quick anyway, you don't recompile you whole kernel each time you modify the driver.

Before crashing, you can have deadlock, bad usage of resource that leads to unremovable module, memory leak etc ... All kind of things that needs a reboot even if your machine did not crash, so yes, this can be a good idea.

The gotchas can come in the form of the install step and module dependency generation, since you don't want to install your driver in the host, but in the target machine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文