2014年8月

我已经不象以前那样玩那么多游戏了。虽然之前我当然花费了生命里的无数时间在任天堂,SNES,或是之后在我电脑上的第一人称射击游戏(只在Linux下,谢谢),如今,我更愿意把空余时间花在我累积起来的许多其他非游戏爱好上。

但是最近,我发现自己又抹掉了Wii手柄上的灰尘,这样就可以玩一玩我重新购买的NES和SNES游戏了。不过问题是,这些游戏需要用到一些特别的控制器,而且我已经有一个修改过的SNES控制器可以通过USB连接。这已经有足够的理由让我去寻找一个更合适的方案。

当然,我也可以简单地接上三个甚至四个手柄,然后在客厅里面堆满游戏。但是我已经习惯于把我的CD和DVD都提取成文件,然后在中心媒体服务器上挑选着听或是看。所以如果每次我想换游戏的时候,不用起身去翻游戏卡带,那就完美了。

当然,这意味着得使用模拟器。尽管之前我在一个改动过的Xbox上成功过,不过可惜它已经不在我手上了。然后我觉得一定有什么人已经在树莓派上实现过这种平台,结果是肯定的,在简单地搜索和一些命令之后,我在一个剩下的树莓派上搭起来一个完美的怀旧游戏中心。

树莓派项目的一个优点是,有大量的用户在使用相同的硬件。对我来说,这意味着我不用完整地参考别人的指引再根据自己的需求做出必要的改动,而只需要简单地完全按照别人的指导做就行了。在我这件事情上,我找到了RetroPie项目,它把你安装时需要用到的所有命令都包到了一个单一的大脚本中。在执行完后,你就完整地安装并配置好了RetroArch,它集成了所有的主流模拟器以及一个统一的配置方式,再加上一个在树莓派上开机启动的EmulationStation图形界面,通过它可以只用手柄就能方便地定位到你想玩的游戏。

安装RetroPie

在安装RetroPie之前,你可能需要确认一下你的Raspbian版本(树莓派默认的Linux发行版,这也是这个项目假设你在用的)是不是最新的,包括有没有新的固件。这只需要几个通用的apt命令。虽然,在这一步里你可以接个键盘到树莓派上,不过我觉得用ssh登录到树莓派上更方便。之后直接复制和粘贴下面的命令:

$ sudo apt-get update
$ sudo apt-get -y upgrade

现在树莓派已经更新到最新了,再确认一下是否安装了git和dialog,然后可以通过git来下载RetroPie:

$ sudo apt-get -y install git dialog
$ cd
$ git clone --depth=0 git://github.com/petrockblog/RetroPie-Setup.git

执行完上边的命令后会创建一个RetroPie-Setup目录,里面有主要的安装脚本。之后你只需要进去这个目录,并运行安装脚本:

$ cd RetroPie-Setup
$ chmod +x retropie_setup.sh
$ sudo ./retropie_setup.sh

这个脚本会在终端里显示一个菜单(图1),在里面你可以选择二进制安装或是源码安装,配置RetroPie,或是更新RetroPie安装脚本和执行文件。之后选择二进制安装或是源码安装,任选一个。二进制安装会快一些,不过有些软件版本可能不是最新的。源码安装需要编译软件,所以用的时间会比较长,但是完成之后,所有的一切都是最新版的。我个人会选择二进制安装,因为我知道在碰到任何问题之后,随时都可以重新执行这个脚本再选择源码安装。

图1. RetroPie安装菜单

在vanilla Raspbian固件版本中,这一步会需要很长时间,因为有大量不同的包需要下载和安装。在安装完成之后,返回在RetroPie安装主界面中,在主菜单里选择SETUP,在之后的二级菜单里,你可以调整设置,例如是否开机启动EmulationStation(推荐打开)以及是否允许欢迎界面。在我这里,我两个都允许了,因为我希望这个设备是一个独立的模拟游戏机。不过你需要了解的是,即便你打开了EmulationStation开机自动启动,你仍然可以ssh登录到机器上然后执行原始的RetroPie安装配置脚本来改变这个设置。

