- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我最近遇到了一个问题,我想使用 Gummiboot 从 Uefi 启动 Xen Hypervisor。
主要是出于优雅的原因,我不想退回到 Bios 或使用另一个(更笨重的)引导管理器。我没有找到分步指南,所以我不得不从文档中将所有内容拼凑在一起。为了让 Google 找到,我将在这里回答我自己的问题。
我之前已经把它发布到 Arch 论坛上了,经过一些修改我想我可以把它发布在这里。
问候,
RTT
最佳答案
a) 一个运行着 gummiboot 的 arch linux 系统
b) efi 系统分区中的 Xen-capable(这是 arch 中的标准)内核镜像(我的安装在 /boot
;大多数发行版将其安装在 /boot/efi
)
您需要一个支持 x86_64-pep 仿真的 binutils 版本。要获得此功能,您需要从源代码构建 binutils。
获取一些包
# pacman -S abs base-devel
获取abs树
# abs
将包含 PKGBUILD 的文件夹复制到工作目录。例如你的家:
$ cp -r /var/abs/core/binutils/ ~/
打开 ~/binutils/PKGBUILD
并找到:
${srcdir}/binutils-${pkgver}/configure --prefix=/usr \
--with-lib-path=/usr/lib:/usr/local/lib \
--with-bugurl=https://bugs.archlinux.org/ \
--enable-ld=default --enable-gold \
--enable-plugins --enable-threads \
--with-pic --enable-shared \
--disable-werror --disable-multilib
添加参数 --enable-targets=x86_64-pep
所以该行读取
${srcdir}/binutils-${pkgver}/configure --prefix=/usr \
--with-lib-path=/usr/lib:/usr/local/lib \
--with-bugurl=https://bugs.archlinux.org/ \
--enable-ld=default --enable-gold \
--enable-plugins --enable-threads \
--with-pic --enable-shared \
--disable-werror --disable-multilib \
--enable-targets=x86_64-pep
运行编译安装binutils
$ cd ~/binutils
$ makepkg
# pacman -U binutils*.pkg.tar.xz
(如果 makepkg 需要包,获取它们)
现在您需要从 AUR 构建 Xen。
这是包裹:https://aur.archlinux.org/packages/xen/
这里是操作方法:https://wiki.archlinux.org/index.php/AUR
(此时可以切换回普通的binutils包,以便日后升级)
如果 Xen 编译正常,您将在 /usr/lib/efi/
中找到一个 xen-*.efi
。实际上有几个,但只有一个是真实的,其余的只是链接。
复制到efi分区。
# cp -L /usr/lib/efi/xen.efi /boot/
在/boot
中生成一个xen.cfg
文件。我的看起来像这样,但我是 Xen 的新手,所以您可以选择更好的设置。查看 Xen wiki 以获取建议。请记住将 UUID 替换为您的根分区文件系统之一。如果您有不同的设置,内核镜像和 ramdisk 也是如此。
[global]
default=xen
[xen]
options=console=vga dom0_mem=1024M,max=1024M dom0_max_vcpus=2 loglvl=all noreboot
kernel=vmlinuz-linux root=UUID=d07a95fe-f633-43a4-9996-8c8f76272344 rw ignore_loglevel #earlyprintk=xen
ramdisk=initramfs-linux.img
Gummiboot 不需要很多信息。只需在 /boot/loader/entries/
中创建一个包含以下内容的新文件(例如 xen.conf
):
title Xen Hypervisor
efi /xen.efi
您可能需要调整 gummiboot 菜单和/或默认选择的超时时间。为此编辑 /boot/loader/loader.conf
。
完成!
您现在可以配置您的 Dom0,您可以按照 Arch wiki 中的正常指南开始添加 DomU。
关于linux - 如何在 Arch linux 下使用 Gummiboot 从 Uefi 启动 Xen Hypervisor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20858175/
每当我运行命令以将 Virtualbox 驱动程序启动 Minishift 到操作系统主机时,它都需要一段疯狂的时间,而且它永远不会结束。有时我什至收到有关达到存储限制的错误消息。 不知道是不是描述h
您好,我正在使用 npm 运行一个基本的 React 项目,我正尝试在 docker 容器中启动它。但是我实际上无法让项目运行。我的 dockerfile 看起来像这样: FROM node:7.8.
所以我想从我的 SSH 终端开始游戏。 这真的很奇怪,当我直接从 Linux GUI 执行此操作时,它可以工作。但是当我使用 SSH 客户端进行远程连接时,它就崩溃了。似乎与我的显示驱动程序有关。 U
我有一个显示图像的动态壁纸。我在 Activity 中更改了该图像。然后我需要通知动态壁纸,以便它知道重新加载资源。 Intent 似乎是完美、简单的解决方案: Intent intent = new
我有一个似乎无法解决的问题。我在 Boot Dashboard 中使用 STS 3.9.2 从 Eclipse (Oxygen) 启动 Spring Boot 应用程序没有任何问题: 但是,当我尝试从
全新的 Python,在我开始摆弄东西之前先设置和安装东西。我的理解是 Python 2.7 和 Python 3.3 之间存在一些显着差异/不兼容,尽管这两个版本都得到了很好的使用,所以我认为最好安
在使用了很长时间的 jQuery 之后,我有一个问题,我正在使用 jQuery 模式(样式)编写一个简单的代码, (function(window, undefined) { var jQu
我正在尝试在 spring boot 应用程序下的非 spring 托管类中配置 Autowired。我在 tomcat 服务器下部署的 Web 应用程序下成功运行了这个。但是当我想在 spring
我对 xmonad 完全陌生,但我想开始使用它来提高我的工作效率。 这是我一直在使用的指南(我使用的是 Apple OS X Snow Leopard) http://xmonad.org/tour.
我试图将Spring Boot指南中的Managing Transactions示例扩展到两个数据源,但是@Transaction注释似乎仅对其中一个数据源有效。 在“Application.java
conEmu 有没有办法默认打开多个不同的选项卡? 我看到这个页面解释了如何使用 splits , 我意识到我可以按 Ctrl + T, 1, Enter,但我希望有一种方法可以自动执行此操作! "%
我正在寻找快速而肮脏的答案。我当时脑子一片空白,盯着屏幕看了 12 个小时以上,我想我中枪了。 我想做一个简单的 SignalR 应用程序作为教程。我找到了这个example ,但我不断收到票证未定义
我正在使用 Azure Powershell cmdlet 来启动/停止 VM。 Start-AzureVM [-ServiceName] [-Name] [ ] Stop-AzureVM [-S
我想使用Powershell脚本代码启动/停止iis和mssql 意味着当我运行ps脚本时,我想启动/停止iis和mssql 我在网上搜索了它,发现了一些代码,但按照我的要求无法正常工作 码: $ii
我在 liferay 工作。我们在我们的项目中使用一个模块来创建 liferay 主题。我使用命令 ant -Ddeploy.war=true 将它部署在服务器中。 war 文件在 liferay 部
我想在已安装 Python 2.7 的 Windows XP 计算机上运行 IPython(版本 0.12)。 我通过 Windows 二进制安装程序安装,但安装后 IPython 没有显示在菜单中,
我从创建了自己的简单图片。 FROM python:2.7.11 RUN mkdir /extra/later/ \ && mkdir /yyy 现在,我可以执行以下步骤: docker run
$(document).ready(function () { setTimeout(function() { window.location.reload(); }, 2000); // 2
我刚刚创建了一个帐户 OpenWeatherMap 我想通过城市 ID API 调用获取当前位置的天气: http://api.openweathermap.org/data/2.5/weather?
我注意到,如果我更改 xcasset 中的图像,启动 Storyboard不会更新。 例如,假设您的启动 Storyboard中有一个 UIImage View ,其中包含一个名为“logo”的蓝色图
我是一名优秀的程序员,十分优秀!