问题标签 [multiboot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - 如何使用 Visual Studio 构建内核映像?
我想使用 Visual C++ 为 x86 机器构建嵌入式内核。我有一些 C 和汇编代码文件要编译,我想以与 GRUB 等 Multiboot 引导加载程序兼容的方式将它们链接在一起。
kernel - 将内核映像从 ELF 转换为 PE
我正在使用 Msys 构建我在 Linux 下编写的 home brew 内核。Linux 使用 ELF 作为其二进制格式,而 Msys 使用 PE。我有源设置以允许 Grub 使用 Multiboot 规范启动它。在构建结束时,我得到一些未定义的符号:
这些似乎是面向 ELF 的符号。如果有人可以建议我如何在 PE 世界中处理这些问题,例如,如果有等价物,那将对我有很大帮助!
localhost - 多重启动时共享 Apache / MySQL / PHP 设置
简而言之:
我有一台装有 Win XP、Windows 7 和 Ubuntu 的多重引导机器,我希望我的 localhost Web 项目能够被所有三个操作系统共享。
详细信息:
我终于想为我的 Web 开发工作摆脱 Windows XP,但我的本地 Apache + PHP + MySQL 堆栈与我的旧操作系统绑定在一起,我花了一些时间考虑将这个设置调整到现在的样子现在。
如果我可以将数据库和 Web 文件放在一个独立于当前操作系统的位置,那就太好了,这样我就可以使用不同的操作系统重新启动并继续处理相同的项目。
理想情况下,我还希望保留和共享其他应用程序的设置和文件(Firefox 插件、Opera 键盘快捷键、邮件和聊天帐户、Eclipse 设置等),但这可能是另一个问题。
如果可能的话,我想避免严重的性能损失。
最后,一旦我选择了一个解决方案,如果我能找到一种简单的方法将设置从 Windows XP 设置移植到新的共享环境,那就太好了。特别是:数据库、htdocs 文件夹、虚拟主机设置。
VirtualBox 或 vmware 是解决方案吗?还是带有便携式应用程序的东西?或者我应该在每个操作系统上运行单独的 Apache / MySQL / PHP,然后让它们共享它们的设置和 htdocs 文件?
谢谢!
c - 有人可以解释我如何使用来自 grub 的这个 C 数据结构吗?我不明白 hi mem 和 lo mem
Grub 是一个兼容多重引导的引导加载程序。当它启动操作系统时,它会创建一个定义可用内存的结构,并在内存中留下一个指向该结构的指针。
我在这里得到了这些信息:
http://wiki.osdev.org/Detecting_Memory_(x86)#Memory_Map_Via_GRUB
这是我认为我感兴趣的结构:
所以我有一组内存映射结构。如上页所述,您可以通过在 grub 提示符下键入“displaymem”来查看内存映射。这是我的输出
但我不完全了解结构....
为什么长度设置为 0 (0x0)?我必须结合低内存和高内存吗?
它说这些值是 64 位的,所以它是否像这样将“低内存和高内存”放在一起:
__int64 full_address = (low_mem_addr + high_mem_addr);
还是我得到 1 个列表,其中包含低地址和高地址?
并且由于我使用的是 32 位机器,所以我基本上是指每个具有两个值的唯一地址吗?
我期待一个地址列表,例如displaymem
节目,但填充了实际长度字段,但我没有看到。有什么我不明白的吗?
xen - XEN 和 Windows 7 + Windows XP + Linux
您建议将 Windows 7 + Windows XP + Linux 安装为多重引导还是通过 XEN?每种选择的优缺点是什么?
linker - 意外的链接器部分输出位置
我正在尝试ld
在内核的程序集文件上使用 linux 中的命令。要使用 grub 启动,它需要位于 1Mb 地址之后。所以我的链接脚本有文本到地址 0x00100000。
这是我正在使用的链接器脚本:
我的问题是关于输出文件。当我查看文件的二进制文件时,文本部分从 0x1000 开始。当我更改脚本中的文本位置并使用低于 0x1000 的地址(例如 0x500)时,文本将从那里开始。但是每当我超过 0x1000 时,它就会将其四舍五入(0x2500 会将文本放在 0x500 处)。
当我指定文本应该在 0x100000 时,它不应该在输出文件中吗?或者二进制文件的另一部分是否指定还有更多工作要做。我问是因为启动我的内核时出现问题,但现在我只是想了解链接器输出。
windows - Ubuntu 启动菜单
我最近在 Windows 旁边安装了 ubuntu。启动时,会弹出一个来自 Ubuntu 的多重启动菜单。现在我不得不重新安装 Windows 并且多启动菜单消失了。只有 Windows 启动。有没有办法重新安装这个 Ubuntu 菜单?(有多种启动 Ubuntu 的选项,比如安全模式,......当然还有 Windows)。
svn - 从同一台机器上的另一个引导访问 TortoiseSVN 本地存储库?
有没有办法从同一台机器上的另一个操作系统访问本地 TortoiseSVN 存储库?
当我尝试从另一个操作系统访问它时,我收到“无法打开到 URL 的 ra_local 会话”错误。我必须设置SVN服务器吗?
谢谢!
python - 通过python控制多引导
我编写了一堆Python
脚本,允许我使用Python
. 例如,该wake on LAN
脚本使用网络发送初始化机器启动的数据包。问题是:我正在运行一些性能测试,并且我在一个桌面上安装了 12 个不同版本的 Windows(7、8 和 Blue,x86 和 x64)所以当启动启动时,会出现选择哪个机器启动。一旦我弄清楚了这个数字,那么我就完成了。是否有任何 python 库,或者任何可以运行的东西Python
可以控制启动哪台机器?例如,假设我们在启动引导中有installs A
、B
和C
D
. 例如,有没有一种方法可以检索这些选项的列表,然后选择引导B
启动?除此之外,我已经弄清楚了整个应用程序。这是脚本Wake on LAN
:
linux - 此内核需要 x86-64 CPU,但仅检测到和 i686 CPU
我是 Ubuntu 家族的初学者。我在 VirtualBox 中创建了一台新机器。我尝试安装 Ubuntu 13.04
文件名:Oracle VirtualBox 应用程序中的 ubuntu-13.04-desktop-amd64。但我明白了
这个错误。
我能怎么做。请参阅下面的我的 PC 配置。