添加ROM

你也可以在RetroPie设置界面添加ROM。如果你在菜单里选择了Samba方式,就可以在网络上找一个Samba共享目录,然后从里面拷贝ROM。如果通过U盘的方式,RetroPie会在插到树莓派的U盘上创建一个目录结构,分别对应不同的模拟器。在这之后,你就可以把U盘插到其他电脑上,然后把ROM拷贝到合适的目录里,当再插回树莓派的时候,它会自动同步文件。最后(我就是这么做的),你还可以使用scp或者rsync来拷贝ROM到~/RetroPie/roms/的合适目录下。举个例子,NES游戏需要拷贝到~/RetroPie/roms/nes/目录里。

当你完成了配置并退出了RetroPie的设置脚本后,应该会想重启并进入EmulationStation,但是在那之前,你应该重新配置树莓派的内存空间,设为192或者128,运行命令:

$ sudo raspi-config

然后选择高级设置,调整内存空间设定。之后就可以安全地重启了。

EmulationStation

重启完之后,你会很高兴地看到EmulationStation界面,之后它会提示你设定控制杆,游戏手柄,或键盘按键,这样就可以控制EmulationStation菜单了。不过注意一下,这并不会影响手柄在游戏里的按键定义,只是用于控制EmulationStation菜单的。在设定完手柄后,你应该可以按下向右或向左方向键来切换不同的模拟器菜单了。在我这里,我将会在游戏里用到手柄上的所有按钮,所以我特别将另一个键盘上的键映射到菜单功能,这样在我玩完一个游戏后,不用重启树莓派就可以退出来。

EmulationStation只会显示已经侦测到ROM的模拟器,所以,如果你还没有拷贝ROM的话,得先做这件事情,然后可能还得重启一下才会有效果。而且,默认情况下,你的手柄没有为任何游戏做配置,但是,如果你在EmulationStation里一直按向右键足够多次以后,会弹出输入设定界面,你可以在里面映射手柄按键。有一个亮点是,当你设定好按键后,它会相应地应用到其他模拟器中。

就是这些了。在这之后,你可以浏览你收藏的各种游戏,然后按下绑定到“确定”的那个按键开始游戏。一开始我还担心树莓派可能不够强劲来玩我的游戏,但是直到现在,我试过地所有游戏都可以完美地运行。

资源

RetroPie项目主页:http://blog.petrockblock.com/retropie

RetroPie安装文档:https://github.com/petrockblog/RetroPie-Setup


via: http://www.linuxjournal.com/content/super-pi-brothers

译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

自动测试工具

这里列出一些能满足不同需求的测试工具供你选择。本小节只是简单介绍个大概,并不提供详细操作指南。

AuToTest

AuToTest 是一个全自动测试框架,存在的主要目的就是测试 Linux 内核,当然也可以用来测试其他东西,比如测试一块新硬件是否能稳定工作。AuToTest 是开源软件,以 GPL 方式授权,运行于 server-client 架构(即 C/S 架构)。你可以通过配置 server 端来对运行了 client 端的系统执行初始化、运行与监测工作,也可以自己在目标系统上让 client 运行起来。另外你可以为这个测试框架添加测试用例,详情请参考AuToTest 白皮书

Linaro Automated Validation Architecture

LAVA 自动测试框架用于自动安装于运行测试。举个例子:你在 LAVA 里面只需运行几个命令就可以跑 LTP(LCTT:Linux Test Project,中文是 Linux 测试计划,SGI发起并由IBM负责维护,目的是为开源社区提供测试套件来验证Linux的可靠性、健壮性和稳定性)。通过 LAVA 命令可以自动为你安装 LTP 所需要的所有依赖包,下载源码、编译编码、将 LTP 安装到某个独立的地方,方便卸载 LTP 时能移除所有二进制文件。安装好 LTP 后,运行 LAVA 命令时添加 'ltp' 选项就可以运行 LTP 测试任务了,它会将测试结果以文件方式保存下来,文件名包含测试名称、时间戳。这些测试结果可以留着供以后参考。这是个发现软件退化(如果软件退化了的话)的好方法。下面列出 LAVA 配合 LTP 使用的一些命令:

显示 LAVA 支持的测试列表:

lava-test list-tests 

安装测试套件:

lava-test install ltp 

运行测试:

lava-test run ltp 

查看结果:

lava-test results show ltp-timestamp.0 

卸载测试套件:

lava-test uninstall ltp 

内核调试功能

Linux 内核本身包含很多调试功能,比如 kmemcheck 和 kmemleak。

kmemcheck

kmemcheck 是一个动态检查工具,可以检测出一些未被初始化的内存(LCTT:内核态使用这些内存可能会造成系统崩溃)并发出警告。它的功能与 Valgrind 类似,只是 Valgrind 运行在用户态,而 kmemchecke 运行在内核态。编译内核时加上 CONFIG\_KMEMCHECK 选项打开 kmemcheck 调试功能。你可以阅读 Documentation/kmemcheck.txt 来学习如何配置使用这个功能,以及如何看懂调试结果。

kmemleak

kmemleak 通过类似于垃圾收集器的功能来检测内核是否有内存泄漏问题。而 kmemleak 与垃圾收集器的不同之处在于前者不会释放孤儿目标(LCTT:不会再被使用的、应该被释放而没被释放的内存区域),而是将它们打印到 /sys/kernel/debug/kmemleak 文件中。用户态的 Valgrind 也有一个类似的功能,使用 --leak-check 选项可以检测并报错内存泄漏问题,但并不释放这个孤儿内存。编译内核时使用 CONFIG\_DEBUG\_KMEMLEAK 选项打开 kmemcleak 调试功能。阅读 Documentation/kmemleak.txt 来学习怎么使用这个工具并读懂调试结果。

内核调试接口

Linux 内核通过配置选项、调试用的 API、接口和框架来支持动态或静态的调试。我们现在就好好学习学习这些牛逼的功能,从静态编译选项开始讲。

调试配置选项:静态编译

大部分 Linux 内核以及内核模块都包含调试选项,你只要在编译内核或内核模块的时候添加这个静态调试选项,程序运行时后就会产生调试信息,并记录在 dmesg 缓存中。

调试的 API

调试 API 的一个很好的例子是 DMA-debug,用来调试驱动是否错误使用了 DMA 提供的 API。它会跟踪每个设备的映射关系,检测程序有没有试图为一些根本不存在的映射执行“取消映射”操作,检测代码建立 DMA 映射后可能产生的“映射丢失”的错误。内核配置选项 CONFIG\_HAVE\_DMA\_APT\_DEBUG 和 CONFIG\_DMA\_API\_DEBUG 可以为内核提供这个功能。其中,CONFIG\_DMA\_API\_DEBUG 选项启用后,内核调用 DMA 的 API 的同时也会调用 Debug-dma 接口。举例来说,当一个驱动调用 dma\_map\_page() 函数来映射一个 DMA 缓存时,dma\_map\_page() 会调用debug\_dma\_map\_page() 函数来跟踪这个缓存,直到驱动调用 dma\_unmap\_page() 来取消映射。详细内容请参考使用 DMA 调试 API 检测潜在的数据污染和内存泄漏问题

动态调试

动态调试功能就是你可以决定在程序运行过程中是否要 pr\_debug(), dev\_dbg(), print\_hex\_dump\_debug(), print\_hex\_dump\_bytes() 这些函数正常运行起来。什么意思?当程序运行过程中出现错误时,你可以指定程序打印有针对性的、详细的调试信息。这功能牛逼极了,我们不再需要为了添加调试代码定位一个问题,而重新编译安装内核。你可以指定 CONDIF\_DYNAMIC\_DEBUG 选项打开动态调试功能,然后通过 /sys/kernel/debug/dynamic\_debug/control 接口指定要打印哪些调试日志。下面分别列出代码级别和模块级别打印日志的操作方法:

让 kernel/power/suspend.c 源码第340行的 pr\_debug() 函数打印日志:

echo 'file suspend.c line 340 +p' > /sys/kernel/debug/dynamic_debug/control

让内核模块在加载过程中打开动态调试功能:

使用 modprobe 命令加在模块时加上 dyndbg='plmft' 选项。

让内核模块的动态调试功能在重启后依然有效:

编辑 /etc/modprobe.d/modname.conf 文件(没有这个文件就创建一个),添加 dyndbg='plmft' 选项。然而对于哪些通过 initramfs 加载的驱动来说,这个配置基本无效(LCTT:免费奉送点比较高级的知识哈。系统启动时,需要先让 initramfs 挂载一个虚拟的文件系统,然后再挂载启动盘上的真实文件系统。这个虚拟文件系统里面的文件是 initramfs 自己提供的,也就是说你在真实的文件系统下面配置了 /etc/modprobe.d/modname.conf 这个文件,initramfs 是压根不去理会的。站在内核驱动的角度看:如果内核驱动在 initramfs 过程中被加载到内核,这个驱动读取到的 /etc/modprobe.d/modname.conf 是 initramfs 提供的,而不是你编辑的那个。所以会有上述“写了配置文件后重启依然无效”的结论)。对于这种刁民,呃,刁驱动,我们需要修改 grub 配置文件,在 kernel 那一行添加 module.dyndbg='plmft' 参数,这样你的驱动就可以开机启动动态调试功能了。

想打印更详细的调试信息,可以使用 dynamic\_debug.verbose=1 选项。参考 Documentation/dynamic-debug-howto.txt 文件获取更多信息。

设置追踪点

到目前为止,我们介绍了多种动态和静态调试方法。静态调试选项和静态调试钩子函数(比如 DMA Debug API)需要的编译过程打开或关闭,导致了一个难过的事实:需要重新编译安装内核。而动态编译功能省去了“重新编译”这件麻烦事,但是也有不足的地方,就是调试代码引入了条件变量,用于判断是否打印调试信息。这种方法可以让你在程序运行时决定是否打印日志,但需要执行额外的判断过程。“追踪点”代码只会在程序运行过程中使用“追踪点”功能才会被触发。也就是说,“追踪点”代码与上述说的两种方法都不一样。当用不到它时,它不会运行(LCTT:动态调试的话,代码每次都需要查看下变量,然后判断是否需要打印日志;而“追踪点”貌似利用某种触发机制,不需要每次都去查看变量)。当你需要用到它时,程序的代码会把“追踪点”代码包含进去。它不会添加任何条件变量来增加系统的运行负担。

详细信息请参考布置追踪代码的小技巧

“追踪点”的原理

追踪点使用“跳跃标签”,这是一种使用分支跳转的编码修正(code modification)技术。

当关闭追踪点的时候,其伪代码看起来时这样的:

[ code1 ]
nop
back:
[ code2 ]
return;
tracepoint:
[ tracepoint code ]
jmp back;

当打开追踪点的时候,其伪代码看起来时这样的:(注意追踪点代码出现的位置)

[ code1 ]
jmp tracepoint
back:
[ code2 ]
return;
tracepoint:
[ tracepoint code ]
jmp back;

(LCTT:咳咳,解释解释上面两段伪代码吧,能看懂的大神请忽略这段注释。不使用追踪点时,代码运行过程是:code1->code2->return结束;使用追踪点时,代码运行过程是:code1->跳到tracepoint code执行调试代码->跳回code2->return结束。两段代码的唯一区别就是第二行,前者为 nop(不做任何操作),后者为 jmp tracepoint (跳到调试代码)。)

Linux 电源管理子系统的测试

使用静态调试、动态调试和追踪调试技术,我们来跑一下磁盘的电源管理测试。当系统被挂起时,内核会为磁盘创建一个休眠镜像,使磁盘进入休眠模式,当系统重新被唤醒时,内核又利用这个休眠镜像重新唤醒磁盘。

设置挂起设备与唤醒设备需要的时间:

echo 1 > /sys/power/pm_print_times

以 reboot 模式挂起磁盘:

echo reboot > /sys/power/disk
echo disk > /sys/power/state

以 shutdown 模式挂起磁盘 —— 与 reboot 模式一样,只是重新唤醒磁盘的话还需要电源提供。

echo shutdown > /sys/power/disk
echo disk > /sys/power/state

以 platform 模式挂起磁盘 —— 能测试更多内容,比如 BIOS 挂起和唤醒,会涉及到 ACPI 功能。我们推荐你使用这种方式,把 BIOS 也拉下水陪你玩挂起和唤醒游戏。

echo platform > /sys/power/disk
echo disk > /sys/power/state

via:http://www.linuxjournal.com/content/linux-kernel-testing-and-debugging?page=0,3

译者:bazz2 校对:校对者ID

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Evolve OS的开发者Ikey Doherty,制作了这款叫做Budgie Desktop的新桌面环境并且发布了它的新版本。

Evolve OS还没有发布,但开发者正积极地进行关于它的工作。系统中并没有采用任何现有的桌面环境,他们决定最好还是制作一个自己的。这个桌面基于GNOME并用了不少GNOME的包,但它看起来却截然不同。事实上,它使用了与MATE和Cinnamon桌面相同的模式,尽管Budgie似乎更有现代感更优美一些。

有趣的是,桌面这个关键的技术部分却先于其将要服务的操作系统发布了,但是对此感兴趣的用户完全不必惊讶。由此也出现了可用于Ubuntu 14.04 LTS 和Ubuntu 14.10的PPA,但这不是官方的。Arch Linux用户也将还会在AUR库中发现新的桌面环境。

“从V4版本以来,几乎所有的改变都与面板有关。它已被使用Vala语言重写,这降低了维护开销也大大降低了新贡献者进入的门槛。所以,如果你使用OBS的话,当你(希望是)今天在OBS上获取到更新,或者对Evolve OS用户,你已经安装了更新,你将只能感觉到很小的视觉差异。我的想法是不去改变外观,而是重写代码来使它更好些。”

“将它重写成Vala语言的程序付出了很多努力,但马上就会见到成效。将来桌面整个都将会用Vala重写,成为‘第二次写’——第二次我们会做的更好”Ikey Doherty在发布公告中这样说。

虽然这个桌面环境看起来已经很好了,但从版本号码可以看出,还是有很多的提升空间。开发者承诺,下一个版本6.x系列,将允许用户使用任何libpeas支持的语言编写插件,其中语言包括C,Vala,JavaScript和Python。

用户还会注意到,Budgie桌面的一些主要元素仍然保持原样,像菜单的位置以及图标的大小。将来,有可能可以去改变它们,但现在,用户需要关心的是哪些是可用的。

即使在这个初期阶段,Budgie桌面5.1看起来也要比那些可以在其他操作系统上找到的很多可选的桌面要好。

立即下载支持Ubuntu和Arch Linux的源代码包


via: http://news.softpedia.com/news/Budgie-Desktop-5-1-Is-a-Superb-New-Desktop-Environment-For-Conservative-Users-451477.shtml

原文作者:Silviu Stahie

译者:linuhap 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

当你系统还在运行某些程序的时候,无法关闭计算机,但是你又不能让计算机跑一整夜!可能你会发现你曾面临相似的处境:你需要在Ubuntu或者其它Linux系统下设定计算机自动关机。

在这篇文章中,我们就来看看如何使用GUI或者在CLI下设定你的Ubuntu关机.

使用EasyShutdown设定你的Ubuntu关机

EasyShutdown是一个轻量级的应用程序,它提供给你简洁的GUI,你可以很容易就能设定你的Ubuntu关机。你可以在EasyShutdown的launchpad页面下载.deb文件。只要双击它,就可以安装了。默认情况下,它会打开Ubuntu Software Center

安装完成,从Unity Dash启动它。界面非常简单,你只需要提供你想关机的时间就可以了。举个例子:如果你想在03:30 AM关机,像下图那样操作:

请注意:EasyShutdown并没有后台程序或者系统托盘,所以,你必须让它一直运行,否则将不能正常工作。但EasyShutdown的优点是:它会在你安排关机时间的前一分钟通知你,那样你就可以选择停止它。

使用命令行设定Ubuntu关机

使用命令行选项来安排Ubuntu关机同样很简单。你要做的就是使用“shutdown”命令。举个例子:想在03:30 AM关机,你可以使用下面的命令:

 sudo shutdown -h 03:30

注意,你必须一直运行这个命令。所以要么保持这个终端,要么在后台运行。

我希望这些快速技巧可以帮助您学会如何设定Ubuntu或者其它Linux系统自动关机,比如Linux Mint。如有问题或者建议欢迎您随时提出。


via: http://itsfoss.com/schedule-shutdown-ubuntu/

作者:Abhishek 译者:su-kaiyao 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

badblocks是linux及其类似的操作系统中,扫描检查硬盘和外部设备损坏扇区的命令工具。损坏的扇区或者损坏的区块是硬盘中因为永久损坏或者是操作系统不能读取的空间。

Badblocks命令可以探测硬盘中所有损坏的扇区或者区块并将结果保存在一个文本文档中,这样,我们就可以使用e2fsck命令来配置操作系统不在这些损坏的扇区中存储数据。

步骤:1 使用fdisk命令识别硬盘信息

# sudo fdisk -l 

步骤:2 扫描硬盘的损坏扇区或区块

# sudo badblocks -v /dev/sdb > /tmp/bad-blocks.txt

只需将“/dev/sdb”替换为自己机器的硬盘/分区。执行完成上述命令后,一个名为“bad-blocks”文本文档将会在/tmp下创建,它将包含所有的损坏区块。

例如:

步骤:3 提示 操作系统不要使用损坏区块存储

扫描完成后,如果损坏区块被发现了,然后通过e2fsck命令使用“bad-blocks.txt”,强迫操作系统不使用这些损坏的区块存储数据。

# sudo e2fsck -l /tmp/bad-blocks.txt  /dev/sdb

注意:在运行e2fsck命令前,请保证设备没有被挂载。

关于badblocks和e2fsck命令的更多帮助,请参考下列man页面

# man badblocks
# man e2fsck  

via: http://www.linuxtechi.com/check-hard-drive-for-bad-sector-linux/

作者:Pradeep Kumar 译者:Vic\_\_\_ 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Android (x86)项目致力于移植Android系统到X86处理器上,使用户可以更容易的在任何电脑上安装Android。他们通过使用android源码,增加补丁来使Android能够在X86处理器,笔记本电脑和平板电脑下工作。

在Linux安装Android 4.4 KitKat

前一段时间,项目组发布了最新的“Android KitKat 4.4 RC2”,下面,我将说明如何在VirtualBox上安装,不过有一个小问题,安装完成Android后鼠标指针不工作了,我猜,如果你根据本教程将它安装成主系统,这个鼠标应该可以工作,否则我们只能使用键盘了。

第一步: 在linux上安装VirtualBox

1. 大多数的Linux发行版中,官方源都有VirtualBox,例如在Ubuntu中安装

$ sudo apt-get install virtualbox

其他的Linux发行版,像RHEL, CentOS and Fedora,请参考下面文章来安装VirtualBox

第二步: 下载并在VirtualBox中安装Android 4.4 kitkat

2. 这步挺简单的,只是需要去androud Sourceforge.net项目下载 Android 4.4 x86 Kit Kat文件

3. 要想安装Android 4.4 kitkat,首先,你需要启动刚刚下载.iso文件,打开 VirtualBox,创建一个新的虚拟机,然后按照下面图片设置:

创建新的虚拟机

4. 接下来,它会询问你新设备的内存大小,Android 4.4 kikat需要1G内存才能完美运行,但是由于我的电脑只有1G内存,我只能选择512MB。

设置内存

5. 选择“现在创建虚拟硬盘”(“Create a virtual hard drive now”)来创建一个新的硬盘。

创建虚拟硬盘

6. 它现在会询问你新虚拟硬盘的类型,选择VDI

选择硬盘驱动类型

选择存储方式

7. 现在设置虚拟硬盘大小,你可以按照你的所需来设置任何大小,但是除了将来安装Apps所用的空间,至少需要4G来保证系统正确安装。

设置虚拟硬盘大小

8. 现在你的新虚拟设备创建好了,可以启动下载的.iso文件了,从左边的列表选择创建的虚拟机,点击设置 -> 存储 ,如下图,选择android 4.4 kitkat RC2的镜像文件。

选择Android KitKat ISO

9. 点击OK, 打开机器,启动.iso镜像, 选择 “安装” 开始在虚拟机上安装系统.

选择安装Android Kit Kat

10. 请选择一个分区来安装Android-x86

选择 Partition Drive

11. 如下图,你可以看见cfdisk界面,cfdisk是一个分区工具,我们将要使用它来创建一个新的硬盘分区,用来安装Android 4.4,现在,点击 “New

创建新分区

12. 选择“Primary”作为分区类型

选择主分区

13. 接下来,设置分区大小

设置分区大小

14. 现在我们必须给硬盘创建新的引导使其能够写入新的分区表,点击“Bootable”给引导标记新的分区,你不会注意到有任何变化,但是引导标记将会自己给选中分区。

制作分区引导

15. 完成之后,点击“Write”对硬盘写入新的分区。

应用新分区

16. 它会询问你是否确认,输入“yes”并点击Enter

确认分区改变

17. 现在我们的新硬盘已经创建,点击 Quit 你就可以看来类似下图的显示,选中刚刚创建的用来安装Android 的分区,点击Enter

选择分区来安装Android

18. 选择“ext3”作为硬盘文件系统并格式化

选择Ext3分区类型

格式化分区

19. 它将会询问你是否需要安装GRUB启动器,当然选择Yes,如果不这样,你将不能启动新系统,所以选择Yes并点击Enter

安装启动加载器 GRUB

20. 最后,它会问你是否设置/system分区能写入,选择yes,它会在安装完系统后帮助你减少很多麻烦。

使分区能写入

21. 安装将会开始它的任务,安装器结束工作后,选择重启,在我做测试的时候,“Run-Android x86”不起作用,所以你不得不重启。

Android Kit kat 安装完成

22. 我们已经完成安装Android 4.4 KitKat RC2,问题是VirtualBox将会继续加载.iso镜像文件而不是从虚拟硬盘驱动启动,所以为了修正这个问题,选择设置 -> 存储 ->移除iso文件

移除Android Kit Kat 镜像

23. 你可以启动你的虚拟设备,运行你的Android系统了

启动Android Kit Kat 系统

Android标志界面

24. 使用Android之前,你需要完成一个向导来进行配置。你会看见如下屏幕,现在的问题是,鼠标不能在android 4.4 kitkat工作,这意味着我们需要展示我们高超的键盘试用技巧了。首先,选择语言,你需要使用键盘键和键,进行到下一步,敲击键移动光标,选择Enter

Android 欢迎界面

选择WiFi网络

创建Android Google账户

注册Google账户

设置日期和时间

输入你的信息

Android 4.4 Kit Kat 主界面

如果你没有智能手机而又想轻松使用Play Store apps,那么安装Android x86是个不错的选择。你曾经尝试过安装android x86吗?结果怎样呢?你有没有想过android可以成为一个目标指向桌面功能的真正操作系统

作者:Hanny Helal,自2010年起,成为Linux和自由软件用户,致力于多个自由软件项目。


via: http://www.tecmint.com/install-android-kitkat-in-linux/

译者:Vic\_\_\_ 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出